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

您的位置:網(wǎng)站首頁(yè) > Solidworks

SolidWorks API二次開(kāi)發(fā)的應(yīng)用

時(shí)間:2010-06-02 08:00:00 來(lái)源:
     一、問(wèn)題的提出大多數(shù)工程圖紙的標(biāo)題欄中應(yīng)該包括一些基本的設(shè)計(jì)信息,如零件名稱、零件代號(hào)、材料以及設(shè)計(jì)人員和設(shè)計(jì)日期等,其中,零件的名稱、代號(hào)、材料、數(shù)量、重量及一些重要的后處理要求等信息還應(yīng)該出現(xiàn)在裝配圖的材料明細(xì)表(BOM)中。這些內(nèi)容如果在工程圖中一一進(jìn)行編寫和修改,其工作量是很大的,并且這種處理方法也不利于保證設(shè)計(jì)信息的一致性,對(duì)模型文件(零件或裝配體文件)和圖紙文件的管理來(lái)講是脫節(jié)的。SolidWorks是一個(gè)全相關(guān)的三維機(jī)械設(shè)計(jì)軟件,模型文件中的設(shè)計(jì)數(shù)據(jù),如尺寸、注釋、文件屬性等內(nèi)容與工程圖相關(guān),因此,我們?cè)谔幚砩鲜龉こ虉D標(biāo)題欄和材料明細(xì)表中的設(shè)計(jì)數(shù)據(jù)時(shí),應(yīng)該將這些內(nèi)容保存在模型文件中,并且自動(dòng)顯示在工程圖相應(yīng)的位置上。當(dāng)需要對(duì)工程圖中的內(nèi)容進(jìn)行修改時(shí),直接修改模型文件中的相應(yīng)數(shù)據(jù)即可實(shí)現(xiàn)。這樣的處理方法不僅保證了設(shè)計(jì)信息的一致性,而且可以大大提高設(shè)計(jì)效率。根據(jù)這個(gè)設(shè)想,筆者將這些設(shè)計(jì)信息進(jìn)行了歸納,并將它們作為模型文件的自定義屬性保存在模型文件指定配置的屬性(在SolidWorks中,選擇菜單"文件→屬性",單擊"指定配置"標(biāo)簽,如圖1所示)中,針對(duì)模型文件指定配置的這些屬性可以自動(dòng)帶入到工程圖的標(biāo)題欄和材料明細(xì)表。圖1中自定義屬性的含義和解釋如表1所示。圖1 指定模型當(dāng)前配置的屬性表1 對(duì)圖1的解釋采用這樣的處理方法以后,需要在工程圖格式文件的相應(yīng)位置建立包含這些變量的注釋文本即可。同時(shí),對(duì)于材料明細(xì)表模板進(jìn)行修改或建立新的明細(xì)表模板就可以在裝配圖中的材料明細(xì)表中顯示所需要的設(shè)計(jì)信息(工程圖格式文件的定義和材料明細(xì)表模板的定義,請(qǐng)參閱《SolidWorks2001中文版實(shí)用技術(shù)精粹》一書)。因此,無(wú)論何時(shí)需要修改設(shè)計(jì)信息,只需在SolidWorks中打開(kāi)相應(yīng)的模型文件,修改指定配置屬性即可。然而,即使采用這樣的處理方法,在修改文件當(dāng)前配置屬性時(shí)仍然顯得有些繁瑣,能否為SolidWorks建立一個(gè)工作界面,可以更加方便地添加和修改這些信息就成了問(wèn)題的關(guān)鍵。
   
    二、自定義屬性Cpbom 為了更大程度地提高工作效率,我們利用VB6.0通過(guò)SolidWorks API建立了自定義屬性設(shè)置程序--Cpbom,這個(gè)程序通過(guò)一個(gè)對(duì)話界面直接對(duì)當(dāng)前模型文件的當(dāng)前配置進(jìn)行添加或修改,其基本功能如下:
   
    ☆ 針對(duì)配置添加模型文件的自定義屬性;
    ☆ 設(shè)置的項(xiàng)目包括:零件代號(hào)、材料名稱、后處理、設(shè)計(jì)者姓名、設(shè)計(jì)日期;
    ☆ 確定自定義屬性后,自動(dòng)保存文件;如當(dāng)前文件還沒(méi)有保存,提示文件保存路徑和文件名稱;
    ☆ 針對(duì)裝配文件,可以選擇是否刪除"材料"和"后處理"兩個(gè)屬性。本程序利用VB進(jìn)行編譯生成可執(zhí)行文件。自定義屬性界面 "自定義屬性"程序就是通過(guò)SolidWorks API對(duì)當(dāng)前模型文件中當(dāng)前配置的自定義屬性的名稱和值進(jìn)行"讀"和"寫"的操作,程序非常簡(jiǎn)單,這里介紹一下該程序中用到的一些SolidWorks API的對(duì)象和方法。
   
    1.SolidWorks對(duì)象這里指的是SolidWorks API的最高級(jí)別的對(duì)象。通過(guò)該對(duì)象可以控制SolidWorks軟件的執(zhí)行或退出,以及SolidWorks文件的建立、打開(kāi)、關(guān)閉等操作。在VB中利用CreateObject方法來(lái)獲得SolidWorks對(duì)象,利用該對(duì)象的activedoc方法可以獲得當(dāng)前SolidWorks文件對(duì)象,文件對(duì)象為空時(shí),表示SolidWorks 沒(méi)有打開(kāi)任何文件。
   
    Dim swApp As ObjectDim
    activeDocument As ObjectSet swApp=CreateObject(\\\"SldWorks.Application\\\")
    Set activeDocument = swApp.activedocIf (activeDocument Is Nothing) Then Dim Msg, Style, title Style = vbExclamation
    title = \\\"模型自定義屬性\\\"
    Msg = \\\"請(qǐng)首先打開(kāi)一個(gè)Solidworks模型文件\\\"
    Call MsgBox(Msg, Style, title) " Display error message
    End  
    End If
   
    2.獲取當(dāng)前文件信息自定義屬性程序是對(duì)模型文件設(shè)置自定義屬性,與工程圖文件無(wú)關(guān),因此需要利用GetType方法獲得當(dāng)前文件的類型,并利用Gettitle()方法和Getpathname()方法獲得當(dāng)前文件的名稱和存盤路徑。
   
    Dim docType As LongDim
    docName As StringDim
    filename As StringDim
    FilePath as StringdocType = activeDocument.
    GetTypeIf (docType = swDocPART)
    Then docName = \\\"零件\\\"With CPbomfrm .deldescription.Enabled = False .delmaterial.Enabled = FalseEnd With Picture5.Picture = Picture3.Picture
    ElseIf (docType = swDocASSEMBLY) Then docName = \\\"裝配\\\" Picture5.Picture = Picture2.Picture
    ElseIf (docType = swDocDRAWING) Then Style = vbExclamation Msg = \\\"當(dāng)前文件是工程圖文件,請(qǐng)打開(kāi)零件或裝配文件\\\"
    Call MsgBox(Msg, Style, title) " Display error message
    End
    End
    If filename = activeDocument.GETTITLE() 
     FilePath = activeDocument.getpathname()
   
    3.獲取文件配置名稱SolidWorks API提供了按照配置名稱訪問(wèn)自定義屬性的方法--CustomInfo2(讀取自定義屬性的值)、deletecustominfo2(刪除指定的自定義屬性)、ADDcustominfo3(添加自定義屬性的名稱和參數(shù)值),這些方法都要求指定文件的配置名稱。因此,為了對(duì)當(dāng)前模型文件和當(dāng)前配置設(shè)定自定義屬性,必須首先要獲得當(dāng)前配置的名稱,利用GetActiveConfiguration()方法可以獲得當(dāng)前模型文件配置的對(duì)象,并利用Name方法獲得當(dāng)前配置的名稱。
   
    Dim ConfName As StringSet
    CurCFG = activeDocument.GetActiveConfiguration()
    ConfName = CurCFG.Name
   
    4.按照配置訪問(wèn)自定義屬性在本程序中,筆者對(duì)于指定配置的屬性設(shè)置按照如下的步驟:
   
    (1)按照配置名稱讀取文件中的自定義屬性值,并賦值于相應(yīng)的文本框;
    (2)判定當(dāng)前文件和當(dāng)前配置是否已經(jīng)改變,如其中之一發(fā)生變化,則提示錯(cuò)誤信息;
    (3)根據(jù)配置名稱刪除指定的自定義屬性;
    (4)將相應(yīng)文本框中的內(nèi)容按照配置名稱添加到模型文件自定義屬性名稱和參數(shù)值。下面對(duì)上述控制配置自定義屬性的三種方法加以介紹。
   
    ☆ CustomInfo2:獲取或設(shè)置當(dāng)前文檔指定配置的自定義屬性的值。
    value = ModelDoc.CustomInfo2 (configuration, fieldName)
    其中,configuration為配置名稱;
    fieldName為自定義屬性的名稱。
    ☆ deletecustominfo2:刪除當(dāng)前文檔指定配置的自定義屬性的值
    retval = ModelDoc.DeleteCustomInfo2(configuration, FieldName )
    ☆ ADDcustominfo3:向當(dāng)前文檔中指定的配置添加自定義屬性以及值
    retval = ModelDoc.AddCustomInfo3 ( configuration, FieldName, FieldType, FieldValue )
   
    其中,F(xiàn)ieldType為自定義屬性的類型;FieldValue為自定義屬性的值。
   
    下面這段代碼是單擊"確定"的子程序,為了簡(jiǎn)單,只給出了其中一個(gè)自定義屬性的處理過(guò)程。
   
    Private Sub cmd_OK_Click()On Error GoTo ERR_91
    Dim swApp2 As ObjectDim
    activeDocument2 As ObjectDim
    curcfg2 As ObjectDim
    cfgname2 As StringDim
    retval As BooleanSet
    swApp2 = CreateObject(\\\"SldWorks.Application\\\")
    Set activeDocument2 = swApp2.activedoc
    Set curcfg2 = activeDocument2.GetActiveConfiguration()
    cfgname2 = curcfg2.Name" 判斷文件或配置是否改變,如改變,則提示錯(cuò)誤。
    If cfgname2 = ConfName And FilePath = activeDocument2.getpathname() Then  " 刪除屬性設(shè)置
    retval = activeDocument2.deletecustominfo2(ConfName, \\\"PartID\\\")" 添加屬性
    retval = activeDocument2.ADDcustominfo3(ConfName, \\\"PartID\\\", swCustomInfoText, frmPartID)  " 保存文件
    retval = activeDocument2.Save()
    Else Style = vbExclamation
    title = \\\"模型自定義屬性\\\"
    Msg = \\\"錯(cuò)誤:打開(kāi)的文件或配置已經(jīng)改變!\\\" & Chr(10) & \\\"請(qǐng)重新執(zhí)行本程序\\\"
    Call MsgBox(Msg, Style, title)
    End
    End
    IfERR_91: Style = vbExclamation title = \\\"模型自定義屬性\\\"
    Msg = \\\"程序運(yùn)行錯(cuò)誤,文件可能已經(jīng)關(guān)閉\\\" & Chr(10) & \\\"自定義屬性無(wú)法添加,單擊確定退出!\\\"
    Call MsgBox(Msg, Style, title)
    End
    End Sub
   
    三、在SolidWorks界面中執(zhí)行應(yīng)用程序?qū)τ谑褂肰B編譯的EXE、DLL文件,目前SolidWorks還不能直接支持這些文件作為插件使用,如果要在SolidWorks 中直接調(diào)用通過(guò)VB編譯的可執(zhí)行程序,可以使用SolidWorks"宏"操作來(lái)進(jìn)行。利用"宏"在SolidWorks界面中添加指定的應(yīng)用程序后,就好像SolidWorks調(diào)用了自身的功能一樣,利用類似的方法,可以在SolidWorks添加任何可執(zhí)行的文件。下面利用"自定義屬性"程序來(lái)說(shuō)明一下步驟。1.建立"宏"文件在SolidWorks中,我們利用錄制并修改"宏"的方法來(lái)建立所需要的"宏"文件。主要步驟如下:
   
    (1)選擇菜單"工具→宏操作→錄制"。
    (2)停止錄制,并保存宏文件。給定文件名稱,如:Cpbom.swp。
    (3)選擇菜單"工具→宏操作→編輯",把Cpbom.swp "宏"文件錄制的內(nèi)容全部刪除,并輸入下面的內(nèi)容。
   
    Sub main()MyAppID = Shell(\\\"C:Program FilesCPbomCPbom.exe\\\", 1) AppActivate MyAppID
    End Sub
   
     (4)保存并退出宏編輯,返回到SolidWorks環(huán)境。
   
    2.指定"宏"操作在SolidWorks中可以指定宏命令的文件位置,并定制工具欄,將所執(zhí)行的宏操作按鈕添加到指定的位置上。
   
    (1)選擇菜單"工具→自定義→宏",在"自定義"對(duì)話框中單擊"宏"標(biāo)簽。
    (2)參考圖4的內(nèi)容添加宏,單擊"應(yīng)用"完成。
    (3)在"自定義"對(duì)話框中單擊"命令"標(biāo)簽,從"類別"列表框中選擇"宏",將所定義的宏(第1個(gè))的圖標(biāo)按鈕拖到相應(yīng)的工具欄中,如圖5所示。
    (4)單擊"確定"按鈕,完成宏定義和工具欄定義。
   
    3.執(zhí)行應(yīng)用程序定義"宏"以后,單擊相應(yīng)的圖標(biāo)就可以在SolidWorks 中直接執(zhí)行應(yīng)用程序。 在SolidWorks中執(zhí)行應(yīng)用程序四、總結(jié)筆者利用這個(gè)"自定義屬性"程序,明顯提高了工作效率。需要說(shuō)明的是,SolidWorks API的對(duì)象和方法十分豐富,涵蓋了所有SolidWorks數(shù)據(jù)模型,這里介紹的只冰山之一角。

久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
国产乱淫av片杨贵妃| 亚洲成人午夜在线| 久久精品成人一区二区三区蜜臀| 精品中文字幕在线观看| 国产精品高清网站| 水蜜桃亚洲精品| 国产特级淫片高清视频| 久久久久久久免费视频| 美女久久久久久久| 伊人精品久久久久7777| 欧美精品一区免费| 久久婷婷开心| 欧美激情亚洲视频| 精品午夜一区二区三区| 国产成人一区二区在线| 久久综合精品一区| 精品国产乱码久久久久久久软件| 欧美成在线观看| 日韩精品一区二区三区四| 97久久精品视频| 精品九九九九| 欧美少妇在线观看| 国产大尺度在线观看| 一区二区冒白浆视频| 91精品久久久久久久久久另类| 天天好比中文综合网| 国产欧美一区二区三区四区 | 亚洲五码在线观看视频| 国内揄拍国内精品| 日韩中文在线中文网三级| 丁香六月激情婷婷| 欧美日韩日本网| 日韩在线视频一区| 欧美一区二区视频17c| 国产在线视频2019最新视频| 精品国产一区二区三区久久狼黑人| xxxx性欧美| 日韩伦理一区二区三区av在线| 91精品国产91久久久久麻豆 主演 91精品国产91久久久久青草 | 日本不卡一区| 777午夜精品福利在线观看| 中文字幕第一页亚洲| 精品国产综合区久久久久久| 91精品国产综合久久久久久蜜臀 | 久久精品五月婷婷| 亚洲色成人www永久在线观看| 国产精品主播视频| 中文字幕欧美日韩一区二区| 精品视频一区二区三区四区| 国产精品美女主播| 欧美亚洲国产免费| 国产一级二级三级精品| 9a蜜桃久久久久久免费| 午夜精品99久久免费| 国产精品8888| 一本久道中文无码字幕av| 91精品中文在线| 日韩av成人在线观看| 久久中文字幕在线视频| 久久精品一区中文字幕| 国模杨依粉嫩蝴蝶150p| 欧美日韩电影在线观看| 97久久国产精品| 欧美激情精品久久久久久| 91精品国产综合久久久久久蜜臀| 亚洲成人精品电影在线观看| 久久手机视频| 日韩av播放器| 国产成人久久婷婷精品流白浆| 国内一区在线| 国产精品自产拍在线观看中文| 一区二区视频在线观看| 久久久水蜜桃| 欧美极品日韩| 久久国产色av| 91成人国产在线观看| zzijzzij亚洲日本成熟少妇| 免费91麻豆精品国产自产在线观看| 欧美精品情趣视频| 国产日韩精品在线播放| 亚洲一区三区视频在线观看| 久久精品午夜福利| 日韩精品一区二区三区四区五区| 国产乱码精品一区二区三区不卡| 亚洲.欧美.日本.国产综合在线| 日韩有码片在线观看| 免费国产在线精品一区二区三区| 欧美xxxx综合视频| 久久视频这里有精品| 国语对白做受xxxxx在线中国| 亚洲一区二区三区午夜| 久久精品人人做人人爽| 国产精品亚洲аv天堂网| 日韩欧美猛交xxxxx无码| 国产精品对白刺激| 国产成人在线小视频| 国产区日韩欧美| 亚洲天堂第一区| 精品国内自产拍在线观看| 国产精品一区二区三区免费观看| 日韩欧美精品一区二区三区经典| 国产精品久久久久久久9999| 九九九热精品免费视频观看网站| 久久全国免费视频| 国产日韩欧美影视| 热久久美女精品天天吊色| 一区二区三区免费看| 久久99国产精品一区| 日韩av在线综合| 久久综合电影一区| 久久精品国产亚洲| 91九色在线观看| 黄色一级二级三级| 中文字幕综合在线观看| 国产精品电影网| 日韩在线观看精品| 久久久亚洲成人| 91九色视频在线| 国产美女精品免费电影| 精品欧美日韩在线| 久久综合狠狠综合久久综青草| 粉嫩av一区二区三区免费观看 | 国产欧美久久一区二区| 欧洲黄色一级视频| 欧美一区二区三区四区在线观看地址| 不卡中文字幕av| 久久久国产视频| 久久久久久久久久久久久久国产| 国内免费久久久久久久久久久| 日本亚洲导航| 日批视频在线免费看| 午夜精品久久久久久99热软件| 亚洲一区二区在线| 亚洲欧洲国产日韩精品| 国产a∨精品一区二区三区不卡| 两个人的视频www国产精品| 久久夜色精品国产| 不卡av在线播放| 精品国产一二三四区| 久久国产精品偷| 国产精品高潮呻吟久久av野狼| 国产精品久久久久久搜索| 国产精品成人久久久久| 欧美激情视频一区二区三区不卡 | 国产中文字幕日韩| 国产一区二区三区免费不卡| 精品欧美一区二区三区久久久| 欧美日韩一区二区三区在线视频| 欧美一区国产一区| 久久精品免费播放| 亚洲欧美日韩综合一区| 亚洲va韩国va欧美va精四季| 五月天亚洲综合情| 性一交一乱一伧国产女士spa| 日韩在线电影一区| 日韩美女免费线视频| 激情网站五月天| 国产日产精品一区二区三区四区| 国产内射老熟女aaaa| 97碰碰碰免费色视频| 国产高清精品一区二区三区| 国产成人欧美在线观看| 国产精品久久久久久久久久新婚| 欧美精品在线免费| 亚洲午夜激情| 日本高清不卡在线| 激情婷婷综合网| 成人av男人的天堂| 国产激情美女久久久久久吹潮| www.日韩欧美| 国产a∨精品一区二区三区不卡 | 91精品视频大全| www.色综合| 中文字幕一区二区三区乱码 | 91免费看国产| 色老头一区二区三区| 久久综合久中文字幕青草| 午夜欧美一区二区三区免费观看| 日韩av不卡电影| 国产一区二区三区色淫影院| 成人国产一区二区| 久久精品2019中文字幕| 亚洲综合色激情五月| 欧美精品一区二区三区免费播放| 成人精品久久一区二区三区 | 一本大道熟女人妻中文字幕在线 | 久久这里只有精品18| 国产精品看片资源| 三区精品视频| 国产欧美一区二区三区视频 | 国产精品香蕉av| 国产又大又长又粗又黄| 国产精品av在线播放| 日韩中文娱乐网| 亚洲精品一卡二卡三卡四卡| 日本一区二区久久精品| 欧美在线性视频| 91av免费观看91av精品在线| 久久久精品2019中文字幕神马| 国产精品大片wwwwww|