999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SolidWorks的焊件參數化自動建模研究

2016-02-23 03:40:52朱英翔余啟志
網絡安全與數據管理 2016年22期
關鍵詞:二次開發模型設計

朱英翔,陳 燕,余啟志

(上海工程技術大學 高等職業技術學院,上海 200437)

基于SolidWorks的焊件參數化自動建模研究

朱英翔,陳 燕,余啟志

(上海工程技術大學 高等職業技術學院,上海 200437)

產品規格會因尺寸的改變而多樣化,這就導致三維建模過程中對同一類產品由于其規格變化而反復進行設計。為了解決這一問題,應用SolidWorks的API和軟件開發工具包進行二次開發。以VisualStudio作為集成開發工具,C#語言作為開發環境,采用add-in組件并嵌入DLL動態鏈接庫作為可執行文件。然后以穩定器的焊接結構包裝架作為原型模型,基于該原型模型調用SolidWorks的API,自定義屬性管理器建立用戶交互操作。實例應用表明,通過應用該方法可高效地進行產品的參數化設計和建模。

二次開發; 自動建模;SolidWorksAPI; 焊件

0 引言

工程技術人員廣泛使用各種三維CAD軟件,這些軟件的應用使得設計過程更加直觀[1]。但是,隨著社會分工越來越細,一般的CAD軟件對于專門產品設計存在著重復建模、效率低下等問題。為了縮短設計繪圖的時間,針對三維CAD軟件的二次開發越來越受到青睞。這些開發大多利用三維CAD軟件提供開發接口,建立一個基本模型庫,基于尺寸的數字化驅動得到不同規格的產品[2]。

近年來,在我國有很多學者論述了應用SolidWorks實現參數化建模的方法,羅煜峰等人研究了SolidWorks的二次開發接口,在VC++編譯環境下開發了三維CAD文件的快速發布模塊,并將其通過動態鏈接庫技術集成到SolidWorks軟件環境中[3]。彭波等人研究了應用VisualBasic窗口應用程序作為交互平臺的SolidWorksAPI參數化建模模塊[4]。關永軍闡述了應用VisualBasic宏操作對SolidWorks的二次開發,完成了基于參數輸入的快速建模,驗證了其高效、準確的設計意圖[5]。彭玉青等人利用VB.net程序和COM組件構建了SolidWorks有關建筑組件的常用庫,這些部件可以被尺寸驅動且以插件的形式嵌入模型內[6]。

上述研究都沒有涉及屬性管理器。因此,本文運用自定義屬性管理器的方式,利用C#語言編寫一個可執行的DLL(動態鏈接庫)文件,在不新建窗口的基礎上,僅通過樣板模型特征的屬性管理器頁面的尺寸參數設置,達到快速參數化建模的目的。這里的樣板模型以鉆具穩定器包裝架的焊件實例形式呈現[7]。

1 SolidWorks二次開發環境的構建

1.1 開發環境的選擇

三維CAD軟件SolidWorks給使用者提供了專供二次開發的API(應用程序接口),可以調用基于應用的VisualBasic、VB.net、VisualC#、VisualC++6.0以及VisualC++/CLI等開發環境來實現API包含的功能[8]。本實例將采用VisualC#作為開發環境。C#作為.Net框架下面向對象的編程語言,它也支持SolidWorks宏。

1.2 二次開發環境構建方法

第一種是獨立的計算機應用程序。首先在VisualStudio中創建一個項目,該項目要添加外部引用,通過COM(組件對象模型)組件的形式在該項目中添加有關SolidWorks類型庫。然后,在Main方法中實例化SolidWorks項目,并編寫相關建模代碼和交互方式。最后,運行并調試該項目,生成一個.exe結尾的可執行文件,從而可以視為是一個獨立的應用程序。

