代码1
- (defun c:tt ()
- (vl-load-com)
- (setvar "cmdecho" 0)
- (setq os (getvar "osmode"))
- (setvar "osmode" 0)
- (setq ps (getvar "peditaccept"))
- (setvar "peditaccept" 1)
- (setq ss (ssget '((0 . "LINE"))))
- (command "pedit" "m" ss "" "j" "" "")
- (setq en1 (entlast))
- (if (> (rem (cdr (assoc 70 (entget en1))) 2) 0)
- (progn
- (command "_region" en1 "")
- (setq en2 (entlast))
- (setq obj2 (vlax-ename->vla-object en2))
- (setq area (vla-get-Area obj2))
- (setq ptc (vlax-safearray->list
- (vlax-variant-value (vla-get-centroid obj2))
- )
- )
- (setq radius (sqrt (/ area pi)))
- (command "_circle" ptc radius)
- (entdel en2)
- )
- (progn
- (setq obj1 (vlax-ename->vla-object en1))
- (setq pts (vlax-curve-getstartpoint obj1))
- (setq pte (vlax-curve-getendpoint obj1))
- (setq dis (vlax-curve-getdistAtPoint obj1 pte))
- (setq ptm (vlax-curve-getpointatdist obj1 (* dis 0.5)))
- (command "_arc" pts ptm pte)
- (entdel en1)
- )
- )
- (setvar "peditaccept" ps)
- (setvar "osmode" os)
- (princ)
- )
代码2
- (defun c:tt ()
- (vl-load-com)
- (setvar "cmdecho" 0)
- (setq os (getvar "osmode"))
- (setvar "osmode" 0)
- (setq ps (getvar "peditaccept"))
- (setvar "peditaccept" 1)
- (setq ss (ssget '((0 . "LINE"))))
- [color="red"] (setq s1 (entlast) ss2 (ssadd));;;;;;;;;;;[/color]
- (command "pedit" "m" ss "" "j" "" "")
- [color="red"] (while (setq s1 (entnext s1)) (ssadd s1 ss2));;;;;;;;[/color]
- (setq en1 (entlast))
- (if (> (rem (cdr (assoc 70 (entget en1))) 2) 0)
- (progn
- (command "_region" en1 "")
- (setq en2 (entlast))
- (setq obj2 (vlax-ename->vla-object en2))
- (setq area (vla-get-Area obj2))
- (setq ptc (vlax-safearray->list
- (vlax-variant-value (vla-get-centroid obj2))
- )
- )
- (setq radius (sqrt (/ area pi)))
- (command "_circle" ptc radius)
- (entdel en2)
- )
- (progn
- (setq obj1 (vlax-ename->vla-object en1))
- (setq pts (vlax-curve-getstartpoint obj1))
- (setq pte (vlax-curve-getendpoint obj1))
- (setq dis (vlax-curve-getdistAtPoint obj1 pte))
- (setq ptm (vlax-curve-getpointatdist obj1 (* dis 0.5)))
- (command "_arc" pts ptm pte)
- (entdel en1)
- )
- )
- (setvar "peditaccept" ps)
- (setvar "osmode" os)
- (princ)
- )
测试图纸:
za2.dwg |