几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(VB.NET/C#) (http://www.dimcax.com/hust/forumdisplay.php?f=176)
-   -   请教3个简单问题,请大侠帮忙 (http://www.dimcax.com/hust/showthread.php?t=9996)

yang686526 2009-04-22 12:19 PM

请教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.