几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » SolidWorks二次开发
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


 
 
主题工具 搜索本主题 显示模式
旧 2009-04-12, 08:56 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】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
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
 


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭

相似的主题
主题 主题发起者 论坛 回复 最后发表
【转帖】edit dimensions within patterns yang686526 SolidWorks二次开发 0 2009-04-12 08:46 PM


所有的时间均为北京时间。 现在的时间是 03:23 PM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多