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


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(VB.NET/C#)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-20, 12:45 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】vb.net的代码问题

vb.net的代码问题
www.dimcax.com
vb.net的代码问题
dim strfilename as string '文件名
dim acadapp as new acadapplication
dim doc as acaddocument
opfd.showdialog() '获取文件名
strfilename = opfd.filename
doc = acadapp.documents.open(strfilename) '打开cad文件
dim ssetobj as acadselectionset '定义一个选择集
dim acadent as acadentity '定义一个图元实体
dim adadpl as acadpolyline

ssetobj = acadapp.activedocument.selectionsets.add("test")
ssetobj.select(acselect.acselectionsetall, , , , ) '选择所有实体
for each acadent in ssetobj
if acadent.objectname = "acdbpolyline" then
adadpl = acadent ' 这句出错
end if
next
以上代码的红色部分出错,本人初学,弄了很长时间不知道原因,请高手解答!!
错误原因:
无法将类型为“system.__comobject”的 com 对象强制转换为接口类型“autocad.acadpolyline”。此操作失败的原因是对 iid 为“{4d07b3da-1d65-4d58-967a-e3a02e255ee0}”的接口的 com 组件调用 queryinterface 因以下错误而失败: 不支持此接口 (异常来自 hresult:0x80004002 (e_nointerface))。
[此贴子已经被作者于
adadpl 是 acadpolyline
acadent 是 acadentity
两者的数据类型不一样,这样的赋值需要一个显式转换
adadpl = (acadpolyline)acadent 这是c#的语法,vb的忘了!
不敢肯定是这个原因或只有这个原因导致出错,你应该把出错提示贴出来
我是想得到图层所有acadpolyline 的有关数据,楼上所说我试过了,还是有问题
不过还是谢谢楼上的大哥
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 12:52 AM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多