在Solidworks的使用中,一些用户的参数偏好都可以通过如下图的系统选项与文档属性进行设置。对于文档属性,用户虽然也可以通过统一的模板减少频繁的设置。但对于一个团队或者公司,Solidworks文档的统一性很重要,若每次都需要用户按照用户要求设置,一方面费时间,另一方面每个用户的操作都不容易规范,最终导致文档格式的不一致。
Solidworks API中的应用程序对象SldWorks就提供了系统设置方法,而扩展文档对象ModelDocExtension则提供了对应的文档属性设置的方法。我们可以通过这些方法进行自动化的设置,并将相关代码放在程序启动或新建文档处,这样所有用户的Solidworks的文档格式就是统一的。
1.相关函数方法
Solidworks中提供系统设置及文档属性设置的方法如下:
这些方法的参数都很相似,以
SldWorks.SetUserPreferenceDoubleValue(UserPreferenceValue, Value)为例,第一个参数为设置某个选项,参数为枚举值,第二个参数为选项的设定值。
看到这里读者一定会觉得模糊,当我需要设置某个选项的时候,我该使用哪个方法,而参数中的枚举值如何选呢。
其实我们不需要记住那么多的方法与参数,可以利用之前学过的宏的方式查找自己需要设置的内容。详见宏相关文章《宏工具--初探Solidworks自动化体验》,《宏文件解读--加深理解API接口》。
2.实例解析
a)思路方法
我们仅需点击录制宏,然后点开系统设置,修改需要的参数,停止录宏,查看宏文件,可以了解系统设置使用的方法及参数设定。
b)宏录制及解读
如图,取消勾选【系统选项】-->【普通】-->【输入尺寸值】
设置后,打开录制的宏文件,对于宏的解读如下:
标记1:告诉我们使用SldWorks::SetUserPreferenceToggle方法
标记2:告诉我们该选项【输入尺寸值】的枚举值为
swUserPreferenceToggle_e.swInputDimValOnCreate。
标记3:该选项的勾选结果值
c)其他项目说明
标记2中swUserPreferenceToggle_e枚举对象还存在很多值,swUserPreferenceToggle_e.swInputDimValOnCreate对应的是【输入尺寸值】,其他值对应的系统设置或文档属性设置的其他选项,也可以通过宏的录制去发现。
d)应用于其他语言(C#)
通过了解到方法和参数,则利用到C#场景如下
e)总结
使用API进行系统/文档的设置,首先通过宏找到方法,选择设置项(即参数1枚举值),对设置项进行设置(即参数2)
如下图为本文的示例程序,源码可上我的Github下载。操作步骤可见文章《公众号源码Github分享库》