;;;用图形词典给图形对象添加和提取非图形数据 (defun c:vin() (setq en (car (entsel "\n要加入用户数据的图形对象:"));;;图形对象为一直线 en (VLAX-Ename->VLA-Object en) ) (setq lx (getstring "\n护栏类型:")) (setq cz (getstring "\n护栏材质:")) (setq le (getstring "\n护栏长度:")) (setq hi (getstring "\n护栏高度:")) (setq a (vlax-ldata-put en "0408绿地护栏" lx)) (setq b (vlax-ldata-put en "0408绿地护栏" cz)) (setq d (vlax-ldata-put en "0408绿地护栏" hi)) (setq c (vlax-ldata-put en "0408绿地护栏" le)) (setq enn (car (entsel "\n要提取用户数据的图形对象:")) enn (vlax-ename->vla-object enn) ) (setq aa (vlax-ldata-get enn "0408绿地护栏" cz));;;;;执行程序完后,查看aa 的值,它显示的是d的值,为什么? ) 用(entget (car (entsel)))查看用上述程序执行的结果后,显示如下: ((-1 . <图元名: 7efd4b98>) (0 . "LWPOLYLINE") (5 . "423") (102 . "{ACAD_XDICTIONARY") (360 . <图元名: 7efd4c08>) (102 . "}") (330 . <图元名: 7efd1cc0>) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (6 . "Continuous") (100 . "AcDbPolyline") (90 . 2) (70 . 128) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 76.373 18.9459) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 154.566 71.3315) (40 . 0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0)) 请教,能用什么办法可以提取"0408绿地护栏"的属性值 zqy@ntup.com |