qiuhai1991 发表于 2015-9-17 15:12:24

如何修改属性快

(defun K003_1000x()
(entmake'((0 . "block")(2 . "K003_1000")(70 . 2)(10 0 0 0)))
(entmake'((0 . "LWPOLYLINE")
                                               (100 . "AcDbEntity")
                                               (8 . "图斑号")(62 . 256)
                                               (100 . "AcDbPolyline")
                                               (90 . 2)
                                               (70 . 128)
                                               (43 . 0.0)
                                               (38 . 0.0)
                                               (39 . 0.0)
                                               (10 -2.7 0.0)
                                               (10 2.7 0.0)
                                               (210 0.0 0.0 1.0)))
(entmake'((0 . "ATTDEF")
                                       (100 . "AcDbEntity")
                                       (8 . "0")(62 . 0)
                                       (100 . "AcDbText")
                                       (10 0 0 0)
                                       (40 . 2)
                                       (1 . "")
                                       (50 . 0.0)
                                       (41 . 1.0)
                                       (71 . 0)
                                       (72 . 1)
                                       (11 0.0 0.0 0.0)
                                       (210 0.0 0.0 1.0)
                                       (100 . "AcDbAttributeDefinition")
                                       (3 . "图斑号")
                                       (2 . "TBH")
                                       (70 . 4)
                                       (73 . 0)
                                       (74 . 1)))
(entmake'((0 . "ATTDEF")
                                       (100 . "AcDbEntity")
                                       (8 . "0")
                                       (62 . 0)
                                       (100 . "AcDbText")
                                       (10 0 0 0)
                                       (40 . 2)
                                       (1 . "0")
                                       (50 . 0.0)
                                       (41 . 1.0)
                                       (71 . 0)
                                       (72 . 1)
                                       (11 0.0 -0.4 0.0)
                                       (210 0.0 0.0 1.0)
                                       (100 . "AcDbAttributeDefinition")
                                       (3 . "地类编码")
                                       (2 . "DLBM")
                                       (70 . 4)
                                       (73 . 0)
                                       (74 . 3)))
(entmake'((0 . "ENDBLK"))))


(defun k003_1000(p xm bh bili)
(entmake(list'(0 . "INSERT");建块
                                                '(100 . "AcDbEntity")
                                                '(100 . "AcDbBlockReference")
                                                '(62 . 256)
                                                (cons 66 1)
                                                (cons 2 "K003_1000")
                                                (cons 41 bili)
                                                (cons 42 bili)
                                                (cons 43 bili)
                                                (cons 10 p)))
(entmake(list'(0 . "ATTRIB")
                                                '(100 . "AcDbEntity")
                                                '(100 . "AcDbText")
                                                '(62 . 0)
                                                '(8 . "地块标识")
                                                '(10 0 0 0)
                                                (cons 40 (* 2 bili))
                                                (cons 1 xm)
                                                '(7 . "standard")
                                                '(72 . 1)
                             (cons 11 p)
                                                '(100 . "AcDbAttribute")
                                                '(2 . "CBR")
                                                '(70 . 0)
                                                '(74 . 1)))
(entmake(list'(0 . "ATTRIB")
                                                '(100 . "AcDbEntity")
                                                '(100 . "AcDbText")
                                                '(62 . 0)
                                                '(8 . "地块标识")
                                                '(10 0 0 0)
                                                (cons 40 (* 2 bili))
                                                (cons 1 bh)
                                                '(7 . "standard")
                                                '(72 . 1)
                     (list 11(car p)
                                       (-(cadr p)0.4)0)
                                                '(100 . "AcDbAttribute")
                                                '(2 . "ZDBH")
                                                '(70 . 0)
                                                '(74 . 3)))
(entmake'((0 . "SEQEND")))
)


(K003_1000x)
(command "INSERT" "k003_1000" (getpoint) 1 1 0 "1111""2222" "1111""2222")这样创建一个属性快之后,有什么办法可以修改里面的直线的起点,或者读取到直线的端点

tryhi 发表于 2015-9-17 15:12:25

本帖最后由 tryhi 于 2015-9-19 10:52 编辑


[*](setq en(vlax-vla-object->ename(vla-item (vla-item (vla-get-blocks(vla-get-activedocument(vlax-get-acad-object))) (vla-get-name (vlax-ename->vla-object (car(entsel))))) 0)))
[*](entget en)

qiuhai1991 发表于 2015-9-18 16:57:04

页: [1]
查看完整版本: 如何修改属性快