SolidWorks中公差与符号标注的二次开发
当前计算机辅助设计在机械制造领域得到越来越广泛的应用。SolidWorks 是基于 PARASOLID几何造型核心,采用 VC++编程和面向对象的数据库来开发的。SolidWorks 具有基于特征的参数化实体造型、NURBS 复杂曲面造型、实体与曲面融合、基于约束的装配造型等一系列先进的三维设计功能及工具。尽管 SolidWorks 具有很多的优点,但是 SolidWorks 在公差标注和粗糙度符号标注方面仍存在较多的不足之处,在公差标注方面,SolidWorks 本身的上下偏差标注,需要工程技术人员自己查相关手册输入上下偏差,因此,在使用 SolidWorks 的同时,笔者考虑了用连接相关数据库的方法,用户只需输入有关"偏差代号""公差等级"就可实现标注。这样就使标注工作简化。同时,笔者采用相似的方法实现了粗糙度的标注,所设计的窗体比 SolidWorks 所带的窗体简洁,但其实现的功能与之相同。且许多输入是用选取下拉菜单内容的方法,简化了用户输入。

1 设计思想和开发原则

app开发实例本软件的研制开发方法采用完全面向对象的设计思想和开发方法,软件开发过程中,要设计许
多用户界面,在设计中就要遵循一些原则,一个友好的用户界面应满足以下几个方面的要求:

1)减少记忆量

本系统用户界面设计中主要采用以下方法:采用提示选择,而不是输入命令串,这种方法为不了解系统的终端用户带来了极大的方便,(在此处,笔者考虑采用了下拉式组合框(ComboBox),用户可直接选择"偏差代号""公差等级");另外本设计中,有多个消息框,提示用户出错的地方,并准确纠正输入。

2)灵活的提示信息

应用软件运行时,应能给出简单易懂的提示信息,使用户的工作能顺利地进行。在用户对提示信息做出回答后,若回答有效,则引导用户进行下一步工作;否则,应能指出错误原因及改正方法。


3)良好的出错处理

一个好的系统在操作错误发生后可以复原到错误操作前的状态,不会因此"死机"。一些更高级的系统具有"容错"能力。为便于了解已操作的命令或重复运行已执行的操作,系统可以记录用户送入的操作命令,以便执行重复命令。二次开发过程也有其开发原则和要求:平台稳定性,可移植性和兼容性,可伸缩性,系统融合性和相对独立性,执行高效性,技术先进性,还有平台易用性。本系统的开发过程就是遵循这样的原则进行的。

2 关键技术

2.1 SolidWorks 的二次开发准备
SolidWorks 进行的二次开发,主要是利用SolidWorks 为用户提供了强大的 API 应用编程接口。其中包含的功能函数,可被 VB, SolidWorks的宏文件调用,这些函数提供程序员直接访问SolidWorks 功能的能力。用户可在 VB 中创建动态链接库工程,加入相关代码,编译
生成*.dll 文件,然后再加载此文件,用户自己开发的动态链接库中可实现与 SolidWorks 相同的功能。从而可以扩展 SolidWorks 的功能。

首先,启动 VB 建立"ActiveX DLL"文件,只有采用这种格式才会编译生成*.dll 文件。其次,必须在 VB中引入 SolidWorks 的对象库。具体做法是:必须选择【工程】/【引用】菜单项,在可用的引用列表框中选择"Sldworks 2001plus Type Library"条目,按 "确定"就可以了。

下面就可以进行二次开发,添加菜单及用户界面,扩展其功能。

2.2 SolidWorks 的宏操作及应用

宏在 SolidWorks 的二次开发中起着重要的衔接作用,在本设计中使用同样也用到了宏。比如在本设计中,使用方法为:在用 SolidWorks 本身的标注操作之前,就打开宏"录制",将整个标注过程录制下来,录制完成并保存后,就可对其进行编辑;由于录制的是具体的标注过
程,里面的数据都为具体数值,可以将其中的关键语句拷到VB 工程中,修改具体数值为变量;然后通过程序对变量进行赋值,这样运行 VB 工程时就可通过输入具体数值,进行每次的标注操作,实现所需的功能。

2.3 SolidWorks 中添加菜单的关键技术

在此软件系统开发中,用到了许多软件知识,这其中包括:Visual BasicAccessVB的数据库开发知识、SolidWorks API 应用编程接口等技术。通过这些关键技术,就可对 SolidWorks 添加菜单。

下面结合程序,介绍其实现方法。程序如下:

