几何尺寸与公差论坛

 找回密码
 注册
查看: 722|回复: 0

【转帖】problem with opendoc6

[复制链接]
发表于 2009-4-13 13:35:32 | 显示全部楼层 |阅读模式
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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 09:53 , Processed in 0.036838 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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