明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5096|回复: 6

怎么取得图层状态管理器的各种属性?

[复制链接]
发表于 2013-1-5 15:11 | 显示全部楼层 |阅读模式
1明经币
昨天帮半听可乐弄个图层状态管理器的简易切换的小程序,用VLISP的方法获得状态管理器对象,如图一所示:
(setq lastatemanager(vlax-invoke-method  myacad 'GetInterfaceObject "AutoCAD.AcadLayerStateManager.17" ))

然后进行操作,不过碰到了“automation错误。尚未初始化"的问题,如下所示:
(vlax-invoke-method lastatemanager 'restore  "333")

查阅了帮助,不得其解,只好作罢,后来只好直接从词典里拎出了所有图层状态。
此问题感觉如鲠在喉,请各位版主及高人帮助!
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

提示说的很明确,lastatemanager没有初始化! 在得到 lLayerStateManager 对象后,在使用lLayerStateManager 对象前你必须先将其与数据库对象关联,用 SetDatabase 方法来关联数据库: (vla-SetDatabase lastatemanager (vla-get-Database (vla-get-ActiveDocument (vlax-get-acad-object))))
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-1-5 15:11 | 显示全部楼层
提示说的很明确,lastatemanager没有初始化!
在得到 lLayerStateManager 对象后,在使用lLayerStateManager 对象前你必须先将其与数据库对象关联,用
SetDatabase 方法来关联数据库:
(vla-SetDatabase lastatemanager (vla-get-Database (vla-get-ActiveDocument (vlax-get-acad-object))))

点评

原来数据库是这样取得的,谢G版点拨。。。。  发表于 2013-1-5 17:20

评分

参与人数 1明经币 +1 收起 理由
yjr111 + 1 很给力!

查看全部评分

回复

使用道具 举报

发表于 2013-1-5 21:42 | 显示全部楼层
朋友,你让我好生感动啊,为了帮我写个程序让你费心了
回复

使用道具 举报

发表于 2013-1-5 22:45 | 显示全部楼层
留名学习!!
回复

使用道具 举报

发表于 2013-1-6 08:50 | 显示全部楼层
貌似很强大,不知到是不是万能的
回复

使用道具 举报

发表于 2013-1-6 14:50 | 显示全部楼层
我怎么返回空值呢
回复

使用道具 举报

发表于 2013-3-13 08:16 | 显示全部楼层
大哥,图层状态管理器能自己添加对象吗?貌似是readonly啊?或者write了之后,图层状态管理器也不能正确转换?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 19:25 , Processed in 0.206944 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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