 - ;; 集中标注选择(defun c:tt ()
- (CMDLAsc0)
- (defun xyp-SsgetWithLine (ename dist etype / p10 p11 dd rad r1 p1 p2 p4 p3 ptn lst)
- (setq p10 (vlax-curve-getstartPoint ename)
- p11 (vlax-curve-getEndPoint ename)
- dd (* dist xyp-sc)
- rad (angle p10 p11)
- r1 (* pi 0.5)
- p1 (polar p10 (- rad r1) dd)
- p2 (polar p11 (- rad r1) dd)
- p4 (polar p10 (+ rad r1) dd)
- p3 (polar p11 (+ rad r1) dd)
- ptn (list p1 p2 p3 p4)
- lst (list (cons 0 etype) (cons 8 (xyp-DXF 8 ename)))
- )
- (ssget "CP" ptn lst)
- )
- (if (and (setq s0 (car (entsel "\n选择引线样板: ")))
- (xyp-etype s0 "line")
- )
- (progn
- (redraw s0 3)
- (setq ss (ssget (list '(0 . "line") (cons 8 (xyp-DXF 8 s0))))
- j -1
- ss1 ss
- )
- (while (setq s1 (ssname ss (setq j (1+ j))))
- (if (setq ss2 (xyp-SsgetWithLine s1 300 "text"));距离根据实际需要调整
- (setq ss1 (SsUnion ss2 ss1))
- )
- )
- (if ss1
- (sssetfirst ss1 ss1)
- )
- )
- )
- (CMDLA1)
- )
|