几何尺寸与公差论坛

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

【转帖】flat pattern code

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

本版积分规则

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

GMT+8, 2024-12-23 10:48 , Processed in 0.037801 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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