佳工机电网 在线工博会 我的佳工网 手机版 English
关键字  
  选择展区 >>
您的位置: 首页 > CAD/CAM/PDM/PLM展区 > CAD/CAM软件展厅 > 产品库 > 技术论文 > 正文 产品库 会展 人才 帮助 | 注册 登录  
CAD/CAM软件
 按行业筛选
 按产品筛选
查看本类全部文章
e展厅 产品库 最新动态 技术文章 企业目录 资料下载 视频/样本 反馈/论坛
  技术应用 | 基础知识 | 外刊文摘 | 业内专家 | 文章点评 投稿 发表科技文章 
SolidWorks中公差与符号标注的二次开发
作者:喻步贤 杨波
欢迎访问e展厅
展厅
1
CAD/CAM软件展厅
CAD软件, CAD/CAM, CAM, 钣金CAD/CAM, CAI, ...
当前计算机辅助设计在机械制造领域得到越来越广泛的应用。SolidWorks 是基于 PARASOLID几何造型核心,采用 VC++编程和面向对象的数据库来开发的。SolidWorks 具有基于特征的参数化实体造型、NURBS 复杂曲面造型、实体与曲面融合、基于约束的装配造型等一系列先进的三维设计功能及工具。尽管 SolidWorks 具有很多的优点,但是 SolidWorks 在公差标注和粗糙度符号标注方面仍存在较多的不足之处,在公差标注方面,SolidWorks 本身的上下偏差标注,需要工程技术人员自己查相关手册输入上下偏差,因此,在使用 SolidWorks 的同时,笔者考虑了用连接相关数据库的方法,用户只需输入有关"偏差代号"及"公差等级"就可实现标注。这样就使标注工作简化。同时,笔者采用相似的方法实现了粗糙度的标注,所设计的窗体比 SolidWorks 所带的窗体简洁,但其实现的功能与之相同。且许多输入是用选取下拉菜单内容的方法,简化了用户输入。

1 设计思想和开发原则

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

(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 Basic、Access、VB的数据库开发知识、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 融为了一体。

newmaker.com

图 2 为两个标注功能实现的流程图,清楚的描述了标注系统的开发过程。流程图可以引导整个开发过程,便于大型程序的模块化设计,在软件设计中是必不可少的。使用时可根据流程图所示进行操作。下面将结合实例进行具体介绍。

newmaker.com

公差标注窗体如图 1 所示。下面介绍一下此功能的使用方法:需要给工程图中某尺寸添加公差标注时,首先选定该尺寸,然后按所添加的【附加项】按钮,选择【公差标注 …】就会出现图 1所示的窗体,输入刚才选择的尺寸值,然后选择偏差代号及公差等级,点击【确定】就会在窗体中输出上下偏差及公差尺寸,下面可选择【标注】进行自动标注,有丰富经验的设计人员也可根据尺寸公差自己标注。标注完成后,该标注界面会自动隐藏。

粗糙度符号标注窗体如图 3 所示。使用方法为:打开所要标注的工程图,选择要标注的位置,然后按所添加的【附加项】按钮,选择【粗糙度 …】就会出现图 3 所示的窗体,输入所要标注的参数和符号,有些项目也可以不输入,根据具体情况进行选择。点击【确定】就会在工程图指定位置出现所要求的标注符号。

newmaker.com

3 结束语

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

虽然本系统解决了一定的问题,但有些功能并不十分完善。例如,在进行公差标注时,必须输入其尺寸值才能标注;而不能在选取后自动将尺寸值输入到查询系统,这方面的内容有待在以后的开发中去解决。(end)
文章内容仅供参考 (投稿) (如果您是本文作者,请点击此处) (3/4/2008)
查看更多CAD/CAM软件相关文章: more
·迪卡侬利用欧特克衍生式设计重新构想 更轻、更强、更可持续的自行车 Autodesk (11/18/2020)
·NUM助力台湾机床公司,实现机器人专用渐开线齿轮和摆线齿轮的自动化生产 (5/18/2019)
·hyperMILL革命性五轴加工策略 让复杂工件加工时间的节省高达90% OPEN MIND (12/6/2018)
·ESPRIT助力上海泷泽在机床行业寒冬期逆势增长300% DP Technology (8/13/2018)
·小型数控铣床刀具路径(刀路)参数曲面粗精选择 newmaker (3/26/2018)
·厦门东亚机械:CAXA提升企业设计效率 (3/11/2009)
·基于SolidWorks采用VisualC++开发模具标准件库 马颖 张长胜 聂福荣 (3/4/2008)
·Made-to-Order Vehicles from ERP and CAD Dr. Andreas Schaffry (3/3/2008)
·北京石油机械厂:三维创新拓市场 一体化协同高效率 CAXA (3/3/2008)
·Tool Shop Optimization: Stepping Up To 5-Axis Cimatron Technologies, Inc. (2/29/2008)
查看相关文章目录:
·CAD/CAM/PDM/PLM展区 > CAD/CAM软件展厅 > CAD/CAM软件文章
文章点评 查看全部点评 投稿 进入贴吧


对 CAD/CAM软件 有何见解?请到 CAD/CAM软件论坛 畅所欲言吧!


网站简介 | 企业会员服务 | 广告服务 | 服务条款 | English | Showsbee | 会员登录  
© 1999-2024 newmaker.com. 佳工机电网·嘉工科技