Lee Mac 发表于 2022-7-6 09:30:39

如果我理解正确,请尝试一下:
 
(defun c:addz ( / en in pt s1 s2 ) (vl-load-com)
   (if
       (and
         (princ "\nSelect Points: ")
         (setq s1 (ssget "_:L" '((0 . "POINT"))))
         (princ "\nSelect Polyline: ")
         (setq s2 (ssget "_+.:E:S" '((0 . "*POLYLINE"))))
         (setq s2 (ssname s2 0))
       )
       (repeat (setq in (sslength s1))
         (setq en (entget (ssname s1 (setq in (1- in))))
               pt (cdr (assoc 10 en))
         )
         (entmod
               (subst
                   (list 10 (car pt) (cadr pt) (distance pt (vlax-curve-getclosestpointto s2 pt)))
                   (cons 10 pt) en
               )
         )
       )
   )
   (princ)
)

exclaymation 发表于 2022-7-6 09:35:52

嗯,关于听起来像一个完全新手的可能性,我该如何使用这段代码?我对计算机辅助设计缺乏经验。

Lee Mac 发表于 2022-7-6 09:39:24

 
阅读一下这个,或者我的教程。
 
顺便说一句,上面的代码将使用从点到选定多段线的三维距离,我不确定您想要的是三维距离还是二维距离,或者实际上多段线是三维的。

exclaymation 发表于 2022-7-6 09:42:59

酷,我现在就去试试。

exclaymation 发表于 2022-7-6 09:47:42

我的天啊!!!这真是太有魅力了!!!!李,我永远欠你的债。它真的很好用。非常感谢,我真的很感激,这对我很有帮助。谢谢你。

CyberAngel 发表于 2022-7-6 09:49:42

没关系,没有刷新线程,错过了好东西。
页: 1 [2]
查看完整版本: 自动指定Z值