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

Siemens PLM Sortware征文:基于SolidEdge的智能图框属性编辑器

来源:e-works 作者:丁建新 高静丹 时间:2008-10-10 15:54:17 点击:次 字体:[ ] 收藏 我要投稿
1、前言

SolidEdge 是SIEMENS 公司旗下的一款基于Windows 环境的中高端CAD 软件。它具有强大的二维和三维绘图功能,还提供了多种二次开发的途径,可以方便地开发出自己的应用程序来扩展SolidEdge 的功能,且界面友好,被广泛应用于各种行业中。

本公司自从引进SolidEdge 后,已将其应用到公司的各个领域,并在应用的基础上也对其进行了二次开发,智能图框属性编辑器就是其中一项二次开发的成果。图框是工程师工作中最常用到的一种具有企业化特性的工具,随着业务量的增大,出图及图纸更新的速度明显的走快,对图框中一些内容的操作也变得极其的繁琐。因此,对图框内容能够实现统一的管理并有一定的智能化,在保证工程师工作质量的同时提高其工作的速度,具有显著的实际应用意义,因此本人就开发了这个基于SolidEdge 的智能图框属性编辑器。

2、智能图框属性编辑器的开发

智能图框属性编辑器,如图一所示,是将图框中所涉及到的需要修改的内容全部归纳在一起。可以在自动识别工程图中所引用零件的零件名称、图号及比例等(如图二所示)的同时;接受用户的输入,并将这些数据的内容全部反应在相对应的图框中;也可以在进行图纸的更新时,自动识别原先图框中的属性值,以便进行数据的更新。该编辑器的设计理念是用VB.NET来提取、修改和增加SolidEdge中的参数信息,并通过SolidEdge中的宏这个程序接口功能将开发的程序与SolidEdge完美结合,从而实现了图框属性的统一管理。

图 1:(智能图框编辑器)

图 2:(智能图框编辑器工作启动状态)


2.1 用户操作窗口的设计

利用VB.NET的可视化技术,可以创建用户的操作界面。如图三所示,操作界面上主要分为四部分:设计属性、代号属性、技术要求及换版属性。

图 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

设计者、设计日期以及代号属性等数据的读取依此类推

比例自动

On Error Resume Next

If 中间变量.Text = 0 Then

If objvr.activesheet.DrawingViews.Item(1).ScaleFactor < 1 Then

图纸比例.Text = "1:" & Format(1 / objvr.activesheet.DrawingViews.Item (1).ScaleFactor)

Else

图纸比例.Text = Format(objvr.activesheet.DrawingViews.Item(1).ScaleFactor) & ":1"

End If

Button8.Visible = True

Button9.Visible = False

Else

图纸比例.Enabled = True

图纸比例.Text = objvr.Properties.Item("Custom").Item("图纸比例").Value

Button9.Visible = True

Button8.Visible = False

End If

更新显示

Call objvr.UpdatePropertyTextDisplay()

此段程序代码(已将一些通用代码缩减,只保留了重要部分)主要作用是当启动程序后:程序自动检测打开程序的工作环境,因为本程序只允许在SolidEdge工程图环境下使用;程序中的各个ComboBox控件被赋值;程序自动读取当前工程图中的已有数据并加载到程序相对应的控件上以便修改;程序自动捕捉当前工程图的主视图比例。


2.2.3 控件"确定"程序代码

开始写入属性

Select Case objSolidEdge.ActiveEnvironment

Case "Detail" 图纸环境

Call objvr.Properties.Item("Custom").Add("图号", 图号.Text)

其它如零件名称、设计日期等依此类推

中间变量

Call objvr.Properties.Item("Custom").Add("中间变量", 中间变量.Text)

End Select

技术要求

Dim i As Integer

For i = 0 To ListBox2.Items.Count - 1

TextBox2.Text = TextBox2.Text Chr(49 i) "." ListBox2.Items.Item(i) Chr(13) Chr(10)

TextBox2.Text = TextBox2.Text Chr(49 i) "." ListBox2.Items.Item(i)

TextBox2.Text = TextBox2.Text Chr(13)

Next i

If 启用.CheckState = CheckState.Checked Then

Create/get the application with specific settings

On Error Resume Next

objApp = GetObject(, "SolidEdge.Application")

objDoc = objApp.ActiveDocument