第二種是嵌入一個add-in(加載項)程序。SolidWorks提供了相應的SDK(軟件開發工具包),在開發之前首先要在操作系統中安裝相應版本的SolidWorksAPISDK。安裝成功SDK之后,再次啟動VisualStudio,在新建的項目中就可以選擇SolidWorksadd-in項目模板SwCSharpAddin,自動預生成一個C#項目,該項目的可執行文件是以DLL形式嵌入建模軟件內部的,在此基礎上編寫相關建模代碼和交互方式。

本文的設計是基于原型模型的參數化建模,所謂原型模型是指拓撲結構完全定義,尺寸參數由尺寸變量定義的一種CAD模型。為了實現高效的尺寸參數重新賦值和模型重建,采用add-in程序作為二次開發的手段[9]。其開發結構如圖1所示。

圖1 系統開發結構

2 焊件樣板模型設計

圖2 鉆具穩定器及包裝架實物圖

本文所舉例的三維模型是一個包裝架,它是一個由型材焊接而成的焊件。其實物如圖2所示,圖中包裝架內部就是所承載的鉆具穩定器。鉆具穩定器作為石油開采工具,國家能源局標準SY/T5051-2009對此產品做了規范性指導,由于該產品尺寸規格相差很多,其包裝架規格也就需要適應這一點。本文以該焊件的參數化自動建模作為例,其他基于原型的零件自動化建模的過程亦可參考。

2.1 包裝架設計方案

圖3是標準中穩定器主要尺寸的示意圖,圖中L2是工作長度,D1是工作直徑,D2是鉆具連接外徑。先以標準中某一個規格鉆具穩定器設計包裝架為例,其包裝架的尺寸就是默認值,為了保證承載這里的樣板焊件,以最大的穩定器包裝架進行設計。包裝架全部由70×70×7的等邊角鋼焊接而成。

圖3 穩定器主要尺寸的示意圖

其穩定器軸向的支撐結構視圖如圖4所示。

圖4 軸向的支撐結構視圖

設計要求支架兩側留10mm空隙,支架底部留40mm空隙。根據幾何關系可得:

W=D1+160

H=D1+45

此外,包裝架的長度取兩倍的穩定器工作長度(L2)。

2.2 樣板模型建模分析

建?;静襟E如下:(1)通過草圖和3D草圖以直線的命令繪制等邊角鋼所在位置;(2)利用焊件選項卡下的結構構件命令生成等邊角鋼模型;(3)剪裁、延伸兩端使支架成型。

建模完成之后,可以充分利用三維CAD軟件做結構分析,判斷焊件是否達標。本例應用有限元方法做靜力學分析,仿真結果安全系數如圖5所示,最小安全系數為2.7,能夠滿足承載需求。由于樣板穩定器焊件模型是按最大的穩定器設計的,所以其余尺寸穩定器包裝架亦能滿足強度要求。

圖5 有限元仿真靜應力結果安全系數分布圖

3 C# add-in項目設計

3.1 基于API建模

為了更加快速地找到API的建模方法,可以借助宏操作。SolidWorks支持基于VSTA(VisualStudioToolsforApplications)C#的宏語句,可以通過宏的記錄操作來找需要的API方法。新建零件,點擊“錄制宏”并對包裝架重新建模,建模完成后點擊“停止宏”,選擇保存為SWVSTAC#Macro項目。通過點擊“編輯”命令打開保存的宏項目文件。此例主要用到的API方法如下:

繪制直線:ModelDoc@::SketchManager.CreateLine

繪制焊件結構件:ModelDoc@::FeatureManager.InsertStructuralWeldment4

剪裁焊件:ModelDoc@::FeatureManager.EditRollback

系統內加載SolidWorksAPISDK完畢后,在VisualStudio中就可以選擇新建SolidWorksadd-in項目,選擇該項目后自動生成一個項目模板,根據項目模板自動生成的類進行編程。在建立樣板模型的時候,根據默認的穩定器參數值算出對應的包裝架尺寸參數,然后以這個參數作為包裝架設計依據,調用繪制直線、繪制焊件結構件、剪裁焊件等API方法,完成整個包裝架默認尺寸的樣板模型的自動建模。

3.2 參數化建模和尺寸賦值方法

