国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Inventor圖紙編號和名稱批量自動更改方法研究與應(yīng)用

2020-02-25 13:31齊江飛戈北京范穎超李曉悅林濤
科技創(chuàng)新與應(yīng)用 2020年4期

齊江飛 戈北京 范穎超 李曉悅 林濤

摘? 要:在Inventor圖紙設(shè)計中,圖紙內(nèi)外部的編號和名稱的批量更改目前只能靠人工逐個更改,效率低下。文章利用Inventor VBA進行二次開發(fā),實現(xiàn)了三維、二維圖紙的編號和名稱的批量自動更改。文章主要介紹了開發(fā)的基本思路、零部件特性結(jié)構(gòu)體及動態(tài)數(shù)組的建立、由上而下的零部件的特性集遍歷、映射關(guān)系改變?nèi)箨P(guān)鍵技術(shù),并展示了軟件開發(fā)最終成果。

關(guān)鍵詞:Inventor VBA;特性集遍歷;映射關(guān)系改變

中圖分類號:TP391.7 文獻標(biāo)志碼:A 文章編號:2095-2945(2020)04-0167-03

Abstract: In the Inventor design, the batch changes of the drawing numbers and names inside and outside the drawings can only be done manually one by one, which is inefficient. This article uses Inventor VBA for secondary development, and realizes the batch automatic change of the numbers and names of 3D and 2D drawings. The article mainly introduces the basic ideas of software development, and three key technologies, including the establishment of dynamic structures arrays of the component property sets, components property sets traversal and the mapping changes methoed. At the end, this artical shows the final results of software development.

Keywords: Inventor VBA; Components Property Sets Traversal; Mapping Changes

1 概述

在現(xiàn)代設(shè)計制造業(yè)中,實現(xiàn)設(shè)備全生命周期的平臺化管理是一項十分重要工作。對所有設(shè)備及零部件統(tǒng)一編號是實現(xiàn)數(shù)字化管理的關(guān)鍵一步[1]。對于初次采用新編號規(guī)則的企業(yè),所有三維和二維圖紙重新編號是一項很大的挑戰(zhàn)。對于全新模型圖紙,設(shè)計之初需對每個零部件內(nèi)外部進行編號,分散設(shè)計精力;對于原有模型圖紙,需要逐個修改零部件內(nèi)外部編號,然后逐個替換映射關(guān)系,對于動輒上百、上千個零件的設(shè)備,工作量大,易出錯且效率低下。

為解決此難題,本文利用Inventor VBA進行二次開發(fā),實現(xiàn)Inventor三維、二維圖紙的編號的批量一鍵自動更改,包括三維、二維圖紙內(nèi)部編號及其映射關(guān)系自動更改和外部編號的自動更改,同時還可以對沒有按編號規(guī)則設(shè)計的三維圖紙進行標(biāo)準(zhǔn)化圖紙生成,方便圖紙的數(shù)字化平臺化管理,減少設(shè)計人員的重復(fù)性勞動,提高工作效率。

2 開發(fā)內(nèi)容

Inventor圖紙編號批量自動更改,主要包含兩種形式的編號批量更改:“由內(nèi)到外”和“由外到內(nèi)”。

(1)“由內(nèi)到外”主要用于三維圖紙零部件內(nèi)部的“庫存編號”和“零件代號”[2]為基礎(chǔ)(如圖1所示),自動生成三維、二維圖紙文件的外部文件名(文件名為:“庫存編號+零件代號”,如圖2所示),并完成新編號文件間的映射關(guān)聯(lián)。一般用于全新設(shè)計的模型。

(2)“由外到內(nèi)”方式主要用于以外部文件名為基礎(chǔ),批量更改外部文件名,然后以更改后的外部文件名統(tǒng)一修改模型的內(nèi)部的“庫存編號”和“零件代號”屬性,并完成新編號文件間的映射關(guān)聯(lián)。一般用于更改設(shè)計的模型和圖紙。

兩種方式的實現(xiàn)方式基本一致,本文以“由內(nèi)到外”方式展開。軟件實現(xiàn)的具體功能如下:(1)新編號三維圖紙文件的自動生成;(2)新編號三維圖紙部件和零件文件的映射關(guān)系的關(guān)聯(lián);(3)Inventor二維圖紙與新編號三維圖紙的映射關(guān)聯(lián);(4)舊編號三維、二維圖紙的自動刪除。

3 開發(fā)思路及關(guān)鍵技術(shù)

3.1 基本思路

首先,裝配體三維圖中需要編號的零部件iproperty中的“庫存編號”和“零件代號”全部填寫完畢。后續(xù)處理整體思路如圖3所示,軟件在總裝配體三維模型中逐個遍歷包含的每一個零部件,提取零部件的新舊文件名稱、路徑、庫存編號和零件代號等信息一并存入全局的結(jié)構(gòu)體中,同時生成以“庫存編號”和“零件代號”命名的新文件。在裝配體總圖中再逐個遍歷所包含的每一個零部件,用新編號零部件逐個替換對應(yīng)的舊編號零部件。如果有Inventor二維圖紙,逐個遍歷每張二維圖紙,用新編號零部件逐個替換舊編號零部件,完成三維和二維圖紙重新關(guān)聯(lián)映射后,刪除舊編號文件,自此,所有的三維和二維圖紙完成外部文件編號的自動更改和內(nèi)部映射重新關(guān)聯(lián)。

