久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区

您的位置:網站首頁 > CAD新聞

基于SolidEdge的二次開發技術

時間:2011-02-25 10:06:14 來源:

  一、引言

  Solid Edge是EDS公司推出的普及型主流CAD軟件包,是EDS PLM系統的一個分支。基于特征的參數化、變量化設計技術,使其操作方便,簡單易學。此外,Solid Edge還為用戶提供了采用標準Windows“對象鏈接與嵌入(OLE)”技術和“部件對象模式(COM)”技術的應用程序接口,開發者和用戶能夠通過使用Visual Basic、Visual C++以及任何一種支持ActiveX Automation技術的工具,對Solid Edge進行二次開發,來適應用戶的一些特殊要求,減少重復性建模制圖工作,全面擴展Solid Edge的功能或將其功能集成到客戶應用程序中,以實現Solid Edge的完全客戶化。本文介紹了基于ActiveX Automation技術開發Solid Edge的基本原理。

  二、 ActiveX Automation技術與Solid Edge的對象層次結構

  1. ActiveX Automation技術

  ActiveX Automation是Microsoft公司提出的一個基于COM的技術標準,以前被稱為OLE技術,其宗旨是在windows系統的統一管理下,協調不同的應用程序,準許這些應用程序之間相互溝通、相互控制。它通過在兩個程序間安排對話,達到一個程序控制另一個程序的目的。其過程為:首先一個應用程序決定引發ActiveX Automation操作,這個應用程序自動成為C1ient,被它調用的應用程序成為Server。Server收到對話請求后,決定暴露哪些對象給 C1ient。在給定時刻,由C1ient決定實際使用哪些對象,然后ActiveX Automation命令被傳給Server,由Server對命令作出反應。Client可以持續地發出命令,Server忠實地執行每一條命令,最后由Server提出終止對話。

  這里將So1id Edge理解為一個服務程序(Server),而二次開發出來的程序為客戶程序(C1ient)。用戶只要在客戶程序上進行操作,客戶程序將驅動So1id Edge完成相關的工作,用戶無需全面掌握Solid Edge。

  2.So1id Edge的對象層次結構

  對象之間通過被稱為對象模型或對象層次結構的形式相互聯系。So1id Edge的對象層次結構可以描述為自上而下的樹結構,其根節點對象就是一個應用。So1id Edge擁有4種工作環境:零件(Part)、鈑金(Sheet Metal)、裝配(Assembly)和工程圖(Drdt)。其中,零件和鈑金共用一個對象層次結構,而裝配和工程圖分別擁有各自獨立的層次結構。根節點作為應用對象,是惟一一個允許開發程序直接訪問的對象,可以也只能通過該對象才能訪問其下級的所有對象。圖1所示為裝配環境的簡單對象層次結構, Application指Solid Edge應用程序,Documents是一個集合對象,它包含了前面所提到的四種工作環境。要訪問某一工作環境,首先必須得到它的文檔對象 (Document)。這里為了進入裝配環境,用到了裝配文檔對象AssemblyDocument。

  

  圖1 簡單對象層次結構

  三、 ActiveX Automation應用方法

  1.引用Solid Edge類型庫

  Solid Edge通過類型庫提供了大量的內部功能,以便于從Visual Basic(以下簡稱VB)等開發工具中,通過ActiveX Automdion訪問這些功能。Solid Edge提供的類型庫包括:Assembly.tlb(裝配類型庫)、constant.tlb(常數類型庫)、Drdt.tlb(制圖類型庫)、 propauto.dll(文件屬性對象庫)、framewrk.rlb(框架結構類型庫)、geometry.tlb(幾何類型庫)、part.tlb (零件和板金類型庫)等。若以VB作為開發工具,首先必須在其環境中引用Solid Edge的有關類型庫,才能通過ActiveX Automation訪問Solid Edge提供的主要對象。在VB的集成環境中,通過“工程”菜單中的“引用”命令,將所要用的庫選中,即可調用對應的類型庫(圖2),并且可以在VB的對象瀏覽器中查看對象庫、類型庫、類、屬性、方法以及事件(圖3)。

  

  圖2 選中所需要的庫

  

  圖3 VB的對象瀏覽器

  2.調用Solid Edge應用程序

  當選擇VB為一個支持ActiveX Automation的應用程序進行編程開發時,就必須和該程序進行通訊。Solid Edge提供的應用對象(Application)為實現這種通訊提供了可能。應用對象是惟一一個允許Visual Basic程序直接訪問的對象,它位于層次結構樹的頂部,可以也只能通過該對象才能訪問其下級的所有其他對象。

  VB提供了兩個函數調用Solid Edge:CreateObject和GetObject。

  Dim objApp as Object

  Set objApp=CreateObject(“SolidEdge.Application”)

  Set objApp =GetObject(“”,“SolidEdge.Application”)

  兩個語句都創建不可見的Solid Edge應用對象。

  下面的語句使用GetObject連接到已經存在的Solid Edge實例:

  Set objApp=GetObject(,” SolidEdge.Application”)

  該語句會搜索已經存在的Solid Edge實例,如果找到,變量objApp指向該實例;否則,命令失敗。

  在使用CreateObject或者GetObject來驅動Solid Edge的應用時,該應用不會自動創建文檔對象,必須使用文檔集合對象的Add方法來建立一個文檔對象。Add方法是有參數的,該參數用于確定所創建的文檔對象的類型或者使用的模板。如果參數為空,程序會提示用戶選擇一個模板。下面語句的功能是在新建的應用中建立一個零件文檔對象:

  Set objApp=GetObject(,” SolidEdge.Application”)

  Set objDocument=obj App.Document.Add(“SolidEdge. PartDocument”)

  要將一個Solid Edge的應用實例從內存中移除,則需要使用應用對象的Quit方法:

  ObjApp.Quit

  3.創建輪廓

  和交互環境創建特征一樣,絕大多數特征需要先定義二維輪廓,再向空間拉伸形成特征。而輪廓的創建往往是在一個平面上進行的,所以首先要定義參考平面。定義參考平面的方法有以下幾種:

  AddParallelByDistance(重合或平行平面);

  AddParallelByTangent(相切平面)

  AddAngularByAangle(傾斜或垂直平面);

  AddNormalToCurve和AddNormalToCurveAtDistanse(法線方向平面)。

  例如,下面語句就創建了一個與ParentPlane平面平行的參考平面objRefPlane。

  Set objRefPlane=objRefPlanes. AddParallelByDistance(ParentPlane, Distance,_ NormalSide,Local)

  創建好參考平面后,便可在參考平面上創建二維輪廓。一個輪廓由若干個線框因素構成,如果輪廓包括不止一個因素,則這些元素必須首尾相連,可以通過在元素端點之間增加關系來實現。二維輪廓的創建步驟如下:

  (1)創建空的輪廓對象(Profile object);

  (2)利用Solid Edge提供的直線和圓弧等對象來繪制輪廓圖;

  (3)利用Relations2d集合對象設置集合圖形之間的關系;

  (4)設置必要的尺寸;

  (5)使用End方法驗證輪廓的有效性。

  4.創建特征

  在PartDocument環境下,利用模型集合(Models)中的不同方法對以創建的輪廓進行AddExtrudedProtrusion(拉伸)、AddRevolvedProtrusion(旋轉拉伸)、AddBaseHelix(螺旋拉伸)等操作創建出基本模型對象(Model),再利用每個基本模型對象的Chamfers(倒角)、rounds(倒圓) 、Holes(孔)、Thins(抽殼)等對象集合中的Add方法創建出后續的特征。

  例如,語句“Set objModel = objDoc.Models. AddFiniteExtruded Protrusion(1, objProfile, both, 0.05)”表示將objProfile幾何輪廓對象雙向拉伸50mm創建出基本拉伸特征objModel。

  語句“Set objChamf=objModel. Chamfers. AddEqualSetback(2, objEdge, 0.005)”表示對拉伸體objModel的objedge邊集合進行回切值為5mm的等邊倒角。

  5. 裝配零件

  在裝配文檔(AssemblyDocument)中,一個裝配體就是一個零部件的集合(Occurrences)。向裝配圖中加入零件分為兩步:第一步,利用零部件集合提供的AddByFilename方法添加一個零部件(Occurrence)。語句“Set objOccurrence=objAssmDoc. Occurrences.AddByFilename("D: chead.par")”就是表示向Occurrences裝配體中加入D盤下的零件chead。第二步,刪除加入裝配體的零件的三維關系,并設置其新的三維關系。可以通過兩個集合訪問裝配關系對象:AassemblyDocument對象中的Relations3d集合和每個零件對象的 Relations3d集合。零件的三維關系共有五種類型:AxialRelation3d用來定義回轉面之間的關系;GroundRelation3d 用來定義固定關系;PlanarRelation3d用來定義兩個平面間的關系,包括貼合和對齊;PointRelation3d用來定義裝配中點與點的連接關系;AngularRelation3d用來定義兩個對象之間的角度關系。

  例如,刪除加入裝配體的零件(objOccurrence)的三維關系用語句:“Call objOccurrence. Relations3d (1).Delete”;將加入零件的孔(objReference Hole)和裝配體中一個零件的軸(objReferencePole)對齊,用語句:“Set objPoleToHole = obj Doc.Relations3d.AddAxial(obj ReferenceHole, objReferencePole,_ False)”。

  四、程序運行方式

  用VB技術和Solid Edge二次開發接口開發的應用程序有兩種運行方式:一是將應用程序作為可執行文件直接運行,由程序控制Solid Edge的調入和退出。二是將程序作為一條宏命令嵌入到Solid Edge中。具體方法是:在VB的“文件”菜單中選擇“制作 .exe”,將應用程序編譯生成ActiveX Automation程序。打開Solid Edge的“工具條”對話框,按照提示新建一個工具條,確定后在出現的“自定義”對話框中選擇“宏”,單擊“瀏覽”,找到剛才編譯的EXE程序,拖放到新建的工具條上,并選擇合適的圖標。用戶在Solid Edge環境下,只要點擊該工具條即可運行程序。

  五、開發實例

  筆者用VB在Solid Edge平臺上開發了一套注塑模標準模架的自動裝配系統,圖4為主界面。從對話框中選擇零件及其尺寸規格,系統將讀入參數數據,修改零件庫中該零件的變量表,并存入指定文件夾。完成所有零件的選擇后,系統將其自動裝配在一起。

  

  圖4 自動裝配系統主界面


