我不是舒尔,但我可能会尝试这个Lisp程序
- (defun c:dimobj (/ ent Minpt Maxpt cRds) (if (setq ent (car (entsel "\nSelect Something to Dimension..."))) (progn (vla-getBoundingBox (vlax-ename->vla-object ent) 'Minpt 'Maxpt) (setq cRds (mapcar 'vlax-safearray->list (list Minpt Maxpt))) [color=magenta] (command "_dimlinear" [/color] [color=magenta] (polar (cadr cRds) pi (- (caadr cRds) (caar cRds))) [/color] [color=magenta] (cadr cRds)[/color] [color=magenta] (polar (cadr cRds) (* 0.5 pi) (* 2 (getvar "DIMTXT"))))[/color] [color=magenta] (command "_dimlinear"[/color] [color=magenta] (cadr cRds)[/color] [color=magenta] (polar (cadr cRds) (* 1.5 pi) (- (cadadr cRds) (cadar cRds)))[/color] [color=magenta] (polar (cadr cRds) 0.0 (* 2 (getvar "DIMTXT")))))[/color] (princ "\n<!> No Object Selected <!>")) (princ))
http://www.cadtutor.net/forum/showthread.php?27634-自动标注多段线/第8页
MSasu岗位 |