用mtext,不提;
下面是entmake-text的函数及dtext。
- ;制造 TEXT; input : 字型pt 高h 宽wid 角tan 对齐方式d72 d73
- ;d72=0 d73=0 "L" ;d72 1;d73=0 "C"
- ;d72=2;d73=0 "R" ;d72=3;d73=0 "A"
- ;d72=5;d73=0 "F" ;d72=0;d73=3 "T"
- ;d72=1;d73=3 "TC" ;d72=2;d73=3 "TR"
- ;d72=0;d73=2 "ML" ;d72=4;d73=0 "M"
- ;d72=1;d73=2 "MC" ;d72=2;d73=2 "MR"
- ;d72=0;d73=1 "BL" ;d72=1;d73=1 "BC"
- ;d72=2;d73=1 "BR"
- ;;;(#M_TXT PT "123" "DXFS" 300 0.7 0 4 0 "0" -1)
- (defun #m_txt (pt txt sty th wid tan d72 d73 lay color /)
- (if (and (= d72 0)(= d73 0))
- (setq en000 (list
- (cons 0 "TEXT")
- (cons 1 txt)
- (cons 7 sty)
- (cons 8 lay)
- (cons 10 pt)
- (cons 40 th)
- (cons 41 wid)
- (cons 50 tan)
- (cons 72 d72)
- (cons 73 d73) ) )
- (setq en000 (list
- (cons 0 "TEXT")
- (cons 1 txt)
- (cons 7 sty)
- (cons 8 lay)
- (cons 10 pt)
- (cons 11 pt)
- (cons 40 th)
- (cons 41 wid)
- (cons 50 tan)
- (cons 72 d72)
- (cons 73 d73) ) )
- )
- (IF (= STY "STANDARD")(setq en000 (append en000 (list (cons 51 0.261799)))))
- (if (/= -1 color) (setq en000 (append en000 (list (cons 62 color)))))
- (if (= nil (entmake en000)) (princ "\n制造 TEXT 实体失败.") )
- )
- ;制造 dTEXT; input : 字型pt 高h 宽wid 角tan 对齐方式d72 d73
- ;d72=0 d73=0 "L" ;d72 1;d73=0 "C"
- ;d72=2;d73=0 "R" ;d72=3;d73=0 "A"
- ;d72=5;d73=0 "F" ;d72=0;d73=3 "T"
- ;d72=1;d73=3 "TC" ;d72=2;d73=3 "TR"
- ;d72=0;d73=2 "ML" ;d72=4;d73=0 "M"
- ;d72=1;d73=2 "MC" ;d72=2;d73=2 "MR"
- ;d72=0;d73=1 "BL" ;d72=1;d73=1 "BC"
- ;d72=2;d73=1 "BR"
- ;;;(dtext PT nil '("123") "DXFS" (* 3 0bl) 0.7 0 0 0 "0" -1)
- (defun #m_dtxt(pt zcjj zcb sty th wid tan d72 d73 lay color / A IN P1)
- (if (not zcjj)(setq zcjj (* th 1.5)))
- (setq in 0 a(- tan a:pi2))
- (foreach x zcb
- (setq p1(polar pt a (* in zcjj))in (1+ in))
- (#m_txt p1 x sty th wid tan d72 d73 lay color)
- )
- )
|