1

我试图用我卑微的英语技能很好地描述这个问题:
我在我的 dwg 文件中已经关闭了块,这些块由许多连接在一起的多段线组成,但它们不是一体式(集成),我想要的只是一个 lisp在这个块上绘制一个多边形并创建一个单体块。有什么办法吗?谢谢

4

1 回答 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 回答