几何尺寸与公差论坛

 找回密码
 注册
查看: 3056|回复: 1

用vc开发solidworks的问题

[复制链接]
发表于 2006-12-14 22:37:13 | 显示全部楼层 |阅读模式
你好:
   非常感谢能得到您的帮助,我solidworks二次开发才刚刚入门,现在有个问题是,我以前是在一个台式机上做的插件,但是我把这个插件移植到笔记本上的时候,这个插件就是无法跳出菜单来,提示"插件无法装入,该不是有效插件或其一个组件丢失",这个是什么原因呢?是不是我哪里没有设置好,我用的solidworks是2006sp4.1的,这个dll文件是用ATL COM向导生成的.
 楼主| 发表于 2006-12-14 22:37:45 | 显示全部楼层

回复: 用vc开发solidworks的问题

你好,谢谢的的答复.
我有如下的问题(详细见附件)
1.我用的solidworks的版本是2006SP4.1的,在我的函数ApiBond()里执行到画草图命令,如下的语句的时候,就会跳出来附件中的错误,但是点忽略就可以运行.
pModelDoc->ICreateArc2(0,0,0, 0,0.01,0, 0,-0.01,0, 1,&retval2);
pModelDoc->ICreateLine2(0,-0.01,0, 0.04,-0.01,0,&retval2);
pModelDoc->ICreateArc2(0.04,0,0, 0.04,-0.01,0, 0.04,0.01,0, 1,&retval2);
pModelDoc->ICreateLine2(0.04,0.01,0, 0,0.01,0, &retval2);
>你可以这么用


ISketchSegment * retval2;


pModelDoc->ICreateArc2(0,0,0, 0,0.01,0, 0,-0.01,0, 1,&retval2);


还可以这么写


CComPtr <ISketchSegment> retval2;


pModelDoc->ICreateArc2(0,0,0, 0,0.01,0, 0,-0.01,0, 1,&retval2);


retval2.Release();


PS:智能指针做参数传递,尽量避免。


2.还有这两个语句有什么区别呢?
pmodelDocExt->SelectByID2(L"前视",L"LANE",0,0,0,false,0,NULL,0,&retval);
pmodelDocExt->SelectByID2(_T("前视"),_T("LANE"),0,0,0,false,0,NULL,0,&retval);
>接口发生了变化,SolidWorks API提供的接口不太稳定,SW 2006 SelectByID2要求输入一个(BSTR)类型值,如,L"前视",具体你可参考SW API帮助文件里的Example
3.solidworks自带的焊接符号标注的对话框,但是不符合国标要求,如果我想在它的基础上修改这个对话框的功能,我需要从哪里入手,不知道您有否做过类似的程序。

>你的需求若是增加符合国标要求的焊接符号,我给您的建议是:

1)找到SW的符号库。

2)分层设计,创建中国国标库以及创建符合中国国标的焊接符号。(一般来说,符号是以单独的文件存在的,在CAD中符号就相当于一张小图纸的地位。CAD软件都提供有使用用户自定义符号的模块,没留意的话,那就查查帮助吧!你得先熟悉这个流程,然后你可以从两种方式中选择其一,一种是符号文件可以先用SW手工创建并保存,另一种是用程序自动创建并保存)

3)将自定义的符号添加到焊接符号标注对话框。

PS: 不符号国标要求,这句话我不赞同。标准的发展趋势告诉我,标准是人们用来方便沟通产品设计的产物,应该没有国家界线。不同国家都搞自己的一套标准,本身就没有多大的意思,就象不同的国家说不同的语言一样,总体上沟通是极其困难的,这与标准的初衷背道而驰。



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

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-5-28 13:20 , Processed in 0.036687 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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