Private Function SwAddin_ConnectToSW(ByVal ThisSW As Object, &_ByVal Cookie As Long) As Boolean
Dim Ret As Boolean
Set iSldWorks = ThisSWiCookie = Cookie
Ret = iSldWorks.SetAddinCallbackInfo(App.hInstance, Me,iCookie)
增加菜单部分
Ret = iSldWorks.AddMenuItem2(swDocDRAWING, iCookie,&_"公差标注...@附加项(&A)", -1, "DocDRAWING_dimension",&_"DocDRAWING_ItemUpdate","DocDRAWING_Item hintstring")
Ret = iSldWorks.AddMenuItem2(swDocDRAWING, iCookie,&_"粗糙度...@附加项(&A)", -1, "DocDRAWING_symbol", &_"DocDRAWING_ItemUpdate", "DocDRAWING_Item hintstring")
SwAddin_ConnectToSW = True
End Function
……

函数中前面是定义部分变量,下面就为添加菜单的关键部分,语句中许多函数在 SolidWorks的对象库和本软件的公用模块中已经定义。在开发过程中,可能遇到许多有关 API 函数的问
题,这就需要仔细阅读 SolidWorks 所带的 API 帮助函数,帮助文件为英文,这就提高了我国用户进行开发的难度。

"公差标注...@附加项(&A)""粗糙度...@附加项(&A)",这两句就是表示所添加菜单的名称;"DocDRAWING_dimension" "DocDRAWING_symbol",两函数表示所添加菜单所实现的功能。这些函数可在后面定义,来补充功能。下面就是其中的一个函数:

Public Sub DocDRAWING_dimension() 调用公差查询及标注窗体
frmseek.Show调用公差查询窗体
End Sub

所实现的功能将在下一节里面重点介绍。

最后,将所编写的程序生成*.dll 文件,在SolidWorks 下打开此文件,该软件就会在"插件"对话框中出现,选择该插件就会在菜单栏上出现。通过添加菜单的方法,可使 VB开发的应用
程序,直接挂在 SolidWorks 下,执行时不需要离开SolidWorks 平台,所开发的软件与 SolidWorks 形成了统一的界面。

2.4 SolidWorks 中添加的用户界面及实例演示

所有的开发结果只有通过友好的二次开发界面,才能将各项功能清楚的展示给用户。本系统本着将开发功能融合于 SolidWorks,使风格与SolidWorks 以及 Windows 相似,所以在软件界面上尽量少出现没有必要的内容。

如图 1 所示,添加的用户界面是由 VB 创建的,并通过前面介绍的添加菜单方法,与SolidWorks 融为了一体。
2 为两个标注功能实现的流程图,清楚的描述了标注系统的开发过程。流程图可以引导整个开发过程,便于大型程序的模块化设计,在软件设计中是必不可少的。使用时可根据流程图所示进行操作。下面将结合实例进行具体介绍。
公差标注窗体如图 1 所示。下面介绍一下此功能的使用方法:需要给工程图中某尺寸添加公差标注时,首先选定该尺寸,然后按所添加的【附加项】按钮,选择【公差标注】就会出
现图 1所示的窗体,输入刚才选择的尺寸值,然后选择偏差代号及公差等级,点击【确定】就会在窗体中输出上下偏差及公差尺寸,下面可选择【标注】进行自动标注,有丰富经验的设计人员也可根据尺寸公差自己标注。标注完成后,该标注界面会自动隐藏。
粗糙度符号标注窗体如图 3 所示。使用方法为:打开所要标注的工程图,选择要标注的位置,然后按所添加的【附加项】按钮,选择【粗糙度】就会出现图 3 所示的窗体,输入所要标注的参数和符号,有些项目也可以不输入,根据具体情况进行选择。点击【确定】就会在工程图指定位置出现所要求的标注符号。
3 结束语

本文说明了利用 VB SolidWorks 进行二次开发的方法,利用此方法,可以进行其它较为复杂的开发工作,从而开发出适合用户特定需要的专业软件。另外利用 VBVC 等面向对象的语言对 SolidWorks 的二次开发,方便地实现与其它设计软件的接口,用类似的方法对其它软件进行开发。同时,此种在应用层对软件进行的开发是当今软件开发的热点。

虽然本系统解决了一定的问题,但有些功能并不十分完善。例如,在进行公差标注时,必须输入其尺寸值才能标注;而不能在选取后自动将尺寸值输入到查询系统,这方面的内容有待在以后的开发中去解决。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。