当前位置: 主页>技术文章>SolidEdge>

UGS征文7:基于SolidEdge的智能土建系统

来源:e-works 作者:丁建新 时间:2008-07-19 01:36:18 点击:次 字体:[ ] 收藏 我要投稿

1 前言

SolidEdge是UGS公司的一款基于Windows环境的中端CAD软件。它具有强大的二维和三维绘图功能,还提供了多种二次开发的途径,可以方便地开发出自己的应用程序来扩展SolidEdge的功能,且界面友好,被广泛应用于机械设计行业。
本公司自从引进SolidEdge后,已将其应用到公司的各个领域,并在应用的基础上也对其进行了二次开发。自动扶梯的土建设计是一个自动扶梯设计项目的开始,由于它要求每次都要随客户项目要求的变化而变化,所以自动扶梯的土建设计不但是一件耗时耗力的工作,更是一件关系到全局的重要工作。因此,对自动扶梯的土建设计能够实现智能化设计,在保证其质量的同时提高其设计速度,具有显著的实际意义和经济效益,因此本人就开发了这套基于SolidEdge的智能土建系统。

2 智能土建系统的开发智能土建系统,如图一所示,可以在接受用户输入后,自动建立一个土建图库,并把每次用户定义的土建图自动保存到该库中,以便用户再次进行查看。该系统的设计理念是用VisualBasic来驱动SolidEdge从而实现参数化设计,并通过调用SEDraftX(SolidEdge自带的一个控件)控件来实现即实查看的功能。

图一智能土建系统

2.1 SolidEdge模型设计

用SolidEdge的任何版本设计出自动扶梯土建的结构模型(本文用单台布置的模型进行举例说明),然后进行可变参数的设置和更改,如图二所示。

图二三维模型

可变参数都设置好后,建立该三维模型的工程图,建立工程图时要注意,一定要将“工具---保持关系”这个选项选中,这样就能使工程图中的尺寸随三维模型的变化而变化,如图三所示。

图三工程图

2.2用户操作窗口的设计

利用VB(VisualBasic)的可视化技术,可以创建用户的操作界面,如图四所示。

图四用VB开发的SolidEdge用户界面

通过窗体上的控件将自动扶梯土建结构模型的几何参数和变量设计参数等联接起来进行设置,设置好后通过对“模拟”、“查看”等控件来实现对整个模型的驱动性操作;然后对各个对象的属性进行设置,设置窗体和各个控件的属性;最后编写程序代码。对于智能土建系统,其重要的代码是有关SolidEdge设计变量参数和重新更新新的模型的代码。

2.3程序代码及实现技术

程序代码是针对用户界面对各个控件的一种语言说明。在智能土建系统中,最主要的技术成份是“模拟”及“查看”的代码。

2.3.1公用变量的声明:
OptionExplicit
DimobjAppAsObject
DimobjDocsAsObject
DimobjDocAsObject
DimobjVariablesAsObject
DimobjNamedDimsAsObject
DimobjDoc2AsObject
DimobjDocs2AsObject
DimobjsheetsAsObject
DimobjviewsAsObject
DimdelAsObject

此段程序代码主要实现技术:对将要用到的变量进行声明。

2.3.2窗口启动时的代码:

PrivateSubForm_Load()
DimFso
SetFso=CreateObject("Scripting.FileSystemObject")
IfNot(Fso.FolderExists(""&App.Path&"\合同土建"))Then
Fso.CreateFolder(""&App.Path&"\合同土建")
EndIf
OnErrorResumeNext
EndSub

此段程序代码主要实现技术:当启动程序后,程序将检查在本程序所放的位置处有没有一个名为”合同土建”的文件夹,如果没有程序将自动建立一个名为”合同土建”的文件夹。

2.3.3控件”模拟”程序代码:

