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

您的位置:網站首頁 > Solidworks

SolidWorks API二次開發的應用

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

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

            亚洲欧美日韩久久精品| 亚洲三级在线观看| 欧美在线观看一区| 日韩一区和二区| 精品国产污网站| 夜夜嗨av一区二区三区四季av| 日韩精彩视频在线观看| 91视视频在线观看入口直接观看www | 国产成人在线视频网站| 色婷婷av一区| 中文字幕一区二区三区色视频| 国产制服丝袜一区| 精品毛片乱码1区2区3区 | 日本欧美一区二区三区乱码 | 日韩欧美电影一区| 日韩精品电影在线| 7777精品伊人久久久大香线蕉完整版| 亚洲欧美综合色| 国产一区二区三区四区五区美女| 欧美日韩在线精品一区二区三区激情 | 久久久精品免费观看| 天涯成人国产亚洲精品一区av| 欧美日韩三级一区二区| 日韩成人一级大片| 欧美日本国产视频| 免费人成黄页网站在线一区二区| 91精品国产乱| 成人黄色小视频| 亚洲精品菠萝久久久久久久| 欧美性大战xxxxx久久久| 日韩成人免费电影| 国产精品欧美一区二区三区| 国产传媒欧美日韩成人| 亚洲区小说区图片区qvod| 欧美色电影在线| 亚洲一区二区三区在线| 久久久久久久久蜜桃| 在线免费观看一区| 韩国av一区二区三区在线观看| 国产精品久久久久aaaa樱花| 色偷偷88欧美精品久久久| 精品亚洲欧美一区| 亚洲高清视频在线| 亚洲摸摸操操av| 国产人伦精品一区二区| 欧美电视剧在线观看完整版| 91蜜桃传媒精品久久久一区二区| 亚洲成a人v欧美综合天堂下载| 国产日韩高清在线| 日韩免费一区二区三区在线播放| 色综合一区二区三区| 国产精选一区二区三区| 精品一区二区三区久久久| 日韩国产一区二| 亚洲成人激情自拍| 亚洲伦理在线免费看| 久久久一区二区三区| 精品国产91乱码一区二区三区| 97国产一区二区| 91免费看片在线观看| av成人老司机| 色婷婷综合久色| 欧美色老头old∨ideo| 91丨九色porny丨蝌蚪| 一本久久a久久免费精品不卡| 91免费精品国自产拍在线不卡| www.日本不卡| 欧洲中文字幕精品| 91精品国产综合久久福利| 欧美一级xxx| 中文字幕一区av| 亚洲成人www| 青青草伊人久久| 欧美日韩免费观看一区三区| 久久伊99综合婷婷久久伊| 亚洲国产高清aⅴ视频| 伊人夜夜躁av伊人久久| 美美哒免费高清在线观看视频一区二区 | 精品日韩成人av| 国产精品久久久久久久岛一牛影视| 亚洲黄一区二区三区| 男人的天堂亚洲一区| a级精品国产片在线观看| 欧美精品一级二级| 国产精品丝袜黑色高跟| 日韩激情一区二区| 在线视频一区二区免费| 精品美女在线播放| 亚洲图片自拍偷拍| 色综合天天在线| 国产视频一区二区三区在线观看| 日韩和欧美一区二区三区| 91视频在线观看免费| 精品成人一区二区三区| 五月婷婷久久丁香| av电影天堂一区二区在线| 久久综合国产精品| 麻豆国产欧美一区二区三区| 7777精品伊人久久久大香线蕉完整版 | 午夜欧美在线一二页| 97久久精品人人做人人爽| 日韩午夜在线影院| 日韩激情一二三区| 日韩一区二区三区免费观看| 亚洲va欧美va国产va天堂影院| 成人永久aaa| 中文字幕在线不卡一区| 99精品视频中文字幕| 中文字幕中文字幕一区二区| av网站免费线看精品| 亚洲综合免费观看高清完整版在线 | 偷拍一区二区三区四区| 欧美性淫爽ww久久久久无| 日韩高清一区在线| 国产精品久久福利| 欧美婷婷六月丁香综合色| 日本欧美一区二区| 欧美成人精品福利| 不卡的av电影在线观看| 亚洲一区在线观看视频| 精品三级av在线| 粉嫩一区二区三区性色av| 亚洲高清免费在线| 欧美变态tickle挠乳网站| 国产a久久麻豆| 日韩精品一二三| 久久久久久久久久看片| 欧美色倩网站大全免费| 国产成人在线观看免费网站| 亚洲日本va午夜在线电影| 欧美一区二区免费视频| youjizz久久| 国内成+人亚洲+欧美+综合在线| 一二三四社区欧美黄| 精品捆绑美女sm三区| 欧美久久婷婷综合色| aaa亚洲精品| 国产宾馆实践打屁股91| 久久电影网站中文字幕| 性做久久久久久免费观看 | 亚洲高清视频在线| 亚洲视频免费观看| 26uuu欧美日本| 久久女同精品一区二区| 制服丝袜国产精品| 色天天综合久久久久综合片| 成人高清av在线| eeuss影院一区二区三区| 国产麻豆欧美日韩一区| 国产精品综合视频| 紧缚奴在线一区二区三区| 国产精品一区二区久久精品爱涩| 国产毛片一区二区| 国产一区二区视频在线| 高清beeg欧美| 99久久久国产精品免费蜜臀| 99久久精品久久久久久清纯| 欧美亚日韩国产aⅴ精品中极品| 99精品视频在线播放观看| 色哟哟国产精品| 91精品国产高清一区二区三区蜜臀| 欧美男女性生活在线直播观看| 欧美日韩国产片| 国产欧美一二三区| 亚洲国产精品人人做人人爽| 蜜臀av亚洲一区中文字幕| 狠狠久久亚洲欧美| 色欲综合视频天天天| 6080午夜不卡| 中文字幕在线不卡| 午夜私人影院久久久久| 精品一区二区免费| 麻豆精品在线看| 在线观看欧美日本| 日韩一级二级三级精品视频| 亚洲美女区一区| 国产一区二区三区日韩| 精品1区2区3区| 国产精品网站导航| 国产在线播放一区| 欧美另类高清zo欧美| 日韩一区日韩二区| 国产激情精品久久久第一区二区| 91精品久久久久久蜜臀| 亚洲第一福利一区| 99re亚洲国产精品| 国产精品污www在线观看| 激情五月激情综合网| 欧美日韩日本视频| 午夜激情综合网| 制服.丝袜.亚洲.另类.中文| 一区二区三区四区在线| av午夜精品一区二区三区| 国产日韩在线不卡| 国产成人精品免费| 日韩伦理av电影| 色婷婷国产精品综合在线观看| 国产精品黄色在线观看| 一本色道久久综合亚洲91| 成人免费看的视频|