objSheet1 = objDoc.ActiveSheet

Create a TextBox object

objTxtboxs = objSheet1.TextBoxes

objTxtbox = objTxtboxs.Add(x1:=0.04, y1:=0.11, z1:=0)

If CheckBox1.CheckState = CheckState.Unchecked Then

objTxtbox.Edit.TextSize = "0.0035"

objTxtbox.Edit.Font = "宋体"

objTxtbox.Edit.AspectRatio = "1"


objTxtbox.Text = "技术要求:" Chr(13) TextBox2.Text

Else

objTxtbox.Edit.TextSize = "0.0035"

objTxtbox.Edit.Font = "Arial"

objTxtbox.Edit.AspectRatio = "1"

objTxtbox.Text = "Notice:" Chr(13) TextBox2.Text

End If

objApp = Nothing

End If

更新显示

Call objvr.UpdatePropertyTextDisplay()

End

此段程序代码(已将一些通用代码缩减,只保留了重要部分)的主要作用是将用户输入的参数信息保存到当前打开的工程图中,其中比较有特色的是技术要求的输入这段代码,它完全控制了SolidEdge中TEXT这个参数。

2.3 对应工程图标准图框的设置

在设计好的工程图标准图框中引入图框属性参数,具体方法是借用SolidEdge的"选择属性文本"这个工具进行设置,如图四所示。

图 4:(属性值的引入方式)

2.4 程序的应用

智能图框属性编辑器在经过长时间的应用后,实际证明了不但可以通过该编辑器有效的将SolidEdge工程图图框中的属性参数统一的管理起来,而且更重要的是它较大的提高了出图人员的工作效率。

3、结论

当今世界,分秒必争的环境下,尽量缩短工程图纸的处理时间也变的尤为的重要,因此,本文所提到的智能图框属性编辑器不但填补了这方面的空白,并且着实大大提高了工程处理的处理时间,具有很大的实际意识。

1、前言

SolidEdge 是SIEMENS 公司旗下的一款基于Windows 环境的中高端CAD 软件。它具有强大的二维和三维绘图功能,还提供了多种二次开发的途径,可以方便地开发出自己的应用程序来扩展SolidEdge 的功能,且界面友好,被广泛应用于各种行业中。

本公司自从引进SolidEdge 后,已将其应用到公司的各个领域,并在应用的基础上也对其进行了二次开发,智能图框属性编辑器就是其中一项二次开发的成果。图框是工程师工作中最常用到的一种具有企业化特性的工具,随着业务量的增大,出图及图纸更新的速度明显的走快,对图框中一些内容的操作也变得极其的繁琐。因此,对图框内容能够实现统一的管理并有一定的智能化,在保证工程师工作质量的同时提高其工作的速度,具有显著的实际应用意义,因此本人就开发了这个基于SolidEdge 的智能图框属性编辑器。

2、智能图框属性编辑器的开发

智能图框属性编辑器,如图一所示,是将图框中所涉及到的需要修改的内容全部归纳在一起。可以在自动识别工程图中所引用零件的零件名称、图号及比例等(如图二所示)的同时;接受用户的输入,并将这些数据的内容全部反应在相对应的图框中;也可以在进行图纸的更新时,自动识别原先图框中的属性值,以便进行数据的更新。该编辑器的设计理念是用VB.NET来提取、修改和增加SolidEdge中的参数信息,并通过SolidEdge中的宏这个程序接口功能将开发的程序与SolidEdge完美结合,从而实现了图框属性的统一管理。

图 1:(智能图框编辑器)

图 2:(智能图框编辑器工作启动状态)


2.1 用户操作窗口的设计

利用VB.NET的可视化技术,可以创建用户的操作界面。如图三所示,操作界面上主要分为四部分:设计属性、代号属性、技术要求及换版属性。

图 3:(智能图框编辑器各工作界面)

通过窗体的启动等控件来提取当前SolidEdge工程图所涉及的零部件信息,然后根据需要来对各个图框属性进行赋值,之后通过控件"确定"来实现对当前工程图图框中相关属性值的修改和增加,最后编写相关的程序代码。对于智能图框属性编辑器,其核心代码是有关当前工程图的属性提取和修改、主视图比例的自动提取以及技术要求的输入。

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

热门新闻

    推荐新闻