fathihvac 发表于 2022-7-5 22:17:17

在d之后连接线的两端

删除插入的块时,是否可以自动连接线的两端

hanhphuc 发表于 2022-7-5 22:35:22

插入一个覆盖多边形块,它不会打断线,但在视觉上“断开”
当您移除块时,线路自动“连接”
0.02年款

fathihvac 发表于 2022-7-5 22:47:56

谢谢
我是说在使用AutoBlockBreakV1-6之后。Lee Mac先生的lsp有时需要删除插入的块(例如管件),并且应自动连接折线的两端。

Lee Mac 发表于 2022-7-5 23:01:43

 
需要反应器和扩展数据的组合,以便将块引用与其所在的断开对象链接,并在删除块后触发要重建的对象。虽然这可能是可行的,但实施起来会非常困难,而且肯定不是我自愿时间可以做的事情。
 
我建议使用舱口或抹布。

troggarf 发表于 2022-7-5 23:11:20

这些过去很管用,但在2015年,comand-s的事情把它们搞砸了,我一直忙于修补它们。
(defun c:heal(/ block ll ur p1 p2)
   (vl-load-com)
   (setq block (car (entsel "\nSelect Block:")))
   (vla-getboundingbox (vlax-ename->vla-object block) 'll 'ur)
   (command "_.erase" block "")
   (command
         "_.pedit"
         "_m"
         (ssget "C"
                  (setq p1 (vlax-safearray->list ll))
                  (setq p2 (vlax-safearray->list ur)))
         ""
         "_join" "_Joint" "_Both"
         (distance p1 p2)
         "")
   (princ)
   )
 
(defun c:HEAL2 (/ block ll ur objecttojoin)
   (vl-load-com)
   (setq block (car (entsel "\nSelect Block:")))
   (vla-getboundingbox (vlax-ename->vla-object block) 'll 'ur)
   (command "_.erase" block "")
   (setq objecttojoin
                (ssget "C"
                     (vlax-safearray->list ll)
                     (vlax-safearray->list ur)))
   (command
         "_.join"
         (ssname objecttojoin 0)
         (ssname objecttojoin 1)
         "")
   )
http://autocadtips.wordpress.com/?s=heal
http://autocadtips.wordpress.com/2012/06/29/autolisp-heal-erase-block-heal-line/
 
~格雷格

fathihvac 发表于 2022-7-5 23:19:45

非常感谢你
troggarf它适用于直线,而不是多段线。我希望也有圆弧样条。
页: [1]
查看完整版本: 在d之后连接线的两端