本帖最后由 zhb236623 于 2011-6-10 16:01 编辑
选中闭合PLINE,不管闭合PLINE是顺时针还是逆时间方向,始终按顺时针方向画界址点。界址点的顺序可以自定义从哪点开始。利用http://bbs.mjtd.com/thread-85286-1-1.html
http://bbs.mjtd.com/thread-86881-1-1.html
[code="lisp]
;;复合线转为权属线,画界址点....
;;1.选pline,指定界址点起始点,其他按提示完成命令
(defun C:po(/ ss fd ang offsetObj plineObj)
(VL-LOAD-COM)
(if (setq ss (ssget ":s" '((0 . "*POLYLINE"))))
(progn
(setq plineObj (vlax-ename->vla-object (ssname ss 0)))
;(setq fd (vlax-curve-getFirstDeriv plineObj 0.5))
;(setq ang (atan (/ (cadr fd) (car fd))))
(setq offsetplineObj (car (vlax-safearray->list
(vlax-variant-value
(vla-OFFSET plineObj 0.0001)))))
(if (> (vlax-curve-getdistatparam
plineobj
(vlax-curve-getEndParam plineobj)
) ;_ 结束vlax-curve-getdistatparam
(