lkrkck 发表于 2022-7-5 16:02:30

垂直于李移动点

你好
 
我有这个代码来移动一些AcadPoints t垂直于一条2DPolyline。
问题是:我有一个Z值的点,当我运行代码时,这个点垂直于直线,但Z=0。
 
(defun c:SnapToObj ( / en obj pts_ss ss_len c pten ptobj pted pt pt2)
(setq en (car (entsel "\nSelect Object: ")))
(setq obj (vlax-ename->vla-object en))
(princ "\nSelect points: ")
(setq pts_ss (ssget (list (cons 0 "POINT"))))
(setq ss_len (sslength pts_ss))
(setq c 0)
(while (< c ss_len)
(setq pten (ssname pts_ss c))
(setq ptobj (vlax-ename->vla-object pten))
(setq pted (entget pten))
(setq pt (cdr (assoc 10 pted)))
(setq pt2 (vlax-curve-getClosestPointTo obj pt))
(vla-move ptobj (vlax-3d-point pt) (vlax-3d-point pt2))
(setq c (+ c 1))
)
(princ)
)

ronjonp 发表于 2022-7-5 17:54:18

问题在这里解决了。
页: [1]
查看完整版本: 垂直于李移动点