我试图用我卑微的英语技能很好地描述这个问题:
我在我的 dwg 文件中已经关闭了块,这些块由许多连接在一起的多段线组成,但它们不是一体式(集成),我想要的只是一个 lisp在这个块上绘制一个多边形并创建一个单体块。有什么办法吗?谢谢
问问题
1394 次
1 回答
3
假如说:
- 当你说“加入”时,你的意思是他们的结局是接触的,
- 当您说“单体”时,实际上是指 AutoCAD 意义上的“加入”,
然后尝试以下操作:
(defun convert_block_to_polyline (block / old_entlast new_entlast curr polylines_set)
(setq old_entlast (entlast))
(command "explode" block)
(setq new_entlast (entlast))
(setq
curr (entnext old_entlast)
polylines_set (ssadd)
)
(while (entnext curr)
(ssadd curr polylines_set)
(setq curr (entnext curr))
)
(command "join" (entlast) polylines_set "")
(princ)
)
该函数假定:
- 您不想保留原始块,如果您这样做了,那么这是一个简单的问题,即在分解之前创建一个副本,然后将其粘贴到同一个位置。
- 该块仅由可以包含在连接命令中的对象(线、多段线等)组成。
于 2011-09-13T13:01:53.300 回答