pparc
发表于 2013-7-19 09:02:24
这个真不错。。。 看一看
jinwei66
发表于 2013-7-19 10:30:32
好东西,下载试用一下
fl202
发表于 2013-7-23 14:47:03
本帖最后由 fl202 于 2013-7-23 16:22 编辑
(repeat (- (sslength liness) 1)
(setq ename1 (ssname liness index1))
(setq entdata1 (entget ename1))
(setq pt1 (cdr (assoc 10 entdata1)))
(setq pt2 (cdr (assoc 11 entdata1)))
(setq index2 (1+ index1))
(while (< index2 (sslength liness))
(setq ename2 (ssname liness index2))
(setq index2 (1+ index2))
(setq entdata2 (entget ename2))
(setq pt3 (cdr (assoc 10 entdata2)))
(setq pt4 (cdr (assoc 11 entdata2)))
(if (inters pt1 pt2 pt3 pt4)
(setq arcss (ssadd (pipefillet ename1 ename2 r) arcss))
)
)
(setq index1 (1+ index1))
)
中的
(while (< index2 (sslength liness))
(setq ename2 (ssname liness index2))
(setq index2 (1+ index2))
(setq entdata2 (entget ename2))
(setq pt3 (cdr (assoc 10 entdata2)))
(setq pt4 (cdr (assoc 11 entdata2)))
(if (inters pt1 pt2 pt3 pt4)
(setq arcss (ssadd (pipefillet ename1 ename2 r) arcss))
)
)
这段while 没用?第一条线干嘛要和后面所有的线都比较,如果有交点就f,实际管道绘制很少有这种情况,应该去掉while。前面有人说;(setq inter (inters pt11 pt12 pt21 pt22));改为;(setq inter (inters pt11 pt12 pt21 pt22 nil));则两条直线不相交程序也可运行。是不对的,因为框选ssget,直线间的相互顺序并非是真实的流向顺序,那样出来的结果可能是错误的结果。
另:我还想加对话框,把A系列、B系列的管子、图层等加进去。
哈哈哈,我太高兴了!
((= col 1) ;若对象线颜色是1号色,改为14号色
(setq color0 14)
)
((= col 2) ;若对象线颜色是2号色,改为54号色
(setq color0 54)
)
((= col 3) ;若对象线颜色是3号色,改为96号色
(setq color0 96)
)
这是个人的作图习惯吗?没见过啊。
phoevana
发表于 2013-7-30 07:58:02
好东西,看一下
lqss
发表于 2013-7-30 21:04:36
看看,先下了。
tjtgp
发表于 2013-8-4 14:39:12
是源码吗?
syt9067
发表于 2013-8-8 12:14:22
好长时间没来明经了,还有这种好东西。有没有那位大侠开发了简单的二维管道三线画法??
unicon
发表于 2013-8-13 16:57:55
支持楼主,谢谢分享。
l18c19
发表于 2013-8-21 21:16:29
使用中发现两个问题:
1、画单线结束,不能按Esc键,要按回车确认键,否则命令失效!
2、中心线最好能变成红色点划线(现是随层颜色,且是细实线)就好啦!
tgl121
发表于 2013-9-4 20:53:45
好贴,好东西