实用的LSP源代码,值得参考
liminnet
liminnet Lv.5
2007年08月09日 10:21:24
只看楼主

(defun c:cd (/) (setvar "cmdecho" 1) (setq a1 (getpoint "第一点")) (princ "") (setq a2 (getpoint "第二点")) (princ "") (setq ang (* (/ (angle a1 a2) pi) 180)) (setq dist (rtos (/ (distance a1 a2) 1000) 2 1))

(defun c:cd (/)
(setvar "cmdecho" 1)
(setq a1 (getpoint "第一点"))
(princ "
")
(setq a2 (getpoint "第二点"))
(princ "
")
(setq ang (* (/ (angle a1 a2) pi) 180))
(setq dist (rtos (/ (distance a1 a2) 1000) 2 1))
(setq dist1 (strcat "L=" dist "m"))
(setq a3 (getpoint "文字插入点"))
(command "text" a3 "350" ang dist1)
)


我想在这段代码里点功能就是提示我;管径Dn=多少,i=多少,然后用人工输入数据,出
来的效果是这样子:管径Dn=300 L=9.8m i=0.008,大哥大姐帮帮忙啊
免费打赏
liminnet
2007年08月21日 08:37:57
72楼
那上面的我是漏掉那了,给我指出来呀,要不下次我又会犯同样的错误,那就麻烦啦
回复
zj2000
2007年08月21日 09:57:06
73楼
z咋个用法啊.这个源代码.回加载程序.这个好像,还不会用哪.
回复
liminnet
2007年08月21日 15:17:11
74楼
浪大哥,我很好多块定义的插入点都不是在在形心(包括图框),比如说,两个圆(块),定义的插入点不在圆心,圆心距离1000,半径都为100。如要将两个圆(块)放大一倍而两个圆心距离不变(仍为1000),如何用一个命令完成呢?
当然用scale(或refedit) 一个一个去改也可以做到,可是量一多就麻烦了,特别是大样图中每个大样图的索引图号是块,有时要根据比例改大小,但要保证每个原位置都不动和又要改大小,用SC改量太大了(不像文字可以用scaletext改高度和位置又不会变。浪大哥,我想你用简单的几句lsp帮我写个只要框选中块,不论它原本的定义的插入点在那,都以形心或重心为中心点,进行放大或缩小,而不用一个一个用SC去改,或是选中几个用SC去改而位置全部跑位啦。麻烦你啦,浪大哥
回复
liminnet
2007年08月21日 15:37:43
75楼
浪大哥,但提示放大或缩小时我想出现这种提示:指定比例因子或 [参照(R)] <1.00000>:,麻烦你啦,浪大哥
回复
liminnet
2007年08月22日 12:33:14
76楼
期待中..............浪大哥
回复
sailorcwx
2007年08月22日 22:48:41
77楼
不是不想帮你,而是难度太大了
对于圆来说,重心,形心,圆心重合还好处理,但是对于多边形,PLine线,计算形心重心难度很大,根本没有公式可以套用。
回复
liminnet
2007年08月23日 08:44:55
78楼
还是谢谢你,浪大哥,看来要多麻烦操作多几次啦
回复
liminnet
2007年08月23日 20:34:47
79楼
浪大哥,今天画图发现了一个以前要解决的问题,就是从别人拷来的图对于图中已有宽度的多义线,由于别人出图的图纸大小与我出图纸大小不同,我的大多数是A3,所以原图设的宽度就不符合我的要出图的宽度了,所以打出图线的粗度也不符合我的要求了(用PE太麻烦啦,因为我只要选有宽度的多段线)。
浪大哥,我很久以前就有一个这样的想法了,就是有一种命令是这样的,执行后提示请选择已有宽度的多段线或块中有宽度多段线的块(当然是用框选了,框选后自动找到了符合上面提示的对象,)输入宽值,搞定,就这么简单,这个难不难啊,浪大哥,实不实现的了啊
回复
liminnet
2007年08月23日 20:46:42
80楼
对了浪大哥,有些多段线每段都是不同宽度,这种情况下的也要选在里面,麻烦你了,浪大哥
回复
liminnet
2007年08月23日 20:52:02
81楼
LWPOLYLINE, POLYLINE, LINE,ARC,CIRCLE.这些有了宽度值的都是要选在里面的,浪大哥
回复

相关推荐

APP内打开