|  | 
 
| flat pattern code the following code is what i have right now, it makes the 1:1 flat pattern in the same folder as the 3d model with the same name as the model file (exactly what i want) but it just doesnt get rid of the ".sldprt".
 so if the solidworks 3d model was named "bob" the macro will make a dxf file in the same folder called "bob.sldprt"
 and its annoying as hell and ive tried different code but something has gone awry and i cant think of what it is anymore, thanks to anyone that can help me finish this little project
 dim swapp as sldworks.sldworks
 dim swmodel as modeldoc2
 dim partname as string
 sub main()
 set swapp = application.sldworks
 set swmodel = swapp.activedoc
 partname = swmodel.getpathname
 debug.print partname
 swmodel.exportflatpatternview partname & ".dxf", 0
 end sub
 public function getfilename(pstrfile as string) as string
 if instr(pstrfile, "\") <> 0 then
 getfilename = right(pstrfile, len(pstrfile) - instrrev(pstrfile, "\"))
 $exts = split("[/\\.]", $filename) ;
 getfilename = left(getfilename, len(getfilename) - 1)
 end if
 end function
 just trying to figure it all out
 just had to give myself five minutes so i can have my brain wake up this morning, its funny how you can put up with something for so long and then take 4 minutes to take care of
 this is the working code if anyone wants it, for 2008 and it works for 2009 as well, one further thing, if you dont want it to export the bend lines, export the flat pattern manually once and run through those settings, turning off the bend lines there will work for this macro
 dim swapp as sldworks.sldworks
 dim swmodel as modeldoc2
 dim partname as string
 sub main()
 set swapp = application.sldworks
 set swmodel = swapp.activedoc
 partname = swmodel.getpathname
 ' shows the complete path of the saved document
 debug.print partname
 partname = getfilename(partname)
 ' show the filename without the path/extension
 debug.print partname
 swmodel.exportflatpatternview partname & ".dxf", 0
 end sub
 public function getfilename(pstrfile as string) as string
 if instr(pstrfile, "\") <> 0 then
 ' seperate the filename from the path
 getfilename = right(pstrfile, len(pstrfile) - instrrev(pstrfile, "\"))
 ' remove the extension from the filename
 getfilename = left(getfilename, len(getfilename) - 7)
 end if
 end function
 just trying to figure it all out
 why not use left(swmodel.gettitle, len(swmodel.gettitle) - 6)?
 to defeat the wheat, go against the grain.
 edited: 01/15/2009 at 05:51 pm by tom fosler
 if your windows explore is set not to show file extentions, then "get title" will only show the file name so cutting off the last six letters will delete part of the filename.
 dan
 quick
 | 
 |