參數化建模就是采用預定義的方法建立圖形的幾何約束集 ,指定一組尺寸作為參數與幾何約束集相關聯,并將所有的關聯式融入到應用程序中,然后采用人機交互方式即通過對話框修改參數尺寸,最終由程序根據這些參數順序地執行表達式來實現的方法。

從上文中可知,包裝架的尺寸是由其所擺放的穩定器的尺寸決定的,因此在參數化建模時,可以直接用穩定器的主要尺寸來驅動包裝架的尺寸,這樣簡化了設計的步驟,體現了CAD技術在設計中的功能,同時也提高了設計效率[10]。在C#工程文件中新建基于樣板模型建模的方法,該改方法利用穩定器的尺寸驅動包裝架的尺寸。其代碼段如下:

……

myFeature= ((Feature)(swDoc.FeatureManager.InsertWeldmentFeature()));

……

SketchSegmentskSegment=null;

skSegment= ((SketchSegment)(swDoc.SketchManager.CreateLine(w, 0, 0,w,l, 0)));//6個參數表明直線首末點的坐標(X1,Y1,Z1,X2,Y2,Z2)

myFeature= ((Feature)(swDoc.FeatureManager.InsertStructuralWeldment4("C:ProgramFilesSOLIDWORKSCorpSOLIDWORKSlangchinese-simplifiedweldmentprof" +"ilesGBLAngle(equal)7X7.sldlfp",1,true,vGroups)));

……

由于包裝架的型材和剪裁方式不會隨規格尺寸變化而變化,因此改變包裝架規格尺寸在建模過程中也就是改變等邊角鋼所在的直線的位置和長度。從API建模方法中可知,創建直線過程中,直線的位置是通過直線首末兩點的坐標確定的,因此把包裝架尺寸參數先映射到等邊角鋼所在直線坐標中,再把包裝架尺寸參數值由穩定器基本尺寸值換算得出。通過定義一些雙精度浮點變量,來代替原本樣板模型中建模命令的一些常量。這樣便構建了一個帶有參數的建模方法。

3.3 屬性管理器設計

完成了樣板模型的建模之后,還要以用戶輸入進行尺寸進行參數化建模,所有的參數在輸入時都需要用戶交互界面,用戶交互操作最好描述為控件創建和響應的各種事件。常用的方法就是新建并設計一個窗體在窗體內嵌入控件,通過對控件的操作完成參數的賦值。本次開發充分發揮SolidWorks屬性管理器的功能,所謂屬性管理器,就是用來記錄模型、裝配、工程圖中某一個結構的特征參數的選項卡。在SolidWorksAPI中提供了自定義屬性管理器的開發接口。其構建方法和窗體程序類似,可以把整個屬性管理器視為一個容器,在其中可以添加各種控件完成頁面設計。每一個控件都有一個ID,通過監聽各種事件,判斷ID之后可以寫入相應事件的響應。

本例中需要完成的用戶交互操作就是輸入穩定器主要尺寸,該尺寸是驅動包裝架尺寸的,分別是工作長度L2,鉆具直徑D2,工作直徑D1。通過SolidWorksAPI提供的方法自定義屬性管理器,首先是設計屬性管理器的界面,為了使得參數可視化效果更好,創建了三個組,給每個組都賦給相應的名稱,在每組內包含一個數字欄,這些數字欄就是對應要修改的L2、D2,D1,默認值是0 。此外還在每一個數字欄邊上添加尺寸種類枚舉,在長度單位的枚舉項上改為毫米。最后的效果如圖6所示。

圖6 屬性管理器頁面設計

提供了交互界面之后,還需要為控件創建響應,因為在屬性管理器中有自帶的確定按鈕(√),不必再創建按鈕控件,通過點擊“確定”按鈕觸發重新建模的方法。其建模方法程序段如下:

publicvoidModifyModel(doublel2,doubled2,doubled1)

