![]() |
【转帖】flat pattern code
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 |
所有的时间均为北京时间。 现在的时间是 11:18 AM. |