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


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


 
 
主题工具 搜索本主题 显示模式
旧 2009-04-13, 01:35 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】problem with opendoc6

problem with opendoc6
i am working on my automation code... its a long process. i have figured out customer user objects, how to pass these guys and a while mess of of stuff but when it gets to my
set tubemodel = swapp.opendoc6(newtubefilename, swdocpart, 0, "", errs, warns)
command, it tells me it cannot open it. the newtubefilename is valid, the set code a little above it creates it fine, i can see it in the directory and everything. when i put a stop just after this line the values in there are set as follows
swdocpart = "empty"
errs = "1024"
warns = "0"
and due to my error checking kicks me out of my sub and loops to the next one it should do, all dying at this point...
any help would be appreciated...
errs = 1024 is an invalid file type error code.
to find this you can use object browser. set narrow down the libraries to just swconst. then search for swfileload. look at each one of it's members to mind out what the number is for that code.
wayne matus
texas engineering systems
possibly trying to open a file of the wrong extension, or wrong version. can you manually open the file using the same solidworks instance?
this is the code leading up to the error, its right in the beginning of the program...
partfilename = "j:\users\ahodge\tube profiles\" & tubedata.tubepartno & "-" & tubedata.pc_mk
newtubefilename = partfilename & ".sldprt"
newtubetmpldrwgfilename = partfilename & ".slddrw"
vbfilesysobj.copyfile masterpartfile, newtubefilename, true
set vbfileobj = vbfilesysobj.getfile(newtubefilename)
if vbfileobj.attributes and 1 then 'test if read-only
vbfileobj.attributes = vbfileobj.attributes - 1 'clear read-only
set vbfileobj = nothing
end if
set tubemodel = swapp.opendoc6(newtubefilename, swdocpart, 0, "", errs, warns)
#if showdebugs then
if tubemodel is nothing then ' error opening tube model
swapp.sendmsgtouser "error! " & chr(34) & newtubefilename & chr(34) & " could not be opened!"
exit sub
end if
#end if
basically i copy a master template file, as the new name, then open it. the template and new file are both made in the same version of solidworks and both can be opened fine via the file menu once the program has stopped... this same code works correctly in another macro in the exact same form...
i don't get why it doesn't work....
seems the swdocpart doesn't work when called from excel.... if i use the value 1 for part and 3 for drawing it works.... now to make the rest of the program work....
to use swdocpart you will have to add a reference to the solidworks 200x constnt type library.
wayne matus
texas engineering systems
to use swdocpart you will have to add a reference to the solidworks 200x constnt type library.
wayne matus
texas engineering systems
how do i do that? i am using vba from excel, that also might fix some other problems i am having...
nevermind, found the references section..
quick
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
 


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

高级搜索
显示模式

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

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

相似的主题
主题 主题发起者 论坛 回复 最后发表
【转帖】excel vba usage of opendoc6 yang686526 SolidWorks二次开发 0 2009-04-13 10:46 AM
【转帖】opendoc6 api is not working for large assembly yang686526 SolidWorks二次开发 0 2009-04-12 09:58 PM
【转帖】open doc yang686526 SolidWorks二次开发 0 2009-04-12 09:56 PM


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


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