老司机午夜精品_国产精品高清免费在线_99热点高清无码中文字幕_在线观看国产成人AV天堂_中文字幕国产91

切換到寬版
  • 廣告投放
  • 稿件投遞
  • 繁體中文
    • 4339閱讀
    • 1回復(fù)

    [分享]AutoCAD機(jī)械標(biāo)準(zhǔn)件設(shè)計系統(tǒng)軟件的研究 [復(fù)制鏈接]

    上一主題 下一主題
    在線cyqdesign
     
    發(fā)帖
    28572
    光幣
    96181
    光券
    0
    只看樓主 倒序閱讀 樓主  發(fā)表于: 2006-09-22

    介紹了在標(biāo)準(zhǔn)件參數(shù)化設(shè)計中,以AutoCAD為平臺,對ADS_ARX繪圖程序的模塊化處理、AutoCAD下的界面設(shè)計以及用Visual C++實現(xiàn)對標(biāo)準(zhǔn)件設(shè)計資料庫和方法庫的參數(shù)化查詢,為AutoCAD下的二次開發(fā)提供了一種全新的方法。

    引言

     ?CAD技術(shù)在機(jī)械工業(yè)中的一個重要應(yīng)用就是參數(shù)化設(shè)計,即對一些具有相似結(jié)構(gòu)但尺寸經(jīng)常改動的標(biāo)準(zhǔn)零件, 采用參數(shù)化設(shè)計的方法建立圖形庫,調(diào)出一組參數(shù)就能生成一個標(biāo)準(zhǔn)件圖形。 本系統(tǒng)中包含一個常用機(jī)械設(shè)計標(biāo)準(zhǔn)資料庫,使設(shè)計人員不必翻閱設(shè)計手冊就可以在計算機(jī)上查到所需的信息, 除此之外本系統(tǒng)還提供了機(jī)械常用各種設(shè)計計算方法(包括校核和優(yōu)化), 并將零件的設(shè)計計算和輔助繪圖集成于統(tǒng)一的環(huán)境中,從而真正實現(xiàn)了設(shè)計與繪圖一體化,明顯提高了產(chǎn)品的設(shè)計效率。

      1 標(biāo)準(zhǔn)件參數(shù)化設(shè)計系統(tǒng)的建模

     ?參數(shù)化CAD所面對的產(chǎn)品絕大多數(shù)為定型產(chǎn)品,這些產(chǎn)品的系列化、通用化、標(biāo)準(zhǔn)化程度高。機(jī)械標(biāo)準(zhǔn)件具有上述特點, 所以本系統(tǒng)建模根據(jù)參數(shù)化的建模思想來進(jìn)行。系統(tǒng)的基本思路為:首先由用戶選擇所要設(shè)計的零件類型,然后選擇設(shè)計行為(如對于圓柱齒輪設(shè)計有結(jié)構(gòu)、校核或優(yōu)化設(shè)計), 并由用戶輸入原始設(shè)計參數(shù),這時零部件CAD子系統(tǒng)根據(jù)控制子系統(tǒng)傳輸過來的原始設(shè)計參數(shù)和所選設(shè)計行為進(jìn)行相應(yīng)設(shè)計活動, 最后由參數(shù)化繪圖子系統(tǒng)接收設(shè)計結(jié)果, 在本系統(tǒng)中繪出相應(yīng)的零件工作圖,機(jī)械標(biāo)準(zhǔn)件設(shè)計系統(tǒng)軟件的邏輯框圖見圖1。

      2 軟件設(shè)計中的關(guān)鍵技術(shù)

      2.1繪圖公用模塊的建立

     ?基于程序設(shè)計模塊化思想,為標(biāo)準(zhǔn)件繪圖程序作了一個公用模塊Common.arx,該模塊對標(biāo)準(zhǔn)件圖形環(huán)境做了統(tǒng)一規(guī)定,并對一些相同功能的程序模塊(如參數(shù)輸入、圖形旋轉(zhuǎn)等)進(jìn)行了統(tǒng)一編制。另外對某類標(biāo)準(zhǔn)件來說,不同標(biāo)準(zhǔn)號對應(yīng)的標(biāo)準(zhǔn)件結(jié)構(gòu)基本是相同的,只是局部結(jié)構(gòu)的改變, 因此對這些具有相同圖形的部分也進(jìn)行了模塊化處理。這樣既節(jié)省內(nèi)存又使程序代碼易于管理。以下對Common.arx中的初始化實體模式與作圖環(huán)境子模塊進(jìn)行說明。

    圖1 機(jī)械標(biāo)準(zhǔn)件設(shè)計標(biāo)準(zhǔn)軟件的邏輯框圖

      公用模塊在AutoCAD下建立了三個層stand1(線型continuous,顏色white),stand2(線型center,顏色red), stand3(線型hidden,顏色white)分別放置標(biāo)準(zhǔn)件圖形的粗細(xì)實線、中心線和虛線。另外在標(biāo)準(zhǔn)件插入圖形以前,調(diào)用公用模塊中的init()初始化作圖環(huán)境,完成后再調(diào)用rest()恢復(fù)以前的作圖環(huán)境。以下是init()程序的代碼:

      init(){structresbufrBc,rBb,rBu; 9s! 2 wwh  
      ads_getvar(″BLIPMODE″,&rBb); 8y$5oD6g9  
      ads_getvar(″CMDECHO″,&rBc); \V]t!mZ-}l  
      rBu.restype=PTSHORT;rBu?resval=0; -=>sTMWpr  
      ads_setvar(″CMDECHO″,&rBu); wJ6_I$>  
      ads_setvar(″BLIPMODE″,&rBu); /"=29sWB  
      ads_command(RTSTR,″linetype″,RTSTR,″s″, j!YNg*H  
      RTSTR,″bylayer″,RTSTR,″″,RTNONE); kMM'[w  
      ads_command(RTSTR,″color″,RTSTR,″bylayer″,RTNONE);}

      本系統(tǒng)的參數(shù)化繪圖子系統(tǒng)程序框架采用的是ARX的基本結(jié)構(gòu)及消息機(jī)制,而機(jī)械零件的參數(shù)化繪圖部分采用ADS庫函數(shù) (如實體數(shù)據(jù)庫函數(shù)、選擇集操作函數(shù)和選擇集構(gòu)造函數(shù)等)來完成。以下介紹ARX的基本結(jié)構(gòu)及消息機(jī)制:

      AcRx::AppRetCode 9%sFJ  
      AcrxEntryPoint(AcRx::AppMsgCodemsg,void*ptr) ?-e7e %  
      {if(ptr!=NULL){switch(msg){ '%R<"  
      caseAcRx::kInitAppMsg://加載應(yīng)用程序 Pp ,Um(  
      acrxDynamicLinker?〉Un1ockApplication(ptr) tcZa~3.  
      break; M~uMY+>   
      caseAcRx::kLoadDwgMsg;//登記ads_defun()定義的函數(shù) 6N"m?g*Z d  
      funcload(); >-!r9"8@  
      break; Q4RpK(N  
      caseAcRx::kInvkSubrMsg://執(zhí)行ads_defun()定義的函數(shù) d$pYo)8o({  
      dofun(); `M&P[ .9Pz  
      break; 9I85EcT^4"  
      caseAcRX::kUnloadDwgMsg://撤消應(yīng)用程序所做的初始化工作 Us'Cs+5XcG  
      funcUnload(); # Mu<8`T-  
      ads_printf(″Unloading\n″); Q|