新的一年了,开始新的分享。
做SolidWorks二次开发的时候,难免会遇到多语言的问题。
针对不同语言的客户生成不同语言的菜单,所以我们要知道Solidworks的当前界面语言是什么。
这个就简单的说一下方法: GetCurrentLanguage
看结果:
这个说明比较清楚,还有个相对应的方法,看上面这个例子。
Get Language and Localized Menu Names (VBA)
当然在实际 开发中可以采用资源文件来进行多语言处理,这里就不多介绍了。
下面我们主要看一下如何重命名文件。
就是下面这个
先录制宏,看一下有没有什么收获。
好像是可以录到,关键方法是RenameDocument
关闭当前装配后重新执行宏,也可以执行成功。说明没有问题。
上Api中搜索一下。
看api中的描述说明,临时把选中的组件重命名为指定的名称。
关于返回值表示的结果状态,也需要大家注意。
然后备注里说有一些要注意的点,而且提到了另一个方法IRenamedDocumentReferences 大家可以扩展看一下。
还是老样子,改写成C#语句。
这个重命名,前提是要选中对应的组件。
上代码:
var swModel = (ModelDoc2)swApp.ActiveDoc;
var boolstatus = swModel.Extension.SelectByID2("bodies-零件2-1@bodies", "COMPONENT", 0, 0, 0, false, 0, null, 0);
var longstatus = swModel.Extension.RenameDocument("bodies-零件2-newName");
if (longstatus==0)
{
swApp.SendMsgToUser("已经重命名!保存后生效。");
}
else
{
swApp.SendMsgToUser("失败了!");
}
这里给大家一个思考,这样修改了文件名,旧的文件还在吗? 工程图的名称怎么办?
再一个是如何做到批量修改,做到方便快速的得到想要的结果 。
所以说要达到实用标准还是有很多的东西要考虑的。