Skip to content

1. 参数化选择界面

数据表

  • 打开包含参数化模型文件夹
  • 编辑目录内的Excel数据文件,此文件数据为参数化界面数据
    • 表格第1行为标题行,对应界面中的参数名称

    • 表格中的不同表中的数据是1对多关系数据

    • 数据行中的数据符号‘--’前面的为型号数据,后面的为型号说明文字

    • 如需在界面中显示可编辑的数据,则表格数据需为如下类似格式。

      1200--[600~2200/10]

      --前面为默认数据,[ ]中的600~2200为数据范围,/10 为数据输入精度

    • 所有参数化Excel表格文件,需要确保唯一,不重名!

界面配置

  • 编辑目录内的 DXconfig.ini 文件。此文件为呈现界面UI数据的配置文件
  • 首次编写时,请删除②处以后数据,方框内填写对应EXCEL文件名
  • 型号规则与默认型号用英文‘,’隔开,并且数据项一一对应
  • 型号规则数据为Excel表的标题数据
  • 默认型号为对应标题数据下的1组数据(符号‘--’之前)
  • 分类选项数据中3D名称对应文件夹名称与下面的选项名称
  • [3D]下一行的baseModel数据为 3D文件夹内的模型名称
  • 界面中的模型其他数据为所有不在型号规则中的标题列数据

程序文件

  • 目录内的 data.dkcs 文件为参数化模型的程序文件
  • 在参数化界面中打开编辑时,目录无此文件会内将自动创建

2. 程序编辑

说明

  • 以零件名称查找零件必须加上零件后缀名。(有多个相同零件时随机取一个)
  • 零件ID (CID) 查找零件可以唯一确定零组件
  • PID 可确定特征面,而不用更改原有零件特征
  • 参数获取格式=参数(长度)
  • 其他修改命令格式:命令{"命令名称",参数1,参数2,...};

界面操作

  • 插入PID

在 Solidworks 中选择一个零件的面,点击此按钮,将在光标处创建所选中面的ID,此ID可作为配合特征参数使用

  • 插入零件ID

在 Solidworks 装配体中,选中一个零件,点此按钮,将在光标处创建此零件在此装配体中的唯一ID

  • 检查代码

在编写完脚本代码后,请点此按钮,确认此脚本代码正确

1. 进度显示

命令{"进度",显示文本};

示例:

命令{"进度","设置轨道长度"};
命令{"进度",进度值,显示文本};

进度值:0~100

示例:

命令{"进度",30,"设置轨道长度"};

2. 删除模型

命令{"删除模型",模型名称集合};

  • 模型名称:零件名称+后缀 或使用 零件ID
  • 模型名称集合=null时,删除所有压缩零件

示例:

//删除指定名称模型
var dels=new List<string>{"VM100.SLDASM","HC100.SLDASM"};
命令{"删除模型",dels};
//删除所有压缩零件
命令{"删除模型",null};
命令{"删除模型",子装配名称, 模型名称集合};
  • 子装配模型中查找

示例:

var dels=new List<string>{"VM100.SLDASM","HC100.SLDASM"};
命令{"删除模型","马达组件.SLDASM",dels};

3. 删除特征

命令{"删除特征",特征名称};

示例:

命令{"删除特征","切除-拉伸3"};

命令{"删除特征",子零件名称,特征名称};

示例:

命令{"删除特征","K85-1M1J01-A101.SLDPRT","凸台-拉伸1"};

4. 删除压缩

命令{"删除压缩"};

  • 删除顶级零件所有压缩特征

示例:

命令{"删除压缩"};

命令{"删除压缩",子零件名称};

  • 删除指定零件压缩特征

    示例:

    命令{"删除压缩","K85-1M1J01-A101.SLDPRT"};

5. 选择文件夹模型

命令{"选择文件夹模型",模型文件夹名称,模型名称集合};

  • 总装配模型中查找;零件名称+后缀

示例:

var sels=new List<string>{"VM100.SLDASM","HC100.SLDASM"};
命令{"选择文件夹模型","马达安装",sels};

命令{"选择文件夹模型",子装配名称,模型文件夹名称, 模型名称集合};

  • 子装配模型中查找

示例:

var sels=new List<string>{"VM100.SLDASM","HC100.SLDASM"};
命令{"选择文件夹模型","马达组件.SLDASM","马达安装",sels};

6. 切换配置

命令{"切换配置",顶级配置名称};

  • 顶级零件配置

示例:

命令{"切换配置","KK6010D-200-VM100"};

命令{"切换配置",子零件名称,配置名称};

  • 指定零件配置

示例:

命令{"切换配置","SENA-1200.SLDPRT","SENA3-200"};

7. 修改尺寸

命令{"修改尺寸",尺寸名称,尺寸值};

  • 修改顶级零件

示例:

命令{"修改尺寸","D2@基体-法兰1","500"};

命令{"修改尺寸",子零件名称,尺寸名称,尺寸值};

  • 修改指定零件

示例:

命令{"修改尺寸","SENA-1200.SLDPRT","D1@凸台-拉伸1","200"};

