|
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 |
|