我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > 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 自動裝配系統主界面


我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

            欧美亚洲综合一区| 亚洲精品视频在线观看网站| 欧美精品乱码久久久久久按摩 | 欧美日韩一本到| 久久久久久久久免费| 亚洲va欧美va人人爽| 成人av网站免费观看| 日韩欧美成人一区| 一区二区三区中文字幕| 国产精品一区二区男女羞羞无遮挡| 欧美日韩一级二级三级| 亚洲三级电影网站| 国产毛片精品视频| 91精品国产aⅴ一区二区| 亚洲人成精品久久久久久| 国产精品夜夜嗨| 欧美刺激午夜性久久久久久久| 亚洲一区二区3| 91尤物视频在线观看| 中文字幕欧美国产| 国产精品资源在线观看| 日韩欧美久久久| 日韩激情视频在线观看| 欧美日韩国产另类一区| 亚洲免费伊人电影| 99精品桃花视频在线观看| 国产精品日日摸夜夜摸av| 国产精品77777| 精品国产一区二区三区久久影院| 青青草原综合久久大伊人精品优势| 欧美日韩美女一区二区| 午夜精品久久久久久久蜜桃app| 欧美日韩一级视频| 亚洲成人你懂的| 欧美二区在线观看| 青青草视频一区| 日韩欧美精品三级| 精品亚洲欧美一区| 国产人伦精品一区二区| 成人看片黄a免费看在线| 国产精品久久久久天堂| 色综合久久久久综合体| 亚洲国产一二三| 91精品国产综合久久香蕉麻豆| 免费成人你懂的| 久久久午夜精品理论片中文字幕| 国产成人在线观看| 国产精品私人自拍| 色999日韩国产欧美一区二区| 亚洲一区在线观看视频| 欧美日韩你懂的| 久久精品国产澳门| 国产在线精品一区二区| 久久久国产精华| 91老师国产黑色丝袜在线| 洋洋av久久久久久久一区| 91精品国产综合久久久久久久久久 | 午夜国产精品一区| 精品国产免费久久| bt7086福利一区国产| 亚洲国产欧美在线人成| 精品久久久久久最新网址| 成人免费视频网站在线观看| 亚洲欧美另类久久久精品2019| 精品视频一区二区不卡| 激情综合一区二区三区| 亚洲视频狠狠干| 91精品国产综合久久久久久| 国产精品自拍三区| 亚洲午夜国产一区99re久久| 久久亚洲精精品中文字幕早川悠里| 91丝袜美腿高跟国产极品老师| 日韩二区三区在线观看| 中文成人综合网| 9191成人精品久久| voyeur盗摄精品| 秋霞av亚洲一区二区三| 亚洲视频一区在线观看| 日韩精品一区在线| 色综合天天综合网天天看片| 捆绑调教一区二区三区| 一区二区三区精品视频在线| 国产日本欧洲亚洲| 欧美一区二区三区四区视频| 99久久婷婷国产| 精彩视频一区二区三区| 亚洲国产精品人人做人人爽| 国产区在线观看成人精品| 欧美疯狂做受xxxx富婆| 91亚洲精华国产精华精华液| 另类综合日韩欧美亚洲| 亚洲一区自拍偷拍| 中文字幕一区二区三区在线观看| 日韩精品一区二区在线| 欧美日韩日日摸| 色先锋aa成人| 成人激情av网| 国产乱子轮精品视频| 蜜桃av一区二区| 亚洲第一电影网| 亚洲女与黑人做爰| 国产精品色哟哟网站| 久久亚洲综合色一区二区三区| 91精品国产综合久久国产大片| 国产精品毛片高清在线完整版| 午夜欧美电影在线观看| 久久电影国产免费久久电影| 日韩欧美中文一区二区| 国产欧美一区在线| 欧美高清在线一区二区| 亚洲最大成人网4388xx| 国产精品蜜臀av| 亚洲综合成人网| 成人精品视频一区二区三区 | 色老头久久综合| 亚洲二区在线观看| 日韩精品在线一区| 92精品国产成人观看免费| 日日夜夜免费精品视频| 欧美激情在线看| 欧美电影一区二区三区| 国产不卡视频一区| 爽爽淫人综合网网站| 国产精品成人一区二区艾草| 日韩一区二区中文字幕| 成人99免费视频| 久久99久久久欧美国产| 一区二区高清视频在线观看| 国产区在线观看成人精品| 91精品国产aⅴ一区二区| 日本精品一区二区三区高清 | 精品国产伦一区二区三区免费| 91蜜桃在线免费视频| 国产在线日韩欧美| 亚洲国产一区二区三区青草影视| 久久精品视频在线免费观看| 欧美精品粉嫩高潮一区二区| 97成人超碰视| 国产精品影视在线| 日韩电影在线一区二区三区| 亚洲男同性恋视频| 国产精品美女久久久久久2018| 日韩欧美一区二区不卡| 精品视频色一区| 一本色道久久综合亚洲aⅴ蜜桃 | 91在线免费播放| 国产成人精品网址| 日韩av一二三| 视频一区视频二区在线观看| 亚洲综合另类小说| 亚洲欧洲日韩av| 国产精品美女一区二区在线观看| 久久久亚洲午夜电影| 精品久久国产97色综合| 首页欧美精品中文字幕| 亚洲丝袜美腿综合| 国产精品久久久久影院老司| 欧美高清在线视频| 亚洲国产精品二十页| 欧美激情在线免费观看| 国产视频在线观看一区二区三区 | 国产精品女主播在线观看| 久久精品亚洲国产奇米99| 久久久久久一二三区| 久久免费视频一区| 国产午夜精品在线观看| 精品久久久久久久久久久久久久久久久| 欧美一区二区美女| 欧美一区二区视频在线观看2022| 91麻豆精品久久久久蜜臀| 欧美日韩亚洲综合在线| 制服丝袜亚洲色图| 欧美一级国产精品| 精品久久久久香蕉网| 国产亚洲短视频| 国产精品久久久久久久久免费桃花 | 久久精品久久99精品久久| 秋霞午夜鲁丝一区二区老狼| 日韩电影在线免费看| 久久精品国产99久久6| 国产成人综合亚洲91猫咪| 成人激情图片网| 欧美日韩综合在线| 51久久夜色精品国产麻豆| 色婷婷激情综合| www.亚洲激情.com| 国内精品久久久久影院薰衣草| 91精品国产色综合久久| 日韩欧美久久久| 欧美一级高清片在线观看| 欧美一区午夜视频在线观看| 亚洲一区二区三区在线| 日韩欧美激情在线| 日韩欧美区一区二| 国产视频一区在线播放| 国产精品女上位| 亚洲日本青草视频在线怡红院| 九九视频精品免费| 97精品视频在线观看自产线路二| 首页国产欧美久久|