你好
我试图修改这个lisp,只画垂直(或水平)线
- (defun c:foo (/ selection pline sscount objpline inspoint intpoint entity)
- (if (not (setq selection (ssget "_I" '((0 . "CIRCLE,INSERT")))))
- (progn
- (prompt "\nSelect circles: ")
- (setq selection (ssget '((0 . "CIRCLE,INSERT"))))
- )
- )
- (setq pline (entsel "\nSelect polyline: "))
- (if (and
- pline
- (setq objpline (vlax-ename->vla-object (car pline)))
- )
- (repeat (setq sscount (sslength selection))
- (setq
- entity (entget (ssname selection (setq sscount (1- sscount))))
- inspoint (cdr (assoc 10 entity)); both center of Circle and insertion pt of Block
- intpoint (vlax-curve-getclosestpointto objpline inspoint)
- )
- (if intpoint
- (command "_.line" "non" inspoint "non" intpoint "")
- )
- )
- )
- )
我试图修改这行
intpoint(vlax曲线GetClosestPoint到objpline inspoint)
到
intpoint(vlax curve GetClosestPointTopProjection objpline inspoint’(0 1 0)))
但我有一个错误,我认为它忽略了块的Z坐标
你能帮助我吗?
提前谢谢你 |