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

您的位置:網(wǎng)站首頁 > CAD新聞

基于SolidEdge的二次開發(fā)技術(shù)

時(shí)間:2011-02-25 10:06:14 來源:

  一、引言

  Solid Edge是EDS公司推出的普及型主流CAD軟件包,是EDS PLM系統(tǒng)的一個(gè)分支。基于特征的參數(shù)化、變量化設(shè)計(jì)技術(shù),使其操作方便,簡單易學(xué)。此外,Solid Edge還為用戶提供了采用標(biāo)準(zhǔn)Windows“對象鏈接與嵌入(OLE)”技術(shù)和“部件對象模式(COM)”技術(shù)的應(yīng)用程序接口,開發(fā)者和用戶能夠通過使用Visual Basic、Visual C++以及任何一種支持ActiveX Automation技術(shù)的工具,對Solid Edge進(jìn)行二次開發(fā),來適應(yīng)用戶的一些特殊要求,減少重復(fù)性建模制圖工作,全面擴(kuò)展Solid Edge的功能或?qū)⑵涔δ芗傻娇蛻魬?yīng)用程序中,以實(shí)現(xiàn)Solid Edge的完全客戶化。本文介紹了基于ActiveX Automation技術(shù)開發(fā)Solid Edge的基本原理。

  二、 ActiveX Automation技術(shù)與Solid Edge的對象層次結(jié)構(gòu)

  1. ActiveX Automation技術(shù)

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

  這里將So1id Edge理解為一個(gè)服務(wù)程序(Server),而二次開發(fā)出來的程序?yàn)榭蛻舫绦?C1ient)。用戶只要在客戶程序上進(jìn)行操作,客戶程序?qū)Ⅱ?qū)動So1id Edge完成相關(guān)的工作,用戶無需全面掌握Solid Edge。

  2.So1id Edge的對象層次結(jié)構(gòu)

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

  

  圖1 簡單對象層次結(jié)構(gòu)

  三、 ActiveX Automation應(yīng)用方法

  1.引用Solid Edge類型庫

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

  

  圖2 選中所需要的庫

  

  圖3 VB的對象瀏覽器

  2.調(diào)用Solid Edge應(yīng)用程序

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

  VB提供了兩個(gè)函數(shù)調(diào)用Solid Edge:CreateObject和GetObject。

  Dim objApp as Object

  Set objApp=CreateObject(“SolidEdge.Application”)

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

  兩個(gè)語句都創(chuàng)建不可見的Solid Edge應(yīng)用對象。

  下面的語句使用GetObject連接到已經(jīng)存在的Solid Edge實(shí)例:

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

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

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

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

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

  要將一個(gè)Solid Edge的應(yīng)用實(shí)例從內(nèi)存中移除,則需要使用應(yīng)用對象的Quit方法:

  ObjApp.Quit

  3.創(chuàng)建輪廓

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

  AddParallelByDistance(重合或平行平面);

  AddParallelByTangent(相切平面)

  AddAngularByAangle(傾斜或垂直平面);

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

  例如,下面語句就創(chuàng)建了一個(gè)與ParentPlane平面平行的參考平面objRefPlane。

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

  創(chuàng)建好參考平面后,便可在參考平面上創(chuàng)建二維輪廓。一個(gè)輪廓由若干個(gè)線框因素構(gòu)成,如果輪廓包括不止一個(gè)因素,則這些元素必須首尾相連,可以通過在元素端點(diǎn)之間增加關(guān)系來實(shí)現(xiàn)。二維輪廓的創(chuàng)建步驟如下:

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

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

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

  (4)設(shè)置必要的尺寸;

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

  4.創(chuàng)建特征

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

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

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

  5. 裝配零件

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

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

  四、程序運(yùn)行方式

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

  五、開發(fā)實(shí)例

  筆者用VB在Solid Edge平臺上開發(fā)了一套注塑模標(biāo)準(zhǔn)模架的自動裝配系統(tǒng),圖4為主界面。從對話框中選擇零件及其尺寸規(guī)格,系統(tǒng)將讀入?yún)?shù)數(shù)據(jù),修改零件庫中該零件的變量表,并存入指定文件夾。完成所有零件的選擇后,系統(tǒng)將其自動裝配在一起。

  

  圖4 自動裝配系統(tǒng)主界面


