![]() |
请教3个简单问题,请大侠帮忙
请教3个简单问题,请大侠帮忙
www.dimcax.com 请教3个简单问题,请大侠帮忙 , openmode.forread); bt.dispose(); blocktablerecordenumerator iter = btr.getenumerator(); while (iter.movenext()) { entity ent = (entity)trans.getobject(iter.current); //////////问题2:已经获取了对象,如何区分对象的类型呢?因为仅entity能获取的属性貌似不够 /////////问题3:c++貌似是可以自定对象的,如果是自定义的数据类型,要怎么解析?或者说如果是通过代理显示出来 /////////的内容如何获取属性呢? str += ent.objectid.tostring() + "," + ent.entitycolor.tostring(); } } catch { } finally { trans.dispose(); } editor ed = application.documentmanager.mdiactivedocument.editor; ed.writemessage(str); 个人认为,获取数据就是对cad数据库的操作,如果读取了,就应该有所对应的事务。 第二个,对图的操作,比如你想获取圆的实体,应该先获得实体,在判断是否为圆,如果成立,你就可以获取圆所对应的属性了。比如半径,圆心之类的。 第3个,c++不会,个人为人lz所说的是关于xdata属性么?自定义扩展数据,我这里上网的电脑提供不聊代码,就简单说下思路。 比如一个实体或者多个实体,拿矿体来说,有盐矿,铁矿,这样实体的属性就不用了,这就需要我们来赋值扩展属性xdata,怎么来添加这个。先要检查注册表,然后查找注册表记录是否有你要的标记,如果没有则需要添加。跟读取实体先获取快标记路一个意思。如果lz想要读取数据,则要实例化结果缓存,然后在将xdata提交给结果缓存。 不知道讲清楚没有 谢谢楼上的作答,其实我想说的是自定义个对象,比如一个楼梯扶手 这样的东西吧,当然它有自己的属性 也有自己的扩展数据,但是 当我去解析这个对象的时候 如果仅仅是以代理图形打开的,貌似就看不到属性了。 顺便弱弱的问一句,怎么判断已获取的实体是否为圆 - -! 刚才又查了下资料,得出确切答案,c#目前还 做不到 自定义实体 没有开发平台,凭记忆了,错的话,自己再找找 entiti ent ; if(ent is circle) { entity ent1 = ent as circle; //这样ent1就有圆的属性了 } 汗!!!“c#目前真的 做不到 自定义实体”吗? 好像才鸟兄说过cad2010版里面.net会加入对自定义实体的支持 |
所有的时间均为北京时间。 现在的时间是 07:33 PM. |