万事如意 发表于 2024-1-17 08:11:09

这个代码怎么在CAD2024上只能用一次,用第二次CAD就卡死了,的重新启动CAD才好用。

你好大神这个代码怎么在CAD2024上只能用一次,用第二次CAD就卡死了,的重新启动CAD才好用。这个插件功能多段线绘制杆路,我是做通信的   工作遇到特别多的画电杆图如图   现在画杆路是用宽度50多段线画一条线过去代表光缆然后在多段线每个节点粘贴一个圆代表电杆 最后将圆里的多段线剪切掉   现在我想实现画一条多段线过去每个节点就自动画好一个圆圆里是空白的求大神指教谢谢!
(defun c:tt ()
(defun _makeblk ()
    (if      (not (tblsearch "block" "xd_circle_wipeout_blk"))
      (progn
      (xdrx_circle_make '(0 0 0) 1.0)
      (xdrx_block_make
          "xd_circle_wipeout_blk"
          (entlast)
          '(0 0 0)
          t
      )
      )
    )
)

(if (not #xd_var_circle_radius)
    (setq #xd_var_circle_radius 10)
)
(if (setq
      val (getreal
            (xdrx_prompt "\n输入半径<" #xd_var_circle_radius ">:" t)
            )
      )
    (setq #xd_var_circle_radius val)
)
(if (and (xdrx_initssget "\n选取要处理的多段线<退出>:")
         (setq ss (xdrx_ssget '((0 . "*POLYLINE"))))
      )
    (progn
      (_makeblk)
      (vl-cmdf "wipeout" "f" "off")
      (mapcar '(lambda (x)
               (mapcar '(lambda (y)
                            (xdrx_insert_make
                              "xd_circle_wipeout_blk"
                              y
                              #xd_var_circle_radius
                              0.0
                            )
                        )
                         (xdrx_getpropertyvalue x "vertices")
               )
               )
            (xdrx_pickset->ents ss)
      )
      (xdrx_insert_appendWipeout (entlast))
    )
)
(princ)
)

jun470 发表于 2024-3-10 15:01:52

少给了很多自定义函数,
xdrx_circle_make
xdrx_block_make
xdrx_prompt
xdrx_initssget
xdrx_ssget
xdrx_insert_make
xdrx_getpropertyvalue
xdrx_insert_appendWipeout
想复现都复现不了

万事如意 发表于 2024-3-11 09:11:55

jun470 发表于 2024-3-10 15:01
少给了很多自定义函数,
xdrx_circle_make
xdrx_block_make


你好大神你写的代码加到哪个位置

jun470 发表于 2024-3-12 16:26:39

万事如意 发表于 2024-3-11 09:11
你好大神你写的代码加到哪个位置

我不是大神,我比你还晚来论坛的,是看到你这些代码里面,有自定义的函数没有,整理出来这些。你看你的源码哪里的,去那边找
页: [1]
查看完整版本: 这个代码怎么在CAD2024上只能用一次,用第二次CAD就卡死了,的重新启动CAD才好用。