• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Inventor文檔特性快速生成及標題欄國標化技術(shù)

      2013-03-21 05:34:12顧曉彤湯傳玲丁必榮
      圖學學報 2013年2期
      關(guān)鍵詞:工程圖插件對話框

      劉 煬, 顧曉彤, 湯傳玲, 丁必榮, 王 靜

      (合肥工業(yè)大學機械與汽車工程學院,安徽 合肥 230009)

      Inventor 是美國Autodesk公司推出的一套基于Windows平臺和自適應技術(shù)的優(yōu)秀三維機械CAD軟件,同時集成了微軟的COM組件編程技術(shù),用戶可根據(jù)自己的特殊要求對其二次開發(fā),擁有良好的開放性[1]。近年來,對于Inventor的開發(fā)研究主要集中在三維參數(shù)化造型方面,在工程圖和文檔特性方面的研究還較匱乏。如令狐克志[2]等分析API在貨架參數(shù)化三維造型中的應用,葉樂曉[3]等分析API在家具參數(shù)設(shè)計中的應用。

      文檔特性是指Inventor的Properties,用來存儲文檔的信息,包括零件文檔、裝配件文檔、工程圖文檔等。文檔特性是用戶最常用的一個方面,每個文檔都包含文件信息、項目信息、狀態(tài)信息、自定義信息,這些信息在圖檔管理方面有著重要的應用。若直接從終端用戶界面Iproperties對話框訪問,顯然比較麻煩,需要很清楚知道概要、項目、狀態(tài)、自定義、物理特性集中的包含的子信息,給操作者帶來一定的不便;同時Inventor自身提供的標題欄,數(shù)據(jù)信息還存在斷裂情況,默認的GB1標題欄還有諸多不符合國家標準的問題?;谏鲜鲈?,本文提出了面向?qū)ο蟮腁PI的訪問方式,有效地解決了文檔特性的快速生成和工程圖標題欄的國標化兩個方面的問題。

      1 面向?qū)ο蟮腎nventor開發(fā)技術(shù)

      Inventor API的技術(shù)基礎(chǔ)是微軟的自動化(Automation)技術(shù),通過它可以方便有效的利用當前各種流行的高級程序語言,如 VB、VB.NET、Visual C++、C#和Java 等對其二次開發(fā),增加新的功能,優(yōu)化操作[2]。對于Inventor 文檔特性的快速生成和標題欄的國標化是基于文檔特性對象而解決的,其對象模型[5]如圖1所示。

      圖1 文檔特性對象模型

      上述繼承圖反映了文檔特性中不同對象之間的關(guān)聯(lián)性,對象能夠?qū)崿F(xiàn)自上而下繼承的關(guān)鍵是獲得應用程序 (Application) 對象,它總位于對象繼承的頂端。獲取Application訪問權(quán),可得到API中的任何其他的對象。圖1中Documents表示不同類型文檔的集,如零件文檔、裝配文檔、工程圖文檔等;Document表示一個單獨的文檔,對于每一個文檔,都可以進入和它相關(guān)聯(lián)的屬性。每個文檔都有一個“特性集集合”(PropertySets),通過它可以遍歷和訪問所有“特性集”(Propertyset);特性集包含著對應的“特性”集合,提供對于它所擁有的“特性”的訪問;Property是一個具體的特性,它是名和值的匹配。這種層層遞進,簡明的訪問方式,正是面向?qū)ο箝_發(fā)技術(shù)的優(yōu)勢。

      本文采用Add-In (DLL)[5-6]的方式訪問API,原因是DLL插件運行在Inventor相同的處理空間,不僅可以提高運行效率,還具有4種特殊的能力:(1)當 Inventor 啟動時,插件可以自動加載;(2)插件可以創(chuàng)建新的命令;(3)插件可以使應用程序的功能始終被用戶獲得[2];(4)插件在不同PC機上移植性較好。

      2 文檔特性快速生成技術(shù)

      在零部件的設(shè)計過程中,文檔特性是不容忽視的一個方面,能夠?qū)崿F(xiàn)文檔特性的快速生成有著重要的意義。對于文檔特性的生成,可以通過終端用戶界面和API兩種方式訪問,利用API的方式可實現(xiàn)其快速生成,分別闡述如下。

      2.1 終端用戶界面的方式

      對于文檔特性,Inventor自身提供了Iproperties對話框的訪問方式,如圖2對話框的上部有幾個標簽如“常規(guī)”、“概要”、“項目”、“狀態(tài)”、“自定義”、“保存”、“物理特性”,這些標簽中包含著對零部件特性或者工程圖特性的信息設(shè)置。如“項目”包含著“零件代號”、“設(shè)計人”等,在“自定義”的標簽中還可以給文檔加入相關(guān)聯(lián)的其它屬性。每個標簽中包含的信息較大。

      圖2 文檔特性對話框

      2.2 API的訪問方式

      用API訪問文檔特性時,主要是針對特性集和特性兩個對象模塊。Inventor的文檔特性中有3個標準特性集和一個自定義特性集。對于特性集對應Iproperties對話框標簽中“概要、項目、狀態(tài)”,具體的訪問標識如表1所示[5]。

      表1 特性集的訪問標識

      標準特性集可通過“內(nèi)部唯一號”或者“唯一名”訪問,一般不采用顯示名,因為對于不同語言版本顯示名不同。VB.NET代碼如下:

      Dim m_doc As Inventor.Document

      Dim Indesign As propertyset

      Indesign =m_doc.propertysets.item ("內(nèi)部唯一號/唯一名")

      對于自定義的特性集,創(chuàng)建方法如下:m_doc.PropertySets.Add (Name As String,[InternalName]),其中Name和InternalName必須是唯一,否則訪問時會沖突。

      對于特性,它是特性集中的子信息,如其中一個特性集“項目”包含的“零件代號”、“描述”、“設(shè)計人”、“批準人”等都為特性,它們也有相應的標識。特性集“項目”中的部分“特性”標識如表2所示[5]。

      表2 特性集“項目”中的部分特性標識

      可以通過唯一名、唯一編號和權(quán)舉值3種方式來訪問特性。如訪問“零件代號”特性,VB.NET代碼如下:

      Dim OPartn as property

      OPartn = Indesign.Item ("Part Number") 或者

      OPartn = Indesign.ItemByPropId ("權(quán)舉值/唯一編號")

      賦值方式為:oPartn.value="Part-001"

      同時需要注意一點,“材料”特性的獲取不同于其它特性獲取。對于材料特性,可把零件文檔中常用的材料添加到列表框中,供快速選擇調(diào)用。VB.NET代碼如下:

      For Each currentMaterial As Inventor.Material In odoc2.Materials

      Me.CombomaterialBox1.Items.Add (currentMat_erial. Name)

      Next

      對于文本特性對話框中不存在的特性可以通過自定義的方式創(chuàng)建,方法如下:

      PropertySet.Add (PropValue, [Name], [PropId])

      允許在新建的特性集或者缺省自定義的特性集中添加特性,但是不允許向標準的特性集中添加屬性,Name和PropId在該特性集中必須是唯一的,值可以是Variant型,其中object或array除外。

      對于自定義則可以通過Delete方法刪除,語句是:PropertySet.Delete 或者 Property.Delete

      圖3是根據(jù)個人需要定制的文檔特性界面,去除了Iproperties對話框中不需要文檔特性,此界面較簡潔,可實現(xiàn)快速操作。

      圖3 文檔特性界面

      3 工程圖標題欄的國標化

      工程圖僅是設(shè)計模型的表達者,所以工程圖標題欄的數(shù)據(jù)來源應該是零部件的原始數(shù)據(jù)。但在不同文檔特性數(shù)據(jù)關(guān)聯(lián)的過程中,Inventor 2010/2011默認的標題欄GB1本身還存在一些問題如圖4所示。(1)重量的填寫不需要寫單位,(2)“投影符號”與“圖樣代號”應區(qū)別開;(3)沒有張數(shù)統(tǒng)計,如“共 張 第 頁”;(4)對于“工藝”,Inventor本身就沒有提供數(shù)據(jù)結(jié)構(gòu);(5)標題欄中主視圖的“比例”,還不能實現(xiàn)自動填寫(與GB/T10609.1-2008[7]比較得出)。

      圖4 Inventor自帶標題欄

      解決以上問題的關(guān)鍵技術(shù)如下:

      1)重量的處理

      對于工程圖標題欄中重量可通過編輯“標題欄”,引用“物理特性—模型”,然后選擇特性“質(zhì)量”,將其引用到標題欄對應位置,但是這種通過Inventor本身數(shù)據(jù)關(guān)聯(lián)引入的質(zhì)量帶有單位kg,不符合國標要求,需要對其處理。思路是將零部件文檔中質(zhì)量特性引用到工程圖文檔特性中,即要實現(xiàn)不同文檔之間的特性傳遞。質(zhì)量獲取流程如圖5所示。

      圖5 質(zhì)量獲取流程圖

      部分程序語句如下:

      For Each odesc in m_doc.Referenced_DocumentDescriptors

      odoc3 = odesc.ReferencedDocument

      strtext3=odoc3.ComponentDefinition.MassPro_perties.Mass

      invcustom=m_doc.PropertySets.Item("Inventor User Defined Properties ").Add (strtext3, "重量")

      如圖5所示,對于自定義中已存在“質(zhì)量”特性刪除的原因是:防止材料在二次修改重新加載時出現(xiàn)沖突,所以每次要先清除已存在自定義“質(zhì)量”特性,這樣可使材料能隨著Add-In界面的選擇而實時變化。通過m_doc. ReferencedDocument_Descriptors可以獲得當前激活文檔的一些內(nèi)部特性描述,再通過ReferencedDocument可以找到和當前激活文檔相關(guān)聯(lián)的特性,在這里主要找到相關(guān)聯(lián)的特性質(zhì)量,用ComponentDefinition.MassPro_ties. Mass語句。由Mass獲得工程圖中零部件不帶單位的質(zhì)量值,符合要求。將這個數(shù)值添加到工程圖自定義的特性“質(zhì)量”中,對其賦值,然后編輯工程圖中的“標題欄”,使“質(zhì)量”一欄引用的類型為“工程圖-自定義”,特性中為自定義的“質(zhì)量”,這樣標題欄中可獲得滿足標準的質(zhì)量值。

      2)投影符號的處理

      對于標題欄,新標準在原有的“零件代號”一欄中加入“投影符號”欄,且規(guī)定采用第一角畫法時可省略標注,第三角時要標注,兩種投影識別符號如圖6所示[4]。在這里是通過API調(diào)用工程圖略圖符號的方式,實現(xiàn)了投影符號自動填入標題欄特定的位置。過程是:首先在工程圖略圖符號中定義兩個略圖符號,分別建立第一角和第三角圖樣,并對應命名為“第一角”和“第三角”。獲得方式為:

      m_doc.SketchedSymbolDefinitions.Item("略圖符號名稱")。

      圖6 第一角和第三角投影符號

      3)張數(shù)和工藝的處理

      另外對于標題欄中沒有的信息如“當前張數(shù)”、“總張數(shù)”、“工藝”等通過自定義的方式實現(xiàn):m_doc.PropertySets.Item ("Inventor User Defi_ned Properties").Add("賦值", "名稱")。

      4)比例的處理

      按設(shè)計者表達的需要,一個工程圖可能會有多個視圖,而這些視圖還可能會有不同的比例。但對于被激活工程圖文檔標題欄中的比例標記則是指主視圖的比例,而不是所有視圖的比例。與主視圖比例不同的視圖,按要求單獨標記出比例。對于主視圖或者其它視圖的比例,可以通過選擇一個視圖右鍵—“編輯視圖”中進行設(shè)置,但目前Inventor沒有提供與標題欄中比例相關(guān)的選擇、填寫和關(guān)聯(lián)的功能,這說明Inventor的設(shè)計數(shù)據(jù)存在斷裂情況,在此通過API訪問properties可以有效的解決。比例獲取流程圖如圖7所示。

      圖7 比例獲取流程圖

      根據(jù)上述提供的解決方案,利用API的訪問方式,在工程圖中加載一個單獨的Add-In插件就可以實現(xiàn)標題欄的國標化。但為了使應用程序更簡潔實用,把零部件文檔特性和工程圖中標題欄信息進行集成,使這兩個模塊集成到同一個界面如圖8所示,這樣文檔特性的快速生成和標題欄的國標化在同一個界面下就可實現(xiàn)。

      圖8 文檔特性和標題欄信息集成界面

      兩個模塊的集成,需解決不同類型文檔特性的相互關(guān)聯(lián),即在界面修改和建立零部件文檔特性時,同時工程圖的相關(guān)聯(lián)的特性也會自動建立和修改;另外在工程圖文檔條件下建立或者修改特性,同時零部件相關(guān)聯(lián)的特性也將會自動建立和修改,實現(xiàn)了零部件與工程圖文檔之間的特性傳遞。具體實現(xiàn)方式是通過Referenced Document Descriptors和ReferencedDocument兩個對象,使不同類型文檔之間的相互通信。

      通過Add-In集成界面生成的工程圖標題欄如圖9所示,解決了上述5個問題。此標題欄滿足GB/T10609.1-2008的要求,也證明了用API訪問文檔特性的可行性及快捷方便的優(yōu)勢。

      圖9 通過集成界面生成的標題欄

      4 小 結(jié)

      論文充分利用Inventor為用戶提供的開放式的二次開發(fā)環(huán)境,基于面向?qū)ο蟮拈_發(fā)技術(shù),對零部件或者工程圖常用的文檔特性進行集成,使用戶建立或者修改文檔特性的操作更簡潔,同時也實現(xiàn)了符合國家標準化的標題欄信息的快速生成,在一定程度上提高了設(shè)計效率。采用DLL插件創(chuàng)建應用程序的方式,使開發(fā)更加靈活,而且便于后續(xù)版本的更新和維護,同時方便不同PC機之間的移植,為Inventor在其它方面開發(fā)提供了借鑒和參考。

      [1]陳伯雄, 董仁揚. Autodesk Inventor Professional 2008 機械設(shè)計實戰(zhàn)教程[M]. 北京: 清華大學出版社, 2007: 562-575.

      [2]令狐克志, 王 轉(zhuǎn). Inventor API 在貨架參化三維造型中的應用[J]. 機械工程與自動化, 2005: (1):27-31.

      [3]葉樂曉, 潘萬彬, 王毅剛. Inventor API在家具參數(shù)化設(shè)計中的應用[J]. 機電工程, 2007, 24(4): 15-17.

      [4]陳伯雄, 張朝陽. Inventor R6 VB(A)程序設(shè)計技巧與范例[M]. 北京: 機械工業(yè)出版社, 2004: 3-11.

      [5]Ekins B. Inventor(R). API: Exploring iProperties and Parameters [R]. 2008: 2-13.

      [6]Ekins B. Upgrading your autodesk Inventor add-ins to use the new ribbon user interface [R]. 2009: 3-15.

      [7]GB/T 10609.1-2008技術(shù)制圖標題欄[S].

      猜你喜歡
      工程圖插件對話框
      “3+4”人才培養(yǎng)模式下本科階段“工程圖學”課程的優(yōu)化設(shè)計
      面向工程認證的機制專業(yè)工程圖學(一)課程教學探索
      正?;謴吞摂M機
      自編插件完善App Inventor與樂高機器人通信
      電子制作(2019年22期)2020-01-14 03:16:34
      Bootlace Worms’Secret etc.
      中學科技(2018年12期)2018-12-19 11:22:28
      分析三維CAD建模技術(shù)在工程圖學中的應用
      電子測試(2018年10期)2018-06-26 05:54:22
      MapWindowGIS插件機制及應用
      基于Revit MEP的插件制作探討
      項目式教學在工程圖學課程中的探索與實踐
      快速抓取對話框中的完整信息
      電腦迷(2012年22期)2012-04-29 20:30:54
      方山县| 屏东市| 莫力| 海盐县| 田东县| 阿拉尔市| 比如县| 和林格尔县| 新巴尔虎右旗| 安康市| 阜阳市| 苏尼特左旗| 保定市| 桃园市| 铁岭市| 康马县| 奇台县| 克拉玛依市| 永清县| 自治县| 张家界市| 乳山市| 迁西县| 文昌市| 宿迁市| 睢宁县| 尼木县| 天台县| 郴州市| 甘孜| 都昌县| 平邑县| 永州市| 昭觉县| 杂多县| 章丘市| 长垣县| 平南县| 安塞县| 伊宁市| 衡东县|