久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
日韩免费在线观看av| 99视频在线免费观看| 国产综合久久久久| 国产福利一区二区三区在线观看| www.日韩不卡电影av| 亚洲精品一区国产精品| 免费av观看网址| 国产成人精品一区二区三区| 日韩影院一区| 97激碰免费视频| 欧美区二区三区| 国产日韩精品综合网站| 久久国产精品电影| 国内自拍欧美激情| 国产精品麻豆免费版| 欧美中在线观看| 久久久久免费网| 日本国产在线播放| 久久国产精品一区二区三区 | 麻豆一区二区三区在线观看 | 久久久国产视频91| 日韩黄色片在线| 久久久久中文字幕2018| 日韩av色综合| 国产成+人+综合+亚洲欧洲| 少妇人妻互换不带套| 91国产美女视频| 午夜精品视频网站| 国产成人一区二区三区免费看| 日日骚一区二区网站| 国产成人精品免费视频大全最热| 色999五月色| 久久99导航| 欧洲美女7788成人免费视频| 北条麻妃久久精品| 欧美精品尤物在线| 国产精品天天av精麻传媒| 国产综合福利在线| 日韩aⅴ视频一区二区三区| 国产精品99久久免费黑人人妻| 亚洲欧美日韩综合一区| 成人短视频在线观看免费| 亚洲永久激情精品| 久久日韩精品| 欧美伊久线香蕉线新在线| 国产精品无码专区在线观看| 美日韩精品免费| 一道本在线观看视频| 91成人综合网| 日韩欧美在线电影| 国产精品男人的天堂| 国产一区深夜福利| 一区二区三区四区免费观看| 91久久国产综合久久91精品网站| 日本欧美精品在线| 国产精品大片wwwwww| 粉嫩av一区二区三区免费观看| 亚洲aⅴ日韩av电影在线观看| 日韩在线视频观看| 国产在线精品一区免费香蕉| 亚洲三级一区| 日韩视频欧美视频| 国产精品一区二区三| 日日摸天天爽天天爽视频| 国产精品视频色| 高清欧美性猛交| 日韩偷拍一区二区| 不卡中文字幕av| 99热在线播放| 国内精品一区二区| 亚洲欧洲一区二区在线观看| 国产不卡精品视男人的天堂| 韩国一区二区三区美女美女秀| 中文字幕欧美日韩一区二区| 久久久久久久999| 国产毛片视频网站| 热草久综合在线| 精品免费久久久久久久| 久久国产亚洲精品无码| 国产欧美一区二区白浆黑人 | 91精品国产777在线观看| 欧美精品二区三区四区免费看视频 | 久久久久久国产精品免费免费| 国产一区二区网| 日本成人精品在线| 一区二区三区一级片| 久久久国产一区| 久久免费视频在线观看| 国产青草视频在线观看| 欧美中文字幕在线视频| 天堂精品一区二区三区| 九九热这里只有精品免费看| 久久久久久久久久亚洲| 99精品视频播放| 国产一区二区自拍| 亚洲aⅴ日韩av电影在线观看| 国产精品久久久久久久久久| 久久手机视频| 国产乱人伦真实精品视频| 欧美日韩另类综合| 日韩av资源在线| 亚洲淫片在线视频| 欧美乱大交xxxxx| 国产精品丝袜白浆摸在线| 国产成人精品日本亚洲专区61| 成人在线观看a| 国产综合av在线| 欧美日韩免费高清| 日韩人妻无码精品久久久不卡| 一本久久a久久精品vr综合| 国产精品丝袜一区二区三区| 九一免费在线观看| 国产激情视频一区| 91美女片黄在线观看游戏| 国产伦精品一区二区三区在线| 精品一区二区三区视频日产| 欧美国产日韩激情| 欧美久久在线| 欧美婷婷久久| 欧在线一二三四区| 日韩精品无码一区二区三区| 岛国视频一区免费观看| 一区二区三区四区久久| 欧美日韩国产成人| 欧美区在线播放| 欧美成人亚洲成人| 久久国产精品电影| 精品久久久久久一区二区里番| 国产精品毛片a∨一区二区三区|国| 色噜噜亚洲精品中文字幕| 国产成人高潮免费观看精品| 国产传媒一区二区| 久久国产精品视频在线观看| 久久国产精品-国产精品 | 欧美日韩成人在线观看| 精品自拍视频在线观看| 久久99精品国产99久久6尤物| 欧美成人亚洲成人日韩成人| 久久91亚洲精品中文字幕奶水| 久久亚洲国产精品成人av秋霞| 久久香蕉国产线看观看av| 久久av红桃一区二区小说| 欧美精品免费在线观看| 欧美日韩第一视频| 亚洲一区二区免费| 日本一区高清在线视频| 青青视频免费在线| 欧美日韩一区二区三区电影| 精品一区二区三区毛片| 国产乱子夫妻xx黑人xyx真爽| 成人av在线亚洲| 8090成年在线看片午夜| 久久久久久亚洲精品不卡4k岛国 | 国产一区视频观看| 青青草国产免费| 人人做人人澡人人爽欧美| 一区二区三区一级片| 久国内精品在线| 欧美激情一区二区三级高清视频 | 一区二区精品免费视频| 黄色激情在线视频| 国产成人精品网站| 日韩网址在线观看| 久久久久久久久久久人体| 欧美日韩精品在线一区二区| 国产精品免费视频xxxx| 国产精品亚洲网站| 午夜精品久久久久久久99黑人| 亚洲国产精品日韩| 日本一区精品| 日韩国产精品一区二区| 黄瓜视频免费观看在线观看www| 91精品久久久久久蜜桃| 日日噜噜噜夜夜爽爽| 国产精品伊人日日| 国产精品333| 精品国产网站地址| 久久在线精品视频| 精品国产aⅴ麻豆| 亚洲成人第一| 激情视频一区二区| 97人人干人人| 国产成人精品视频在线观看| 中文字幕日韩精品一区二区| 日韩免费在线观看视频| 国产伦精品一区二区三区免费视频| 国产激情一区二区三区在线观看 | 欧美一级大胆视频| 成人国内精品久久久久一区| 日韩在线视频观看| 中文字幕在线中文| 日韩不卡av| 国产精品专区h在线观看| 久久久久久久免费| 亚洲在线观看一区| 僵尸世界大战2 在线播放| 久久久水蜜桃| 在线亚洲美日韩| 国内精品久久久久久影视8| 久久免费精品视频|