SolidEdge的智能图框属性编辑器

2013-05-17  by:广州有限元分析、培训中心-1CAE.COM  来源:仿真在线

丁建新 高静丹 来源:e-works
关键字:SolidEdge MicrosoftVisualStudio VB.NET 智能图框
介绍了基于SolidEdge,利用MicrosoftVisualStudio(VB.NET)进行二次开发的一个具有Windows界面的智能图框属性编辑器。该编辑器使图框属性得到了统一的管理,不但可以接受用户的参数输入,并且又有智能继承功能,使我们在出图时更方便、快捷。

1、前言
   
SolidEdge 是SIEMENS 公司旗下的一款基于Windows 环境的中高端CAD 软件。它具有强大的二维和三维绘图功能,还提供了多种二次开发的途径,可以方便地开发出自己的应用程序来扩展SolidEdge 的功能,且界面友好,被广泛应用于各种行业中。
   
本公司自从引进SolidEdge 后,已将其应用到公司的各个领域,并在应用的基础上也对其进行了二次开发,智能图框属性编辑器就是其中一项二次开发的成果。图框是工程师工作中最常用到的一种具有企业化特性的工具,随着业务量的增大,出图及图纸更新的速度明显的走快,对图框中一些内容的操作也变得极其的繁琐。因此,对图框内容能够实现统一的管理并有一定的智能化,在保证工程师工作质量的同时提高其工作的速度,具有显著的实际应用意义,因此本人就开发了这个基于SolidEdge 的智能图框属性编辑器。
   
    2、智能图框属性编辑器的开发
   
智能图框属性编辑器,如图一所示,是将图框中所涉及到的需要修改的内容全部归纳在一起。可以在自动识别工程图中所引用零件的零件名称、图号及比例等(如图二所示)的同时;接受用户的输入,并将这些数据的内容全部反应在相对应的图框中;也可以在进行图纸的更新时,自动识别原先图框中的属性值,以便进行数据的更新。该编辑器的设计理念是用VB.NET来提取、修改和增加SolidEdge中的参数信息,并通过SolidEdge中的宏这个程序接口功能将开发的程序与SolidEdge完美结合,从而实现了图框属性的统一管理。
   

SolidEdge的智能图框属性编辑器autocad案例图片1

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

SolidEdge的智能图框属性编辑器autocad案例图片2

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


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

SolidEdge的智能图框属性编辑器autocad案例图片3

    图 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的"选择属性文本"这个工具进行设置,如图四所示。
   

SolidEdge的智能图框属性编辑器autocad应用技术图片图片4

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

    2.4 程序的应用
   
智能图框属性编辑器在经过长时间的应用后,实际证明了不但可以通过该编辑器有效的将SolidEdge工程图图框中的属性参数统一的管理起来,而且更重要的是它较大的提高了出图人员的工作效率。 
   
3、结论
   
当今世界,分秒必争的环境下,尽量缩短工程图纸的处理时间也变的尤为的重要,因此,本文所提到的智能图框属性编辑器不但填补了这方面的空白,并且着实大大提高了工程处理的处理时间,具有很大的实际意识。


开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:SolidEdge的智能图框属性编辑器 AutoCAD培训 AutoCAD培训课程 AutoCAD图纸设计 AutoCAD在线视频 AutoCAD技术学习教程 AutoCAD软件教程 AutoCAD资料下载 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 Abaqus培训 Autoform培训 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com