附上源码: - (defun c:bhbz()
- (command "ucs" "")
- (setq E(nentsel"\n点选原板厚标注文字以提取字高等"))
- (if (=(cdr(assoc 0 (SETQ TS(entget(car E)))))"TEXT")
- (progn
- (SETQ TSTY(CDR(ASSOC 7 TS))
- la(CDR(ASSOC 8 TS))
- TH(CDR(ASSOC 40 TS))
- tw(CDR(ASSOC 41 TS))
- tcol(CDR(ASSOC 62 TS))
- )
- (if (not tcol)
- (setq tcol (cdr(assoc 62(entget(tblobjname "layer" la)))))
- )
- )
- (progn
- (princ"\n未选中文字...")
- (c:bhbz)
- )
- )
- (if *BH* (setq BH (getint (strcat "\n请输入板厚<" (rtos *BH* 2 0)">")))
- (setq BH (getint "\n请输入板厚" ))
- )
- (if (not BH)(setq BH *BH*)(setq *BH* BH ))
- (initget"H D Q W")
- (SETQ KEY(GETKWORD"\n输入标注样式:[前缀1(H)/前缀2(D)/带圈前缀1(Q)/带圈前缀2(W)]"))
- (while (SETQ pt(GETpoint"\n请确定文字放置点"))
- (cond
- ((= key "H")
- (SETQ STR (strcat "H="(itoa BH)))
- (EMAKET STR TSTY la PT TH tcol)
- )
- ((= key "D")
- (SETQ STR (strcat "d="(itoa BH)))
- (EMAKET STR TSTY la PT TH tcol)
- )
- ((= key "Q")
- (SETQ STR (strcat "H="(itoa BH)))
- (EMAKET STR TSTY la PT TH tcol)
- (setq p10 (cdr(assoc 10 (entget(entlast))))
- p11(cdr(assoc 11 (entget(entlast))))
- )
- (EMAKEEL p11 p10 la tcol BH)
- )
- ((= key "W")
- (SETQ STR (strcat "d="(itoa BH)))
- (EMAKET STR TSTY la PT TH tcol)
- (setq p10 (cdr(assoc 10 (entget(entlast))))
- p11(cdr(assoc 11 (entget(entlast))))
- )
- (EMAKEEL p11 p10 la tcol BH)
- )
- )
- )
- (princ)
- )
- (DEFUN EMAKET(STR TSTY la PT TH tcol)
- (entmake (list '(0 . "TEXT") (cons 1 STR) (cons 7 TSTY)
- (cons 8 la)(cons 10 '(0.0 0.0 0.0))(cons 11 PT)
- (cons 40 TH)(cons 41 Tw)(cons 62 tcol)
- (cons 72 1)(cons 73 2))
- )
- )
- (DEFUN EMAKEEL(p11 p10 la tcol BH)
- (entmake (list '(0 . "ELLIPSE") '(100 . "AcDbEntity")'(100 . "AcDbEllipse")(cons 10 p11)
- (cons 11 (list (* 1.4(- (car p10)(car p11)))0.0 0.0))(cons 8 la)(cons 62 tcol)
- (cons 40 (/ 1 (* 0.55 (strlen (itoa BH)))))'(42 . 6.28319)
-
- )
- )
- )
-
-
-
-
-
|