{

modDoc= (IModelDoc2)iSwApp.NewDocument(partTemplate, (int)swDwgPaperSizes_e.swDwgPaperA2size, 0.0, 0.0);

modDoc.SketchManager.InsertSketch(true);

w=d1+0.16;

h=d1+0.045;

h1=d1/2+0.707*d2+0.04;

l=2*l2;

modDoc.SketchManager.InsertSketch(true);

ArrayvGroups=null;

DispatchWrapper[]GroupArray=newDispatchWrapper[1];

StructuralMemberGroupGroup1 =null;

Group1 = ((StructuralMemberGroup)(swDoc.FeatureManager.CreateStructuralMemberGroup()));

……

Group1.Angle= 1.570796326795;

GroupArray[0] =newDispatchWrapper(Group1);

vGroups=GroupArray;

skSegment= ((SketchSegment)(swDoc.SketchManager.CreateLine(0, 0, 0, 0,l, 0)));

myFeature= ((Feature)(swDoc.FeatureManager.InsertStructuralWeldment4("C:ProgramFilesSOLIDWORKSCorpSOLIDWORKSlangchinese-simplifiedweldmentprof" +"ilesGBLAngle(equal)7X7.sldlfp",1,true,vGroups)));

skSegment= ((SketchSegment)(swDoc.SketchManager.CreateLine(w, 0, 0,w,l, 0)));

……

}

4 結論

完成調試工作并生成相應的.dll文件之后,打開SolidWorks軟件,點擊工具欄下拉菜單,在如圖7所示的界面中,就能建立樣板模型或者重新建立參數化的自定義模型。

圖7 add-in菜單欄

按圖6輸入所要求的參數后點擊確定按鈕(√),SolidWorks執行重新建模方法,完成了基于參數化的自動建模,其結果如圖8所示。通過實例展示,本文利用屬性管理器實現了產品的參數化自動建模,從而避免了建模工作中的重復工作,整個建模過程更加快速直觀。

圖8 參數化建模模型(渲染后)

[1] 馮興路. 現代機械制造技術及其發展趨勢探討[J]. 山東工業技術, 2016(1):233.

[2] 孫志洋, 仲梁維, 魯康東,等. 基于SolidWorks二次開發的立罐快速設計系統研究[J]. 通信電源技術, 2015,32(6):64-66.

[3] 羅煜峰, 陳旭, 李元山.SolidWorks的三維CAD文件快速發布模塊的設計[J]. 圖學學報, 2012, 33(5):94-98.

[4] 彭波, 楊岳, 蘇春模. 采用SolidWorksAPI的離心式葉輪參數化建模[J]. 圖學學報, 2009, 30(5):1-7.

[5] 關永軍.SolidWorks的二次開發及應用[J]. 科技創新導報, 2012(14):28.

[6]PengYuqing,JingXie,WangXiaoyan.Researchandrealizationonarchitectural3Dmodelofarchitecturalprocesssimulationsystem[C].InternationalWorkshoponComputerScienceandEngineering,IEEE, 2009,1:543-547.

[7] 陳雨, 毛恩榮, 呂黃珍,等. 基于推理的大型收獲機械變速箱參數化設計[J]. 農業機械學報, 2013, 44(S2):278-282.

[8]NAGELC,EVJENB,GLYNNJ,等.C#高級編程(第7版)[M].李銘,譯.北京:清華大學出版社, 2010.

[9] 敖行, 江昊, 張迅. 一種CAD圖紙中WLAN器件連接關系的獲取方法[J]. 計算機應用與軟件, 2016,33(1):90-93.

[10] 彭澤軍. 基于UG/OPEN、C#的箱蓋模具快速設計系統研究[J]. 制造業自動化, 2014(21):84-86.

Research on dense urban LTE network planning and designing

ZhuYingxiang,ChenYan,YuQizhi

(AdvancedVocationalTechnicalCollege,ShanghaiUniversityofEngineeringScience,Shanghai200437,China)

