基于ActiveX自定义属性插件的开发与应用

0 引言

SolidWorks是基于Windows平台的三维机械设计软件,在国内已得到广泛使用。该软件具有全面的实体建模功能,可快速生成完整的工程图,其尺寸驱动功能使图样的修改更加方便,此外还可以进行模具设计、工程分析以及产品数据管理等。总之,SolidWorks功能强大、技术创新,且易学、易用。为了更好地使用软件,以VB为开发工具,利用SolidWorks OLE应用程序开发接口API函数,实现了SolidWorks中自定义属性插件的开发,方便了SolidWorks用户的设计工作,提高了设计效率。

大多数工程图的标题栏中应该包括一些基本的设计信息,如零件名称、零件代号、材料以及设计者等,其中零件名称、零件代号、备注等信息还要出现在装配图的材料明细表中,这些内容若在工程图中一一进行编写和修改,其工作量大且不利于保证零件三维图与工程图设计信息的一致性。

SolidWorks是一个全相关的机械设计软件。其三维模型文件中的设计数据,如尺寸、注释和文件属性等内容与工程图相关。因此,在处理工程图标题栏和材料明细表中的设计数据时,可以将这些内容保存在三维模型文件中,使其自动显示在工程图相应的位置上,当需要对工程图中的内容进行修改时,直接修改三维模型文件中的相应数据即可实现,这样不仅保证了设计信息的一致性,还可以提高设计效率。然而即使这样,也十分繁琐,如果能开发一个控件,与solidWorks软件融为一体,则可以达到事半功倍的效果。

1 Active Ocx控件的开发

为了提高效率,以VB为开发工具,笔者开发了一个Active Ocx控件,并用SolidWorks“宏”操作来引用该控件,从而在SolidWorks中生成一个Properymanagerpage,并利用其中的控件添加自定义属性。程序运行界面如图1所示。

图1 程序运行界面

该程序可实现的功能如下。

1)如果文件只有一个默认配置“Default”,则自定义属性添加在文件的“自定义”栏,如果文件有两个及以上配置,则属性根据配置不同添加在“配置特定”栏。

2)添加的项目包括作者、序号和名称等,具体如图1所示。

3)选择不同的配置名称,则相应属性信息显示在对应的文本框内。

Active Ocx控件的开发步骤为:首先在VB中,新建工程,选择ActiveX控件,然后“确定”,并引用SolidWorks类和SolidWorks常数类,修改工程名称为propertymgr,并设置此项目为工程兼容,在名称栏输入“shuxing.ocx”,之后如图1所示在用户控件UserControll上添加各个控件。

1.1获得SolidWorks对象

获得SolidWorks对象,即获得与SolidWorks的接口,这是SolidWorksAPI最高级别的对象,可以控制SolidWorks文件的建立、打开和关闭等操作。代码如下:

1.2获得文件名称与配置名称

SolidWorks API提供了按照配置名称访问自定义属性的方法CustomInfO2(读取自定义属性的值)、DeleteCustomInfo2(删除指定的自定义属性)、AddCustomInfo3(添加自定义属性的名称和参数值),这些方法都要求指定文件的配置名称。因此为了对当前模型文件和当前配置设定自定义属性,必须首先要获得当前配置的名称,利用GetConfiguration-Names()方法可以获得当前模型文件配置的名称,并利用GetConfigurationCount()方法获得当前配置的数量。代码如下:

1.3访问自定义属性

本程序设计根据配置不同而分别添加不同的自定义属性。主要属性配置方法如下。

1)CustomInfo:如果只有一个默认配置,将获取当前文档自定义栏中的自定义属性的值。

其中,“序号”为自定义属性的名称(以下同)。

2)DeleteCustomInfo:如果只有一个默认配置,将删除当前文档自定义栏中的自定义属性的值。

3)CustomInfo2:如果有两个及以上配置,将获取当前文档指定配置的自定义属性的值。

其中,configname为配置名称。

4)DeleteCustomInfo3:如果有两个及以上配置,删除当前文档指定配置的自定义属性的值。

5)AddCustomInfo3:如果有两个及以上配置,向当前文档中指定的配置添加自定义属性及值。

其中,swCustomInfoNumber为自定义属性的类型;UserControl.Text2.Text为自定义属性的具体值。

主程序代码完成后,就可以点击“文件→生成shuxing.ocx”,完成Active Ocx控件的开发。

2 在SolidWorks中运行

要在SolidWorks中运行上面生成的控件,需要由“宏”程序调用。利用“宏”在solidWorks界面中添加指定的应用程序后,就如同S0lidWorks调用了自身的功能一样。

2.1建立“宏”程序

建立“宏”程序,首先建立与solidWorks的连接,并判别当前文档是不是零件或者装配文件,如果是,则调用shuxing.ocx;如果是工程图文件,则显示错误。

部分代码如下:

其中CreateFeatureMgrControl为创建特性管理器视图方法,”propertymgr.UserControll”为对8huxing.ocx控件的调用。

2.2指定“宏”操作

在SolidWorks中可以指定宏命令的文件位置,并定制工具栏,将所执行的宏操作按钮添加到指定的位置上。具体步骤如下。

点击菜单“工具→自定义→命令→宏”,选择“新建宏按钮”,拖动图标到SolidWorks任意工具栏,再按照图2所示的设置即可。

图2 指定“宏”操作

设置完成后,点击设置好的图标,就可以在SolidWorks运行该程序(运行界面见图1)。

3 结语

笔者开发的Active Ocx控件,可以用“宏”程序调用。以特性管理器页面的方式来显示程序,可以使程序与SolidWorks界面结合紧凑,方便使用。

 

 

 

 

返回Solidworks技术文章专题列表>>>