SOLIDWORKS自定义属性分类打包脚本【插件】
注意:脚本仅用于品鉴,请不要用于生产环境
readme.md是使用教程
exe是打包的文件,win10能用
txt是喂给ai的关键字
py是源文件
使用要求:增加c#重构版本,要求.net8.0
python脚本名称::solidworks分类打包脚本
说明:solidoworks二次开发的python脚本,用于将用户solidworks文件按自定义属性进行分类打包.
遍历待处理文件夹内所有零件和装配体,抓取自定义属性去结果文件夹建立同值的文件夹,之后将同名工程图转换的dxf文件存放到对应属性文件夹下
功能需求:
pyside6制作GUI.
UI第一区域:待处理文件夹选择框及选择按钮.
选择框用于显示文件夹地址, 选择按钮控制文件夹选择
程序遍历待处理文件夹里面的.sldprt文件和.sldasm文件
UI第二区域为”归档类别属性”区域
让用户设置的自定义属性,程序抓取该自定义属性,作为值.自定义属性获取的是评估的值
属性抓取只采用通用方法.
抓取为空值时候,放入未分类文件夹(替换其他)
实际排列如下
自定义属性 逻辑操作 行操作
材料 并 删除
规格 并 删除
新增行
自定义属性由用户输入,值为空时候报错.自定义属性列填写相同时也报错(列内不为空,不相同)
删除按钮点击后删除该行
逻辑操作列,只有并操作
如果有多行,且值不同
用户设置了"材料""规格",程序抓取"材料"和"规格"值后,生成的结果文件夹命名为"材料值+规格",将符合的dxf文件放入其中,抓取值判断逻辑保持程序不变.
UI第三区域,为文件格式勾选
▢dxf ▢pdf ▢x_t
▢dxf 勾选对应生成 1.dxf转换文件夹 维持原转换逻辑及文件夹结构逻辑
▢pdf 勾选对应生成 2.pdf转换文件夹 将.slddrw转换为.pdf,维持与dxf文件夹结构逻辑
▢x_t 勾选对应生成 3.x_t-out 将.sldprt和.sldasm转换为.x_t,维持与dxf一致文件夹结构
允许多选
UI第四区域为结果文件夹选择框及选择按钮
如未选择,则默认为待处理文件夹设为结果文件夹
UI第五区域为两个按钮,开始按钮和取消按钮
开始按钮,程序开始执行
取消按钮.程序终止执行.
ui第六区域为日志区域,输出全部日志,有日志保存按钮,保存为txt,文件名让用户输入.在日志区上面增加进度条
程序执行
在结果文件内新建”输出结果”的文件夹,文件夹内默认生成文件夹如下:
输出结果文件夹
├──1.dxf转换文件夹
输出结果
按填写的自定义属性及关键字,在”1.dxf转换文件夹”内按抓取自定义属性新建文件夹,同名则不新建,将所有工程图转换成dxf后,按材料名称分文件夹放置,同名材料的dxf文件放如同一个文件夹
如从零件A.sldprt文件中抓取的自定义属性材料值为Q235A板T=2,则在"1.dxf转换文件夹"内新建"Q235A板T=2"文件夹,将零件A.sldprt同名的零件A.slddrw文件,导出成零件A.dxf,并存入"Q235A板T=2"文件夹
如从零件b.sldprt文件中抓取的自定义属性材料值为Q235A板T=2,则在"1.dxf转换文件夹"内已经存在"Q235A板T=2"文件夹,将零件B.sldprt同名的零件B.slddrw文件,导出成零件B.dxf,并存入"Q235A板T=2"文件夹
如从零件C.sldprt文件中抓取的自定义属性材料值为Q235A板T=3,则在"1.dxf转换文件夹"内没"Q235A板T=3"文件夹,则新建"Q235A板T=3",文件夹将零件C.sldprt同名的零件C.slddrw文件,导出成零件C.dxf,并存入"Q235A板T=3"文件夹
如从零件D.sldprt没有同名的.slddrw文件,跳过,下一个
保持整体文件程序不变,查找同名工程图时候,不区分大小写
文件夹结构参考如下
结果文件夹/
└── 输出结果/
└── 1.dxf转换文件夹/
├── Q235A板T=2/
│ ├── 零件A.dxf
│ └── 零件B.dxf
├── Q235A板T=3/
│ └── 零件C.dxf
└── Q235A板T=4/
└── xxxx.dxf
程序执行后,弹窗告知用户任务结束
整个程序运行采用静默方式.
去除自动保存,减少报错
把工程图文件名比对,不再区分大小写
各位可以用AI 进一步完善如:喂给ai的文字如下:
宏与使用的SW版本不兼容解决方法:在VB窗口 - 工具 - 引用 - 勾选自己的SW版本
SolidWorks软件中【宏】的使用说明与注意事项汇总:https://www.ict.com.cn/kaifa/3292.html
注:本插件、【宏】来源于网络,该工具为网友上传,具体使用需自行探索,请谨慎下载,最终所有权归原创作者所有,如有问题可联系作者,如有侵权可联系本站删除!
注册账号 | 忘记密码