Inmodernproduction,thechangeofdimensioncanresultindiversificationofproductspecifications,whichwillresultinaprobleminreusability.Inthispaper,weuseSolidWorksAPIandsoftwaredevelopmentkitstodosecondarydevelopmentsoastodealwiththeproblem.TheintegratedevelopmenttoolisVisualStudiowithprogramminglanguageofC#,andadd-incomponentisadoptedtogenerateDLLasexecutablefile.Usingcustompropertymanagerpageinsteadofformstoreassigntheparameterandrebuildthemodel.Themodelisbasedonaweldedstructurewhichisastabilizerpackingframeasaprototypemodel,andAPIisusedtoachievetheeffectofmodularmodelingandparameteroperation.Exampleshowsthismethodisfeasibletoefficientparametricdesignandmodeling.

secondarydevelopment;modularmodeling;SolidWorksAPI;weldedstructure

TP

ADOI: 10.19358/j.issn.1674- 7720.2016.22.022

朱英翔,陳燕,余啟志. 基于SolidWorks的焊件參數化自動建模研究[J].微型機與應用,2016,35(22):84-87,91.

2016-07-19)

朱英翔(1989-),男,碩士,助教,主要研究方向:工程機械、遠程控制。

陳燕(1980-),女,碩士,講師,主要研究方向:CAD/CAM。

余啟志(1979-)男,碩士,講師,主要研究方向:機械結構及焊接強度分析。

猜你喜歡
二次開發模型設計
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
西門子Easy Screen對倒棱機床界面二次開發
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲激情99| 1024你懂的国产精品| 天天干天天色综合网| 情侣午夜国产在线一区无码| 亚洲无码高清免费视频亚洲| 国产精品成人AⅤ在线一二三四| 婷婷激情亚洲| 福利姬国产精品一区在线| yy6080理论大片一级久久| 久久精品娱乐亚洲领先| 一区二区影院| 国产麻豆aⅴ精品无码| 强奷白丝美女在线观看| 亚洲欧美成aⅴ人在线观看| 日本高清有码人妻| 91国内视频在线观看| 六月婷婷激情综合| 久久国产精品影院| 国产成人精品午夜视频'| 国产欧美在线观看视频| av尤物免费在线观看| 伊在人亚洲香蕉精品播放| 成人精品视频一区二区在线| 午夜精品区| 亚洲精品动漫| 色偷偷一区| 国产精品手机在线观看你懂的| 色婷婷啪啪| 国产尤物在线播放| 国产精品久久精品| 亚洲成人在线网| 欧美日韩亚洲综合在线观看 | 露脸真实国语乱在线观看| 2021亚洲精品不卡a| 无码人妻热线精品视频| 久久无码av三级| 欧美福利在线| 99热国产这里只有精品9九| 伊人久久综在合线亚洲91| 一级不卡毛片| 农村乱人伦一区二区| 直接黄91麻豆网站| 国产菊爆视频在线观看| www.亚洲一区| 精品无码专区亚洲| 亚洲嫩模喷白浆| 欧美在线国产| www.狠狠| 黄色三级网站免费| 萌白酱国产一区二区| 久久精品丝袜| 久久国产亚洲偷自| 亚洲熟妇AV日韩熟妇在线| 亚洲免费人成影院| 日本尹人综合香蕉在线观看 | 亚洲人成网线在线播放va| 国内精品久久久久久久久久影视| 理论片一区| 国产白浆视频| 国产地址二永久伊甸园| 国产精品无码久久久久久| 国产自在自线午夜精品视频| 亚洲中文字幕av无码区| 国产无遮挡猛进猛出免费软件| 中文国产成人精品久久| 国产区人妖精品人妖精品视频| 极品国产一区二区三区| 亚洲国产精品一区二区第一页免| 成人福利免费在线观看| 亚洲最猛黑人xxxx黑人猛交| 99er这里只有精品| 中文字幕免费播放| 无码日韩视频| 黄色成年视频| 五月婷婷综合在线视频| 精品综合久久久久久97超人| 久久人人97超碰人人澡爱香蕉| 538国产视频| 亚欧乱色视频网站大全| 亚洲熟妇AV日韩熟妇在线| 日韩欧美中文字幕在线精品| 喷潮白浆直流在线播放|