PrivateSub模拟_Click()
DimbBefUpDtAsBoolean
DimbAftUpDtAsBoolean
OnErrorResumeNext
SetobjApp=GetObject(,"SolidEdge.Application")
IfErrThen
Err.Clear
SetobjApp=CreateObject("SolidEdge.Application")
EndIf
SetobjVariables=objApp.ActiveDocument.Variables
objApp.Visible=False
SetobjDocs=objApp.Documents
IfOption1.Value=TrueAndCombo1.Text="30"AndCombo2.Text="2个"AndOption6.Value=TrueThen
SetobjDoc=objDocs.Open(""&App.Path&"\Builder-FES302\FES302single.asm")
SetobjNamedDims=objVariables.Query("*")
CallobjVariables.Edit("A",Combo3.Text)
CallobjVariables.Edit("H",Text2.Text)
CallobjVariables.Edit("SD",Text3.Text)
CallobjVariables.Edit("XD",Text4.Text)
CallobjVariables.Edit("Z",Text5.Text)
CallobjDoc.UpdateAll
EndIf
EndSub

此段程序代码主要实现技术:本程序以FES302single为例,当点击”模拟”这个控件后,如果所选参数符合FES302single的选择条件时,程序将打开指定位置处的FES302single.asm文件并将其隐藏,然后程序将用户所填的变量值赋给所打开的三维模型并将其激活更新。

2.3.4控件”查看”程序代码:
PrivateSubCommand3_Click()
Dimi
Dimj
Label14.Caption="*OK,该项目已经完成!"
SetobjDocs2=objApp.Documents
IfOption1.Value=TrueAndCombo1.Text="30"AndCombo2.Text="2个"AndOption6.Value=TrueThen
SetobjDoc2=objDocs2.Open(""&App.Path&"\Builder-FES302\FES302single.dft")
EndIf
Setobjsheets=objDoc2.Sheets
Fori=1Toobjsheets.Count
Setobjviews=objsheets(i).DrawingViews
Forj=1Toobjviews.Count
Callobjviews(j).Update
Nextj
Nexti
objApp.Visible=False
CallobjDoc2.SaveAs(NewName:=""&App.Path&"\合同土建\"&Text1.Text&".dft")
SEDraftX1.DraftFile=(""&App.Path&"\合同土建\"&Text1.Text&".dft")
Command5.Enabled=True
EndSub

此段程序代码主要实现技术:当点击”查看”这控件后,符合条件的对应的工程图将会被程序打开并隐藏;然后程序将自动刷新每个视图,等刷新完成后程序将以用户所要求的名称(该项目合同号)将该工程图另存到”合同土建”该文件夹下;并指定SEDraftX1控件所显示的工程图为刚才另存的那个工程图,从而使我们达到能即时查看的效果。
除了以上几种代码外,还有”编辑该土建”等程序代码,这些程序代码指挥着窗体上的控件,使自动扶梯土建设计趋于简单化,合理化,多功能化。

2.4程序的应用

智能土建系统在经过长时间的应用后,实际证明了不但可以通过该系统得到高质量的自动扶梯土建图,而且更主要的是它大大提高了我们工程师的工作效率,在保证图纸质量的基础上工作效率竟提高了500%以上。

3 结论

自从20世纪30年代自动扶梯在我国开始使用到现在,自动扶梯的土建设计一直是一件比较烦琐而重要的工作,国内外的相关企业也对其作了一些针对性的开发,但其设计往往都还是基于二维尺寸上的变化,用VB开发的基于SolidEdge的智能土建系统,它深刻的体现出SolidEdge在各个行业中应用时的扩展功能很强。正如本文所说的智能土建系统,只要通过简单的选择和输入就能得到一张高质量的图纸(如图五所示),使得自动扶梯土建设计变的更为简单、高效和快捷。

图五生成高质量的图纸

注:本文获得2006年度UGS征文活动三等奖。

e-works为本文独家网络发布平台,本文所有内容,其他网站和平面媒体不得在未经授权的情况下以转载、复制或其他方式变相传播,违者负法律责任。


顶一下
(0)
0%
踩一下
(0)
0%
E-mail:sojoy2008@yahoo.com.cn 20秒注册会员 分享你的精彩
相关新闻
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:

热门新闻

    推荐新闻