测不准 发表于 2016-4-5 16:19:26

lisp读取属性问题

xgy命令
(defun c:xgy()
      (setq en (entsel "选择多线段:"))
      (setq en_data (entget (car en)))
      (princ en_data)
)

vb命令
(defun c:vb(/ ent entdata)
       (setq ent (car (entsel)))
       (setq entdata (entget ent(list "*")))
       (princ "\n图形实体的数据为:")
       (princ entdata)
)

在CAD2004 + 南方Cass中任意画一条坎(二维多线段),分别运行这两个命令,为什么结果却不一样?

xgy 命令获得的结果
((-1 . <图元名: 7ef68b08>) (0 . POLYLINE) (330 . <图元名:
7ef66cc0>) (5 . 421) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . DMTZ) (6 .
10421) (100 . AcDb2dPolyline) (66 . 1) (10 0.0 0.0 0.0) (70 . 128) (40 . 0.0)
(41 . 0.0) (210 0.0 0.0 1.0) (71 . 0) (72 . 0) (73 . 0) (74 . 0) (75 . 0))((-1
. <图元名: 7ef68b08>) (0 . "POLYLINE") (330 . <图元名: 7ef66cc0>) (5 . "421")
(100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "DMTZ") (6 . "10421") (100 .
"AcDb2dPolyline") (66 . 1) (10 0.0 0.0 0.0) (70 . 128) (40 . 0.0) (41 . 0.0)
(210 0.0 0.0 1.0) (71 . 0) (72 . 0) (73 . 0) (74 . 0) (75 . 0))


vb 命令获得的结果
((-1 . <图元名: 7ef68b08>) (0 . POLYLINE) (330 . <图元名:
7ef66cc0>) (5 . 421) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . DMTZ) (6 .
10421) (100 . AcDb2dPolyline) (66 . 1) (10 0.0 0.0 0.0) (70 . 128) (40 . 0.0)
(41 . 0.0) (210 0.0 0.0 1.0) (71 . 0) (72 . 0) (73 . 0) (74 . 0) (75 . 0) (-3
(SOUTH (1000 . 204201) (1040 . 1.0))))((-1 . <图元名: 7ef68b08>) (0 .
"POLYLINE") (330 . <图元名: 7ef66cc0>) (5 . "421") (100 . "AcDbEntity") (67 .
0) (410 . "Model") (8 . "DMTZ") (6 . "10421") (100 . "AcDb2dPolyline") (66 . 1)
(10 0.0 0.0 0.0) (70 . 128) (40 . 0.0) (41 . 0.0) (210 0.0 0.0 1.0) (71 . 0)
(72 . 0) (73 . 0) (74 . 0) (75 . 0) (-3 ("SOUTH" (1000 . "204201") (1040 .
1.0))))

Real_King 发表于 2016-4-5 19:27:08

我只记得list“*”是关于实体的全部属性,car en就不知道了,当时至看了点lsp

xiaolong1487 发表于 2016-4-6 05:47:34

(entget ent(list "*")) 扩展属性

测不准 发表于 2016-4-6 08:47:05

xiaolong1487 发表于 2016-4-6 05:47 static/image/common/back.gif
(entget ent(list "*")) 扩展属性

大侠QQ号多少

feng83 发表于 2016-5-7 19:27:39

(entget (car(entsel))(list "*"))
页: [1]
查看完整版本: lisp读取属性问题