8. 修改属性

命令{"修改属性",子零件名称,属性名称,属性值};

示例:

命令{"修改属性","KS&KK40.SLDPRT","料号","R1-XXX"};

9. 重命名

命令{"重命名",子零件名称,新名称};

  • 子零件名称 包括后缀,新名称 不需要后缀

示例:

命令{"重命名","SENA-1200.SLDPRT","SENA-500"};

10. 配置重命名

命令{"配置重命名",子零件名称,旧配置新名称,新配置名称};

示例:

命令{"配置重命名","SENA-1200.SLDPRT","SENA-500","SENA-600"};

11. 装配

命令{"装配"被装配源零件名称,子装名称};

  • 被装配零件带后缀
  • 装配至顶层装配体,子装名称=null

示例:

命令{"装配","KK40-VM50.SLDASM",null};
命令{"装配","KK40-VM50.SLDASM","电机组件.SLDASM"};

命令{"装配",被装配源零件名称,子装名称,目标零件名称};

  • 被装配零件带后缀
  • 装配至顶层装配体,子装名称=null
  • 目标零件名称 可与源零件名称不同
  • 目标名称与源名称不同时,此命令之后须有 结束装配修改 命令,中间可插入其他命令,中间命令对打开的零件有效

示例:

命令{"装配","KK40-VM50.SLDASM","电机组件.SLDASM","KK40-VM50-2.SLDASM"};
命令{"配置重命名","SENA-1200.SLDPRT","SENA-500","SENA-600"};
命令{"修改属性","KS&KK40.SLDPRT","料号","R1-XXX"};
...
命令{"结束装配修改"};

命令{"装配",被装配源零件名称,子装名称,目标零件名称,替换字符};

  • 替换字符:new string[]{旧字符串,新字符串}
  • 其他使用同上一条装配命令

示例:

var replaces=new string[]{"KK40","KK4005"}
命令{"装配","KK40-VM50.SLDASM","电机组件.SLDASM","KK40-VM50-2.SLDASM",replaces};
命令{"配置重命名","SENA-1200.SLDPRT","SENA-500","SENA-600"};
命令{"修改属性","KS&KK40.SLDPRT","料号","R1-XXX"};
...
命令{"结束装配修改"};

12. 结束装配修改

命令{"结束装配修改"};

  • 配合装配命令2、3使用

示例:

命令{"结束装配修改"};

13. 配合

命令{"配合",被配合零件,被配合零件的特征字符串,配合零件的特征字符串,配合类型,配合对齐,是否翻转,距离};

  • 被配合零件: 特别注意不要在配合之前修改被配合零件及其父级零件
  • 配合零件的特征字符串:PID字符串 或 特征名称 或 实体名称
  • 配合类型:0=重合,1=同心,3=平行,5=距离
  • 配合对齐选项: 0=对齐,1=相对,以面的法向方向为参考!
  • 是否翻转: true 或 false
  • 配合距离: 距离配合时有效

示例:

//1、PID
var pid1="yDIAAAMAAAD//v8AAAAAAP//AQALAG1vRmFjZVJlZl9jAQAAAAAAAAAKAAAAAAIAAAAAA....";
var pid2="yDIAAAMAAAD//v8AAAAAAP//AQALAG1vRmFjZVJlZl9DFGFFF....";   
命令{"配合","KS&KK40.SLDPRT",pid1,pid2,0,1,false,0};

//2、特征名称
命令{"配合","KS&KK40.SLDPRT","前视基准面","前视基准面",0,1,false,0};

//3、实体名称
命令{"配合","KS&KK40.SLDPRT","F1","F2",0,1,false,0};

14. 设置零件状态

命令{"设置零件状态",零组件名,状态类型};

  • 状态类型:0=压缩,1=轻化,2=全部还原(包括子零件),3=还原,4=全部轻化(包括子零件),6=刚性,7=柔性,8=不在材料明细表,9=在材料明细表
  • 刚性与柔性只适用于装配体

示例:

//设置组件柔性
命令{"设置零件状态","KS&KK40.SLDASM",7};

15. 修改孔

命令{"修改孔",孔特征名称,大小};

  • 孔特征名称(标准孔):"M3 螺纹孔1","M4 六角凹头螺钉的柱形沉头孔1"。。。
  • 大小 :"M3","M4"。。。

示例:

命令{"修改孔","M3 螺纹孔1","M4"};

命令{"修改孔",孔特征名称,大小,标准,类型};

  • 标准 :8=ISO,9=JIS,13=GB
  • 类型 :139=沉头孔,140=平头孔,144=螺纹孔,710=销钉孔

示例:

命令{"修改孔","M3 螺纹孔1","M4",8,139};

命令{"修改孔",孔零件名称,孔特征名称,大小};

示例:

命令{"修改孔","KS&KK40.SLDPRT","M3 螺纹孔1","M4"};

命令{"修改孔",孔零件名称,孔特征名称,大小,标准,类型};

示例:

命令{"修改孔","KS&KK40.SLDPRT","M3 螺纹孔1","M4",8,139};