基于SolidEdge的智能图框属性编辑器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于SolidEdge的智能图框属性编辑器
发表时间:2008-8-18 丁建新高静丹来源:e-works
介绍了基于SolidEdge,利用MicrosoftVisualStudio()进行二次开发的一个具有Windows界面的智能图框属性编辑器。该编辑器使图框属性得到了统一的管理,不但可以接受用户的参数输入,并且又有智能继承功能,使我们在出图时更方便、快捷。
1、前言
SolidEdge 是SIEMENS 公司旗下的一款基于Windows 环境的中高端CAD 软件。它具有强大的二维和三维绘图功能,还提供了多种二次开发的途径,可以方便地开发出自己的应用程序来扩展SolidEdge 的功能,且界面友好,被广泛应用于各种行业中。
本公司自从引进SolidEdge 后,已将其应用到公司的各个领域,并在应用的基础上也对其进行了二次开发,智能图框属性编辑器就是其中一项二次开发的成果。图框是工程师工作中最常用到的一种具有企业化特性的工具,随着业务量的增大,出图及图纸更新的速度明显的走快,对图框中一些内容的操作也变得极其的繁琐。因此,对图框内容能够实现统一的管理并有一定的智能化,在保证工程师工作质量的同时提高其工作的速度,具有显著的实际应用意义,因此本人就开发了这个基于SolidEdge 的智能图框属性编辑器。
2、智能图框属性编辑器的开发
智能图框属性编辑器,如图一所示,是将图框中所涉及到的需要修改的内容全部归纳在一起。可以在自动识别工程图中所引用零件的零件名称、图号及比例等(如图二所示)的同时;接受用户的输入,并将这些数据的内容全部反应在相对应的图框中;也可以在进行图纸的更新时,自动识别原先图框中的属性值,以便进行数据的更新。该编辑器的设计理念是用来提取、修改和增加SolidEdge中的参数信息,并通过SolidEdge 中的宏这个程序接口功能将开发的程序与SolidEdge完美结合,从而实现了图框属性的统一管理。
图1:(智能图框编辑器)
图2:(智能图框编辑器工作启动状态)
2.1 用户操作窗口的设计
利用的可视化技术,可以创建用户的操作界面。如图三所示,操作界面上主要分为四部分:设计属性、代号属性、技术要求及换版属性。
图3:(智能图框编辑器各工作界面)
通过窗体的启动等控件来提取当前SolidEdge工程图所涉及的零部件信息,然后根据需要来对各个图框属性进行赋值,之后通过控件"确定"来实现对当前工程图图框中相关属性值的修改和增加,最后编写相关的程序代码。对于智能图框属性编辑器,其核心代码是有关当前工程图的属性提取和修改、主视图比例的自动提取以及技术要求的输入。
2.2 程序代码及实现技术
程序代码是针对用户界面各个控件的一种语言说明。在智能图框属性编辑器中,最主要的技术成份是窗体启动和控件"确定"的代码。
2.2.1 公用变量的声明
Inherits System.Windows.Forms.Form
Private objSheet, objDocument, objSolidEdge, objvr As Object
Dim objApp As SolidEdgeFramework.Application
Dim objDoc As SolidEdgeDraft.DraftDocument
Dim objSheet1 As SolidEdgeDraft.Sheet
Dim objTxtboxs As SolidEdgeFrameworkSupport.TextBoxes
Dim objTxtbox As SolidEdgeFrameworkSupport.TextBox
此段程序代码主要作用是对将要用到的变量进行声明。
2.2.2 窗口启动时的代码
Me.InstructorTableAdapter.Fill(Me.InstructorDataSet.instructor)
Me.MaterialTableAdapter.Fill(Me.InstructorDataSet.material)
On Error Resume Next
objSolidEdge = Nothing
objSolidEdge = GetObject(, "SolidEdge.Application")
If objSolidEdge Is Nothing Then
MsgBox("您必须在SolidEdge工程图环境下才能使用本程序。")
End
End If
On Error GoTo 0
On Error Resume Next
objvr = objSolidEdge.ActiveDocument
If Err.Number Then
MsgBox("当前没有活动的文件")
End
End If
Me.Height = 423
Me.Width = 362
On Error GoTo 0初始数据载入
设计者.Items.Add("设计者A")
设计者.Items.Add("设计者B ")
校对者;表面处理;说明;备注等ComboBox控件的数据载入方法和控件设计者的数据载入方式一样,当然也可以用数据库的形式进行加载。
Select Case objSolidEdge.ActiveEnvironment
Case "Detail" 图纸环境
SSTab2.SelectedIndex = 0
读入以前输入的信息
On Error Resume Next
设计属性
图号.Text = objvr.Properties.Item("Custom").Item("图号").Value
零件名称.Text = objvr.Properties.Item("Custom").Item("零件名称").Value