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

您的位置:網站首頁 > CAD新聞

利用AutoCAD中創建管理圖形庫功能輔助設計

時間:2010-11-12 10:17:50 來源:未知

一、前言

  AutoCAD軟件具有相當優秀的開放型結構(Open architecture)和一個強大的內部編程語言(Autolisp語言,可以完成一些計算機工作和作圖功能),可以方便地讓用戶隨意地開發自己的命令、標準庫文件和各種應用程序等。

  圖形管理是CAD應用的一個重要內容,是CAD應用中較為繁瑣、較為困難的部分之一。用戶在實際應用中總是為圖形太多無法管理大傷腦筋。本文提供了一個圖形庫創建和管理的方法,其最終效果是展示一個方便快捷、圖文并茂的直觀的圖形庫。

  二、 方案設計

  1、實現方案

  許多AutoCAD用戶在圖形庫的創建和管理方面都使用一種較為簡便的方法:將圖形文件命名為能體現其圖形內容的名稱,然后將其分類存入特定的文件夾。這種方法的優點在于簡便快捷,但其不方便、不直觀的缺點卻更為突出。

  針對上述的簡便方法,本文提出的方案方便、直觀且內置于AutoCAD中。該方案如下:

  ●生成所有圖形的幻燈片文件;

  ●在AutoCAD初始化界面的下拉菜單區加入“圖形庫”菜單條,此菜單條包含“機械圖庫”和“電子圖庫”兩個菜單項;

  ●點擊“機械圖庫”和“電子圖庫”兩個菜單區彈出相應的圖標菜單,在圖標菜單中可以看到圖形文件標識名和相應的圖形(幻燈片);

  ●在圖標菜單中拾取圖形彈出一幅對話框,該對話框給出圖形的一些文字信息(如:作者, 圖形內容, 繪圖日期,圖號等)和圖形的預覽;

  ●點擊對話框的確定按鈕即可打開拾取的圖形文件。

  2、方案論證

  該方案的關鍵在于圖標菜單和對話框。

  ●圖標菜單:

  圖標菜單是AutoCAD菜單的一種。圖標菜單以20個為一組顯示幻燈片,并同時顯示一個包含有幻燈片名或其他文字的滾動列表框。圖標菜單的長度不受限制,如果一個圖標菜單包含的幻燈片多于20個AutoCAD會提供換頁按鈕,以便讓用戶換頁顯示更多的幻燈片。因此,可以利用AutoCAD的開放型體系結構上的二次開發定制圖標菜單來對圖形庫進行管理。

  圖標菜單也有不足之處。圖標菜單的一個頁面需顯示20幅幻燈片,所以只能從中獲得比較概略的圖形信息(尤其是復雜圖形)。所以,需要采取一定的輔助措施來對使用圖標菜單的缺陷進行彌補。

  ●對話框:

  從用戶觀點來看,窗口操作環境是目前最先進最流行的一種人機交互界面。它能控制光柵掃描型顯示器和以鼠標器為代表的輸入設備,向用戶提供了圖文并茂的可視化環境,是操作更為直觀、自然、簡便和快速。

  AutoCAD R12以上版本提供了一種對話框語言(Dialog-box Control Language,縮寫為DCL),允許用戶設計并實現自己的對話框。因此, 可以使用對話框語言編程來對圖標菜單中圖形進行放大并提供圖標菜單中不能提供的文字信息。

  三、 開發環境

  ●486以上微機

  ●win95或win98操作系統

  ●AutoCAD R12以上版本(本文提供方案在R12、R13、R14中都能實現,但本文提供的開發步驟主要是在R14中實現)

  四、 開發步驟

  1、建立圖形庫文件夾

  在AutoCAD目錄下創建文件夾Storeroom,將需要進入圖形庫進行管理的圖形文件存入該文件夾。

  2、制作幻燈片庫(*.SLB)

  ◆制作幻燈片文件(*.SLD)

  在當前視窗中打開圖形文件,并將圖形移到屏幕中央。然后在命令行鍵入MSLIDE命令并在“Creat slide file”框中鍵入幻燈片名(按下〈return〉鍵則將當前圖形名作缺省幻燈片名接受)。為了創建幻燈片庫,將所有幻燈片文件保存到AutoCAD目錄下的support子目錄中。

  ◆創建幻燈片列表文件(*.txt)

  假設有mach001.dwg~mach030.dwg共30個圖形文件和對應的mach001.sld~mach030.sld共30個幻燈片文件,編輯如下文件(文件名為mach.txt):

  mach001.sld

  mach002.sld

  mach003.sld

  mach030.sld

  ◆幻燈片庫的建立

  使用AutoCAD的support目錄中的實用程序slidelib,將幻燈片文件按照文件列表構造成幻燈片庫mach.slb: slidelib mach<>

  3、編寫對話框文件(*.dcl)

  對話框主要是展示一個圖文并茂的圖形庫中的圖形,在對話框中不僅要有圖形預覽,還要有該圖形的一些文字說明。假設圖形庫中的mach001.dwg是一個繪制軸承的圖形文件:圖號為mach-001,則可編制如下對話框文件(文件名為mach001.dcl):

  dcl_settings:default_dcl_settings{audit_level=0;}

  accept_button:ok_button{

  label="確定";

  key="accept";

  }

  can_button:cancel_button{

  label="取消";

  key="cancel";

  }

  mach001:dialog{

  label="機械圖庫—mach001";

  :row{

  :column{

  :text{

  label="圖 號:mach-001";

  key="num";

  width=20;

  fixed_width=true;

  }

  ……

  :image{

  key="img";

  width=40;

  height=20;

  }

  }

  spacer_1;

  :row{

  :text{

  label=" ";

  }

  accept_button;

  can_button; :text{

  label="";

  } }

  }

  4、編制對話框控制程序(*.lsp)

  下面給出對話框文件mach001.dcl的控制程序mach001.lsp:

  (defun mach001()

  (setq dcl_id (load_dialog "mach001.dcl"))

  (if (not (new_dialog "mach001" dcl_id))#p#分頁標題#e#

  (exit))

  (action_tile "accept" "(draw001)")

  (action_tile "cancel" "(done_dialog)")

  (setq x (dimx_tile "img")

  y (dimy_tile "img"))

  (start_image "img")

  (fill_image 0 0 x y 0)

  (slide_image 0 0 x y "mach(mach001)")

  (end_image)

  (start_dialog)

  (unload_dialog dcl_id)

  )

  (defun draw001()command "open""mach001")

  5、編制圖標菜單

  本文通過修改AutoCAD主菜單acad.mnu來實現,其操作步驟如下:

  ●在AutoCAD主菜單acad.mnu中加入自己的圖標菜單區

  AutoCAD主菜單acad.mnu中的“***IMAGE”表示圖標菜單區,對應幻燈片庫中的幻燈片、對話框和對話框的控制程序,在圖標菜單區加入以下內容(本文給出的是機械圖庫的圖標菜單,電子圖庫的圖標菜單與此類似):

  ***IMAGE

  **mach

  [電子圖庫]

  [mach(mach001,mach001)]^C^C(load "mach001");(mach001);

  [mach(mach002,mach002)]^C^C(load "mach002");(mach002);

  [mach(mach030,mach030)]^C^C(load "mach030");(mach030);

  ●將圖標菜單的加載放到AutoCAD下拉菜單區

  在菜單文件acad.mnu中的***POP10(下拉菜單第十區)前加入如下內容(同時將***POP10改為***POP11): ***POP10 [圖形庫]

  ID-ELE[電子圖庫]$I=ACAD.ELE +

  $I=ACAD.*

  ID-MACH[機械圖庫]$I=ACAD.MACH +

  $I=ACAD.*

  ●將修改后的菜單文件用AutoCAD中的menu命令編譯成acad.mns即可。

  五、 應用效果

  進入AutoCAD操作界面后,會發現在下拉菜單區出現了“圖形庫”菜單項。點擊下拉菜單“圖形庫”菜單項,彈出相應的下拉菜單項,包括“機械圖庫”和“電子圖庫”。選擇“機械圖庫”或“電子圖庫”菜單項(本文使用的是“機械圖庫”菜單項),彈出圖1所示圖標菜單。通過鼠標雙擊圖標菜單左邊的列表框中的列表項或右邊的圖標則可彈出圖2所示的對話框,該對話框給出了一些與圖形有關的信息。也可以先用鼠標拾取一個列表項或圖標,再點擊“ok”按鈕彈出對話框。對話框給出了放大的幻燈片和該幻燈片的信息。點擊“確定”按鈕則打開圖形文件。點擊“取消”按鈕則不打開圖形文件并關閉對話框。

  六、 結束語

  圖形管理是CAD應用的一個重要內容,是CAD應用中較為繁瑣、較為困難的部分之一。不同的用戶可以有不同的圖形管理方案,本文提出的方案完全基于AutoCAD的開放體系結構提供的Autolisp語言和DCL語言,旨在利用AutoCAD提供的上述兩種解釋性語言,以使AutoCAD用戶能方便地應用。