3.2 關(guān)鍵技術(shù)

(1)模型相關(guān)參數(shù)的結(jié)構(gòu)體及其動態(tài)數(shù)組的建立

Inventor圖紙編號批量自動更改中會涉及到每個三維零部件的庫存編號、零件代號、文件名、文件路徑等參數(shù),為了便于管理,本文通過一個結(jié)構(gòu)體PartPropTable來管理單個零部件的這些參數(shù),結(jié)構(gòu)體如下所示:

(2)由上而下的零部件的特性集遍歷

在Inventor中,每種文檔有一個特性集(PropertySets),通過PropertySets可遍歷和訪問所有特性集和其中的特性[3]。

如圖4所示,每個零部件的特性集中包含很多表單,每個表單中包含很多特性值,本文用到的零部件的“庫存編號”和“零件代號”參數(shù)包含在表單“項目”中,其中對應(yīng)的特性集中的PropertySets.item(3),“庫存編號”和“零件代號”參數(shù)分別對應(yīng)著表單“項目”中的myPropSet.Item(3).Item(37).Value和myPropSet.Item(3).Item(2).Value。

在Inventor的三維總裝配體中包含多個子部件和零件,這些子部件和零件都包含在總裝配體的ComponentOcc

urrence的子項SubOccurrences中,其中部件的文件類型屬性為kAssemblyDocumentObject,零件文件類型屬性為kPartDocumentObject,每個子部件又包含各自的子部件和零件,以此類推。如果要遍歷總裝配體中包含的每一個零件,則需要采用遞歸算法[4],如圖5所示。

(3)映射關(guān)系改變

映射關(guān)系改變分為三維零部件中的零部件映射關(guān)系改變和二維圖紙中映射關(guān)系改變。

三維零部件中的零部件映射關(guān)系改變:

在三維零部件中映射關(guān)系更改中,需特別注意,在完成原編號部件的新編號部件替換后,需要逐個完成新編號部件中的零件映射關(guān)系替換,否則會出現(xiàn)部件完成新編號文件替換,而其部件中的子部件和零件等仍然為舊編號文件的問題。文件替換用ComponentOccurrence的Replace(filepath, Ture)函數(shù)實現(xiàn),其中filepath參數(shù)為新編號文件的路徑,具體流程如圖6所示。

二維圖紙對應(yīng)三維模型映射關(guān)系改變:

在二維圖紙零部件中映射關(guān)系改變中,需要遍歷二維圖紙文件夾,逐個打開二維圖紙文件,通過ReferencedFileDescriptor的PutLogicalFileNameUsingFull(newpath)函數(shù)和FileCopy(curpath, newfilepath)函數(shù)完成圖紙內(nèi)部新編號文件的替換和文件外部編號替換后的新編號文件的保存。

4 實現(xiàn)方法

(1)程序界面

程序界面如圖7所示,主要分為模式選擇和新舊編號設(shè)置及開始按鈕。

(2)實現(xiàn)效果

圖8為程序處理前文件的編號和名稱狀態(tài),文件名稱無圖號,較為雜亂,不利于多個文檔的平臺化管理。圖9為經(jīng)過程序處理后的文件編號和名稱狀態(tài),每個零部件名稱由編號和名稱兩部分組成,文件名稱唯一,便于多文檔平臺化管理。

5 結(jié)束語

Inventor圖紙編號和名稱的批量自動更改軟件的開發(fā),極大地提升了圖紙編號和名稱更改的效率,降低出錯概率,提升了圖紙編號和名稱的自動化管理水平,對圖紙的數(shù)字化、平臺化管理提供了便利。

參考文獻:

[1]黃曙榮,等.產(chǎn)品數(shù)據(jù)管理PDM原理與應(yīng)用[M].江蘇大學(xué)出版社版,2014.

[2]胡仁喜,康士廷.Autodesk Inventor Professional2010中文版入門到精通[M].機械工程出版社,2009.

[3]陳伯雄,張朝陽.Inventor R6 VB(A)程序設(shè)計[M].機械工程出版社,2004.

[4]王曉東.算法設(shè)計與分析[M].清華大學(xué)出版社,2003.

福安市| 宝清县| 神木县| 定西市| 平南县| 永济市| 神农架林区| 平遥县| 陕西省| 开封县| 孝义市| 新昌县| 无棣县| 梓潼县| 麻江县| 长治县| 扶余县| 洪洞县| 崇文区| 新和县| 泗洪县| 凤山市| 古丈县| 新昌县| 边坝县| 安丘市| 沧源| 桐柏县| 涞水县| 鄂州市| 静宁县| 英山县| 游戏| 庆云县| 长兴县| 丽江市| 昌黎县| 鞍山市| 灵璧县| 东海县| 东台市|