明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1667|回复: 3

怎样用VisualLisp 对由objectx程序创造的实体对象附加扩展数据?

[复制链接]
发表于 2003-9-28 01:22:00 | 显示全部楼层 |阅读模式
怎样用VisualLisp 对由objectx程序创造的实体对象附加扩展数据?
发表于 2003-9-28 09:07:00 | 显示全部楼层
一个简单的例子:
(vl-load-com)
(defun c:test( / ss ename vname datatype data)
  (setq ss (ssget))
  (setq ename (ssname ss 0))
  (setq vname (vlax-ename->vla-object ename))
  (setq datatype (vlax-make-safearray vlax-vbInteger '(0 . 1)))
  (vlax-safearray-fill datatype '(1001 1000))
  (setq data (vlax-make-safearray vlax-vbvariant '(0 . 1)))
  (vlax-safearray-fill data '("hello" "abc"))
  (vla-setxdata vname datatype data)
  (princ)
)
 楼主| 发表于 2003-9-28 10:01:00 | 显示全部楼层
执行完(vla-setxdata vname datatype data)后,怎么返回的是nil值啊,也就是扩展数据没有被加进去
发表于 2003-9-28 10:06:00 | 显示全部楼层
扩展数据是加入到对象中去的,不是返回到哪个变量的,
你用(entget (car (entsel)) '("hello"))查看一下对象不就知道有没有加入了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 16:29 , Processed in 0.152350 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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