树櫴希德 发表于 2015-7-20 17:29:40

如何用ENTMAKE制作增强属性快?

如何用ENTMAKE制作增强属性快?假设原主块已经存在 为INSERT 加入ATTDEF 要求要在CAD2007以上版本测试通过;;;插入块
(entmake (list
      
             '(0 . "INSERT")
             '(100 . "AcDbEntity")
             '(100 . "AcDbBlockReference")
             '(66 . 1);;;属性跟随标志,1跟随,0不跟随
            (cons 2 "GC200")
            (cons 10 inspt)
            (cons 41 scale)
            (cons 42 scale)
            (cons 43 scale)
            (list -3 '("SOUTH" (1000 . "951495418")))
         )
)
;;;插入属性
(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)
         ))
   ;;;结束标志上面代码不行,求修改


77077 发表于 2015-7-20 18:00:04

哥们,不知道能不能帮到你~!(defun Make-Block-SY1001( / )
        (if (not (tblsearch "block" "1001-索引符号"))
                (progn
    (entmake (list(cons 0 "BLOCK") (cons 2 "1001-索引符号") '(70 . 2) '(10 0 0)))
          (entmake (list '(0 . "CIRCLE") '(8 . "0") '(10 0 0) '(40 . 2)))
          (entmake (list '(0 . "LINE") '(8 . "0") '(10 -2 0) '(11 2 0)))
    (entmake (list '(0 . "ATTDEF") '(1 . "1") '(2 . "图号") '(3 . "图号") '(70 . 0) '(7 . "仿宋 1") '(8 . "0")
                            '(10 0 1.0) '(11 0 1.0) '(40 . 1.5) '(41 . 0.7)'(50 . 0.0) '(51 . 0.0)'(71 . 0) '(72 . 4)   '(73 . 0)
                         )
             )
          (entmake (list '(0 . "ATTDEF") '(1 . "-") '(2 . "页次") '(3 . "页次") '(70 . 0) '(7 . "仿宋 1") '(8 . "0")
                            '(10 0 -1.0) '(11 0 -1.0) '(40 . 1.5) '(41 . 0.7)'(50 . 0.0) '(51 . 0.0)'(71 . 0) '(72 . 4)   '(73 . 0)
                         )
             )
    (entmake '((0 . "endblk")))
    )
)
)

77077 发表于 2015-7-20 18:12:44

当然了,如果要插入该块,用(command "_insert" "1001-索引符号" pt 1 1 1index page)
页: [1]
查看完整版本: 如何用ENTMAKE制作增强属性快?