久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
国产日韩久久| 国产成人精品电影| 色av吧综合网| 青青在线视频观看| 国产高清精品软男同| 日本一区不卡| 久久久久久久久久码影片| 日本精品一区二区| 精品国产欧美成人夜夜嗨| 精品日产一区2区三区黄免费| 国产精品久久久久久五月尺| 国产欧美日韩中文字幕在线| 亚洲一区二区自拍| 久久精品国产理论片免费| 欧美精品与人动性物交免费看| 久久这里只有精品99| 国产欧美亚洲精品| 日韩一级片免费视频| 色婷婷av一区二区三区在线观看| 欧美日韩国产精品一区二区 | 欧美情侣性视频| 风间由美久久久| 日本久久久久久久久久久| 国产精品视频网站在线观看| 国产美女无遮挡网站| 日韩在线综合网| 久久久精品一区二区三区| 国产日韩成人内射视频| 欧美一区二区色| 国产精品久久久一区二区三区| 国模视频一区二区| 亚洲国产精品www| 国内精品模特av私拍在线观看| 日本一区免费| 久久久久99精品成人片| 69久久夜色精品国产69乱青草 | 国产成人av影视| 亚洲一区二三| 久久影院理伦片| 日本高清视频精品| 国产成人精品在线| 蜜桃免费区二区三区| 久久91亚洲精品中文字幕| 国产熟女高潮视频| 国产精品成久久久久三级| 欧美日韩福利在线观看| 免费99视频| 国产精品欧美激情在线播放| 婷婷精品国产一区二区三区日韩| 成人免费a级片| 热re99久久精品国产99热| 国产精品成人在线| 国产成人在线一区二区| 国产免费黄色一级片| 青青草影院在线观看| 亚洲国产精品日韩| 国产精品美女黄网| 国产福利视频一区二区| 欧美精品第三页| 性日韩欧美在线视频| 欧美激情视频一区二区三区不卡| 日韩亚洲综合在线| 69av视频在线播放| 国产免费亚洲高清| 黄色激情在线视频| 日本不卡在线观看| 亚洲7777| 宅男av一区二区三区| 久久五月天色综合| 久久久精品国产网站| 国产成人黄色av| 91久久夜色精品国产网站| 国产色视频一区| 欧美亚洲另类在线| 色狠狠久久av五月综合| 日韩色妇久久av| www.午夜精品| 99视频在线免费观看| 欧美精品免费观看二区| 亚洲一区二区三区四区在线播放| 日韩中文字在线| 91精品视频在线看| 国产综合视频在线观看| 欧美一级片免费播放| 国产精品久久精品视| 久久视频在线观看中文字幕| 国产资源第一页| 日本免费在线精品| 国产精品久久久久av免费| 91精品国产综合久久香蕉| 国内精品视频在线| 日本一区二区黄色| 一区二区三区久久网| 欧美人与性禽动交精品| 欧美精品久久久久a| 国产精品国语对白| 国产精品果冻传媒潘| 久久香蕉国产线看观看网| 欧美成人久久久| 久久国产精品视频| 精品不卡一区二区三区| 国产精品久久久999| 久久中文字幕视频| 国产精品极品美女在线观看免费 | 全黄性性激高免费视频| 日本精品久久久| 日本一区二区精品视频| 欧洲成人在线观看| 男人添女人下部高潮视频在观看| 欧美日韩精品久久| 精品一区二区中文字幕| 国产美女精品免费电影| 成人3d动漫一区二区三区| 91精品国产自产在线观看永久| 国产精品2018| 久久久久久中文字幕| 久久久久久综合网天天| 国产精品人人妻人人爽人人牛| 国产精品免费一区豆花| 毛片精品免费在线观看| 一区二区三区久久网| 亚洲av首页在线| 日韩日韩日韩日韩日韩| 欧美精品一区三区在线观看| 美女黄毛**国产精品啪啪| 国产日韩av高清| dy888夜精品国产专区| 国产成人在线小视频| 久热精品视频在线| 精品乱码一区二区三区| 亚洲精品蜜桃久久久久久| 日韩av电影在线免费播放| 欧美一区二区影视| 国产男女免费视频| 国产高清不卡无码视频| 国产精品久久久久影院日本| 中文字幕无码精品亚洲35| 日本久久久久久久| 国产一区二区三区奇米久涩 | 久久www视频| 国产精品麻豆va在线播放| 欧美激情一区二区三区久久久| 三级网在线观看| 国内精品久久久久久久| 国产美女久久精品| 久久国产手机看片| 国产精品二区三区四区| 午夜欧美一区二区三区免费观看| 欧美少妇一区| 91免费在线视频| 久久久av网站| 亚洲最大的av网站| 青青草综合在线| 99久热re在线精品视频| www.欧美免费| 亚洲人成无码www久久久| 欧美一区亚洲二区| 成人av在线不卡| 深夜成人在线观看| 欧美激情精品久久久久久大尺度| 日韩欧美电影一区二区| 国产乱码一区| 久久久成人av| 日韩av色综合| www.av一区视频| 国产精品激情av在线播放| 日本特级黄色大片| 国产乱码一区| 国产精品欧美在线| 色乱码一区二区三在线看| 国产精品自在线| 国产精品免费久久久久久| 少妇大叫太大太粗太爽了a片小说| 国产日韩亚洲欧美在线| 色噜噜国产精品视频一区二区 | 国产精品爽爽ⅴa在线观看| 无码人妻h动漫| 国产精品一区二区欧美黑人喷潮水| 国产成人精品视频在线观看| 亚洲一区美女视频在线观看免费| 国产专区一区二区| 精品国产一区二区三区久久| 懂色一区二区三区av片| 国产久一道中文一区| 国产精品欧美一区二区三区奶水| 日本一区二区三不卡| 99久久久精品视频| 国产精品国产三级国产专区53| 日韩少妇内射免费播放| 久久久爽爽爽美女图片| 欧美激情精品久久久| 极品日韩久久| 久久最新资源网| 日韩女优人人人人射在线视频| 91精品久久久久久久久久另类| 九色91av视频| 国产欧美久久久久| 国产精品电影观看| 免费亚洲一区二区| 国产精品无码专区av在线播放|