制作ATTDEF属性块
(setq blc (getint "\n请输入比例尺1:"))(setvar 'userr1 blc);设置比例尺
;(setq zg (* 0.002 blc));字高
(setq scale (* 0.001 blc));缩放比例
;16、将选择集做成属性块(选择集中单行文本作为属性)
(defun emkattblk (inspt scale height height2 height3 height4 / ent i pt pzx0)
(entmake (list '(0 . "block") (cons 2 "gc1200") '(70 . 2) (cons 10 inspt)))
(entmake (list '(0 . "circle") '(8 . "0")(cons 10 inspt) '(40 .1)))
(setq ss (ssadd (entlast)))
(repeat (setq i (sslength ss))
(setq ent (entget (ssname ss (setq i (1- i)))))
(if (= (cdr (assoc 0 ent)) "circle")
;(entmake (list '(0 . "ATTDEF") (assoc 10 ent) (assoc 40 ent) (assoc 1 ent) (cons 3 (cdr (assoc 1 ent))) (cons 2 (cdr (assoc 1 ent))) '(70 . 0)))
;(entmake (cdr ent))
(progn
;;;插入属性
(entmake (list
'(0 . "ATTdef")
'(100 . "AcDbEntity")
'(100 . "AcDbText")
(cons 10 (setq pt (polar inspt 0 (* 1.2 scale))))
(cons 40 (* 2.0 scale))
(cons 50 0)
(cons 41 0.8)
(cons 51 0)
(cons 1 height)
(cons 7 "HZ")
(cons 72 2)
(cons 11 pt)
'(100 . "AcDbAttributeDefinition")
(cons 3 "height")
(cons 2 height)
(cons 700)
(cons 74 1)
)
)
;;;;;;;;
(entmake (list
'(0 . "ATTdef")
'(100 . "AcDbEntity")
'(100 . "AcDbText")
(cons 62 2)
(cons 10 pt)
(cons 40 (* 2.0 scale))
(cons 50 0)
(cons 41 0.8)
(cons 51 0)
(cons 1 height2)
(cons 7 "HZ")
(cons 72 0)
(cons 11 pt)
'(100 . "AcDbAttributeDefinition")
(cons 3 "height2")
(cons 2 height2)
(cons 700)
(cons 74 3)
))
;;;;;;;;;;;;
(entmake (list
'(0 . "ATTdef")
'(100 . "AcDbEntity")
'(100 . "AcDbText")
(cons 62 3)
(cons 10 pt)
(cons 40 (* 2.0 scale))
(cons 50 0)
(cons 41 0.8)
(cons 51 0)
(cons 1 height3)
(cons 7 "HZ")
(cons 72 0)
(cons 73 2)
(cons 11 pt)
'(100 . "AcDbAttributeDefinition")
(cons 3 "height3")
(cons 2 height3)
(cons 700)
(cons 74 1)
))
;;;;;;
(entmake (list
'(0 . "ATTdef")
'(100 . "AcDbEntity")
'(100 . "AcDbText")
(cons 62 3)
(cons 10 (setq pzx0 (polar pt (* 1.5 pi) (* 2 scale))))
(cons 40 (* 2.0 scale))
(cons 50 0)
(cons 41 0.8)
(cons 51 0)
(cons 1 height4)
(cons 7 "HZ")
(cons 72 0)
(cons 73 2)
(cons 11 pzx0)
'(100 . "AcDbAttributeDefinition")
(cons 3 "height4")
(cons 2 height4)
(cons 700)
(cons 74 3)
))
;;;结束标志
)
)
)
(entmake '((0 . "ENDBLK")))
(entmake (list '(0 . "INSERT") (cons 2 "gc1200") (cons 10 inspt) (cons 41 scale)(cons 42 scale)(cons 43 scale)))
(command "_.erase" ss "")
)
(setq inspt (getpoint ""))
(setq height "12345")
(setq height2 "hhhh")
(setq height3 "ggggfd")
(setq height4 "ghggg")
(emkattblk inspt scale height height2 height3 height4 ) 上图 感谢楼主无私奉献,受益匪浅! 上个图看看,如何使用和效果
页:
[1]