明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1482|回复: 2

用vlax-ldata-get提取图形词典数据出错,请指教

[复制链接]
发表于 2007-11-9 18:52 | 显示全部楼层 |阅读模式

;;;用图形词典给图形对象添加和提取非图形数据
(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

发表于 2007-11-9 19:48 | 显示全部楼层


(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))
改成
(vlax-ldata-put en "0408绿地护栏类型" lx)
(vlax-ldata-put en "0408绿地护栏材质" cz)
(vlax-ldata-put en "0408绿地护栏高度" hi)
(vlax-ldata-put en "0408绿地护栏长度" le)
然后读取
(vlax-ldata-get enn "0408绿地护栏材质")

或者


(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))
改成
(vlax-ldata-put en "0408绿地护栏" (list lx cz hi le))
然后用(setq aa (vlax-ldata-get enn "0408绿地护栏"))读取,
其中(nth 0 aa)为类型,(nth 1 aa)为材质,(nth 2 aa)为高度,(nth 3 aa)为长度

 楼主| 发表于 2007-11-9 22:50 | 显示全部楼层

很好用,多谢!!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-4 19:17 , Processed in 0.443700 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表