計(jì)算機(jī)輔助設(shè)計(jì)(CAD):5 AutoCAD定制和開發(fā)_第1頁
計(jì)算機(jī)輔助設(shè)計(jì)(CAD):5 AutoCAD定制和開發(fā)_第2頁
計(jì)算機(jī)輔助設(shè)計(jì)(CAD):5 AutoCAD定制和開發(fā)_第3頁
計(jì)算機(jī)輔助設(shè)計(jì)(CAD):5 AutoCAD定制和開發(fā)_第4頁
計(jì)算機(jī)輔助設(shè)計(jì)(CAD):5 AutoCAD定制和開發(fā)_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、AutoCAD 定制和開發(fā)定制AutoCAD1 命令別名2 定制工具欄3 腳本文件4 幻燈片制作1 命令別名命令的別名保存在ACAD.PGP,對命令提供一個(gè)無沖突的簡化名稱,便于快速輸入。工具 | 自定義 | 編輯程序參數(shù)啟動操作系統(tǒng)命令:SHELL啟動其它應(yīng)用程序:START命令的簡化名稱MMOVE EERASEOOFFSET SSTRETCHIINSERT BBLOCK TMTEXT LLINECCIRCLE AARCFFILLET HHATCH可以自己定義修改命令別名。2 定制工具欄視圖 | 工具欄:TOOLBAR增加關(guān)閉整個(gè)工具欄;在任一工具欄上單擊鼠標(biāo)右鍵,在彈出菜單中對需要顯示或關(guān)

2、閉的工具欄進(jìn)行選擇。增加刪除工具欄上的按紐;在啟動工具欄對話框情況下,拖動圖標(biāo)按紐。增加新的工具欄;點(diǎn)擊到自定義界面的工具欄位置,快捷菜單中選擇“新建工具欄”??梢越o該工具欄命名。彈出按紐;選擇一個(gè)按鈕,通過“復(fù)制/粘貼”的方法,在定制工具欄中建立命令標(biāo)簽,然后展開對話框,修改該命令,調(diào)整為需要的。圖標(biāo)按鈕屬性圖標(biāo);宏:通過按鈕執(zhí)行的一個(gè)或多個(gè)命令,如:cc_break _f ;名稱幫助信息例:多線的繪制、格式、編輯工具欄,從命令列表中拖放到工具欄。3 腳本文件以文件*.scr保存,將命令流保存在文件里,可以依次自動執(zhí)行。必須按照命令格式準(zhǔn)確書寫,空格相當(dāng)于回車。以太極圖繪制為例。circle

3、0,0100circle0,5010circle0,-5010arc0,100e0,0a180arc0,0e0,-100a-180命令:Script,菜單:工具 | 運(yùn)行腳本一般關(guān)閉對象捕捉,防止捕捉到錯誤點(diǎn)腳本可在其他命令執(zhí)行過程中透明運(yùn)行,加號。如:命令:line指定第一點(diǎn):script然后選擇腳本文件。大量的輸入可以用此方法。4 幻燈片制作便于演示繪圖過程文件為*.SLD,對三維圖形不能創(chuàng)建創(chuàng)建幻燈片:MSLIDE放映幻燈片:VSLIDE刷新顯示:REDRAW創(chuàng)建幻燈片庫采用AutoCAD安裝目錄中SLIDELIB實(shí)用程序用法:將SLIDELIB復(fù)制到幻燈片文件目錄DIR *.SLD /

4、B FILELIST,生成列表SLIDELIB LIBNAME FILELIST自動放映幻燈片可以用腳本文件將幻燈片放映連貫起來VSLIDE *.SLD ;放映幻燈片DELAY 1000 ;延遲時(shí)間.RSCRIPT ; 循環(huán)放映注意:需要幻燈片文件目錄加入搜索路徑。若是幻燈片庫,則用libname(filename)其中filename不帶后綴。如:vslide taiji(taiji0)delay 1000rscriptAutoCAD 二次開發(fā)1 AutoCAD 二次開發(fā)概述2 Visual LISP集成開發(fā)環(huán)境3 AutoLISP語言4 例子5 建立用戶系統(tǒng)1 AutoCAD 二次開發(fā)概述

5、2 Visual LISP集成開發(fā)環(huán)境3 AutoLISP語言4 例子5 建立用戶系統(tǒng)1 AutoCAD 二次開發(fā)概述AutoCAD是目前應(yīng)用最廣泛的CAD軟件。但是AutoCAD所提供的只是一般的通用的CAD功能 。可以將計(jì)算和繪圖通過高級語言編制成相應(yīng)的程序,大大提高設(shè)計(jì)效率。如建筑行業(yè)天正CAD系統(tǒng)、機(jī)械行業(yè)的大恒CAD系統(tǒng)等。開發(fā)的常用工具 AutoCAD開發(fā)工具有時(shí)稱作AutoCAD API (Application programming Interface 應(yīng)用編程接口),是將AutoCAD環(huán)境客戶化的基本手段。使用的開發(fā)工具主要有:ObjectARX、AutoLISP、Visu

6、alLISP、Java、VisualBASIC和Delphi等。 AutoLISP和VisualLISP AutoLISP是AutoCAD最早的解釋型API,它不是面向?qū)ο蟮恼Z言。它在邏輯上是一個(gè)獨(dú)立的進(jìn)程,通過IPC(進(jìn)程間通訊)與AutoCAD交互。 VisualLISP與AutoLISP完全兼容,并提供AutoLISP所有功能,同時(shí)它能訪問多文檔設(shè)計(jì)環(huán)境、COM/ActiveX用戶界面和事件響應(yīng)器等。 VisualBASIC、Delphi 、Java AutoCAD從R14起,采用ActiveX Automation的形式豐富了自身的API,它為AutoCAD的進(jìn)一步發(fā)展開辟了新的途徑。

7、 微軟的ActiveX Automation技術(shù)是一組規(guī)范。用戶可以使用ActiveX客戶編程語言(如VisualBASIC、Delphi 、Java等)來定制AutoCAD。 ADS、ARX、ADSRX和ObjectARX ADS(AutoCAD Development System)是Autodesk公司最早在AutoCAD R11中提供的C語言編程環(huán)境。 ARX(AutoCAD Runtime Extention)是在ADS基礎(chǔ)上發(fā)展起來的一種面向?qū)ο蟮腃語言編程環(huán)境。由ADS向ARX的變遷就如同C向C+的轉(zhuǎn)變。 在AutoCAD R14中,ARX被第二代面向?qū)ο驝+編程環(huán)境Object

8、ARX所代替,原來的ADS全部庫函數(shù)被包含在ObjectARX中。歸并為單一的庫,形成了ADSRX。ObjectARX是包含了ADS、ARX和ADSRX的綜合的C/C+開發(fā)環(huán)境。它引入了面向?qū)ο蟮木幊虣C(jī)制,是高效開發(fā)工具。 幾種開發(fā)工具的比較 在運(yùn)行速度上,ObjectARX的速度最快,AutoLISP速度最慢。在程序穩(wěn)定性上,采用AutoLISP開發(fā)的應(yīng)用程序最穩(wěn)定。而ObjectARX應(yīng)用程序一旦失敗,AutoCAD進(jìn)程也隨之崩潰。在技術(shù)難度上,AutoLISP和VisualBASIC均為解釋型語言,方便易學(xué)。ObjectARX依賴于C+語言,使用難度大一些。加載程序工具 | 加載應(yīng)用程序

9、LISP程序:*.lsp,*.fas,*.vlxVBA程序:*.dvbObjectDBX程序:*.dbxObjectARX程序:*.arx,*.crx2 Visual LISP集成開發(fā)環(huán)境Visual LISP特點(diǎn) VisualLISP已經(jīng)被完整地集成到AutoCAD 2000及以后的版本中,為開發(fā)者提供了嶄新的集成開發(fā)環(huán)境。 使用了流行的有色代碼編輯器和完善的調(diào)試工具,容易創(chuàng)建和分析LISP程序。新增了一些函數(shù):如ActiveX/COM自動化操作接口;基于AutoCAD內(nèi)部事件的對象反應(yīng)器。Visual LISP的使用 啟動Visual LISP:工具 | AutoLISP | Visual

10、 LISP編輯器使用Visual LISP文本編輯器錄入程序 加載并運(yùn)行程序 調(diào)入已存在的AutoLISP程序文件 Visual LISP控制臺 可以輸入代碼并立即看到運(yùn)行結(jié)果和AutoCAD的命令行窗口類似,也有不同,查看變量值時(shí),只須輸入該變量名,而命令行窗口則需在變量名前加!號按TAB鍵檢索已輸入的文本Visual LISP編輯器 編輯程序文本,彩色代碼顯示通過匹配完成字段輸入,在已輸入文本中查找,按ALT+/在所有符號表和已輸入文本中查找,按CTRL+SHIFT+/調(diào)試程序 檢查程序語法設(shè)置斷點(diǎn)和分步執(zhí)行調(diào)試 跟蹤變量 構(gòu)造應(yīng)用程序 新建工程編譯單個(gè)文件為FAS文件 加載和運(yùn)行已編譯的

11、程序 通過acaddoc.lsp自動加載應(yīng)用程序3 AutoLISP語言 3.1 AutoLISP的數(shù)據(jù)類型 整數(shù)實(shí)數(shù)字符串 表:使用時(shí)必須用禁止求值函數(shù),即為:(0 2) 3.2 函數(shù)語法(fun parameter1 parameter2 )左括號,函數(shù)名,參數(shù)1,參數(shù)2,右括號3.3 函數(shù)分類數(shù)值函數(shù) 符號處理函數(shù) 表處理函數(shù) 函數(shù)處理函數(shù) 輸入輸出函數(shù) 幾何計(jì)算函數(shù)Command 函數(shù) 3.3.1 數(shù)值函數(shù) ( + 數(shù)1數(shù)2。) 返回所有數(shù)的和 ( 數(shù)1 數(shù)2 。 ) 返回第一個(gè)數(shù)減所有數(shù)的差 (1+ 數(shù) ) (1- 數(shù) )返回?cái)?shù)加1(數(shù)減1)(* 數(shù)1 數(shù)2 ) 返回所有數(shù)的積 (

12、/ 數(shù)1 數(shù)2 ) 返回?cái)?shù)1除以數(shù)2 ( exp 數(shù)) e數(shù)(expt base power) base power (log 數(shù)) (log 3)=1.09861 自然對數(shù)(sqrt 數(shù)) 求平方根(abs 數(shù)) 求絕對值 (sin angle) angle以弧度計(jì) (cos angle) 求角度的余弦3.3.2符號處理函數(shù) (quote表達(dá)式):禁止求值函數(shù),用于存儲數(shù)據(jù),不希望被求值。返回值為表達(dá)式本身 ,(setq LI (quote (12 34 56 78 )可用 簡寫:(setq LI (12 34 56 78 ) 3.3.3表處理函數(shù) (car表) :取表的頂層的第一個(gè)元素,或

13、點(diǎn)對的左元素,例:(car (a b c )- 返回a(cdr表) :取表的頂層的第一個(gè)元素外剩下的元素組成的表,例:(cdr (a b c)- 返回b c (last表) :取表的頂層的最后一個(gè)元素,例:(last (a b c)- 返回c (list (a b c)(e d)- 把相關(guān)數(shù)據(jù)組成表,返回(a b c)( e d) (nth n list)-取出表中的第n個(gè)元素,從0開始(cons a list)-把一個(gè)元素結(jié)合到一個(gè)表中3.3.4函數(shù)處理函數(shù) (defun (函數(shù)名)(形參數(shù)/局部變量)(表達(dá)式)(形參數(shù))調(diào)用時(shí)用實(shí)參(表達(dá)式)調(diào)用時(shí),將實(shí)參代入進(jìn)行計(jì)算 3.3.5輸入輸出函

14、數(shù) getint 從提示行輸入一個(gè)整型值 getreal 從提示行輸入一個(gè)實(shí)型值 getstring 從提示行輸入一個(gè)字符串 getpoint 從提示行輸入一個(gè)點(diǎn)坐標(biāo),或在屏幕上拾取一點(diǎn) getdist 從提示行輸入一個(gè)整型或?qū)嵭椭?,或在屏幕上拾取兩點(diǎn),取兩點(diǎn)之間的距離 (princ string)-顯示字符串,不加引號 (prin1 string)-顯示字符串,加引號(print string)-顯示字符串,加引號,前面加一空行,后加一空格3.3.6幾何計(jì)算函數(shù)(polar (點(diǎn))(方向角)(距離)) :返回一個(gè)點(diǎn)(distance (點(diǎn)1)(點(diǎn)2)) :返回距離(angle (點(diǎn)1)(點(diǎn)2

15、)) :返回角度 (inters (端點(diǎn)1)( 端點(diǎn)2)(端點(diǎn)3)(端點(diǎn)4)) :求線段交點(diǎn)3.3.7 Command 函數(shù) 利用Command函數(shù),可以非常方便地調(diào)用全部的系統(tǒng)命令,向命令行發(fā)送消息(Command “l(fā)ine” p1 p2“”) 繪直線 (Command “circle” “3p” p1 p2 p3) 三點(diǎn)繪圓 (setvar name value) 設(shè)置系統(tǒng)變量4 例子(1)太極圖(2)畫曲線(3)畫箭頭(1)太極圖(defun c:taiji ( ) (setq p0 (getpoint 中心點(diǎn):) (setq bigr (getdist p0 大圓半徑:) (comm

16、and circle p0 bigr) (setq halfr (/ bigr 2) (setq halfpi (/ pi 2) (setq upcenter (polar p0 halfpi (/ bigr 2) (setq downcenter (polar p0 (* halfpi -1) (/ bigr 2) (command arc c upcenter p0 a -180) (command arc c downcenter p0 a -180) (setq smallr (getdist upcenter 小圓半徑:) (command circle upcenter small

17、r) (command circle downcenter smallr) (princ)(2)畫曲線(defun c:mysin() (setq i 0) (command line) (while (= i 100) (setq x1 (+ (* 2 i) 20) (setq y1 (sin (* pi 0.02 i) (setq y1 (+ (* y1 50) 100) (command (list x1 y1) (setq i (+ 1 i)(command )(command line 20,100 220,100 ) (command text (list 15 90) 8.0 0

18、 (0,0) ) (command text (list 220 90) 8.0 0 (360,0) ) (command text (list 65 152) 8.0 0 (90,1) ) (command text (list 165 40) 8.0 0 (270,-1) )(3)箭頭(defun arrow_base (pt1 pt2 len / ang) (setq ang (angle pt2 pt1) (setq pt3 (polar pt2 (- ang 0.3) len) (setq pt4 (polar pt2 (+ ang 0.3) len) (command line pt1 pt2 pt3 ) (command line pt2 pt4 ) (princ)(defun c:arrow () (setq len (getreal arrow length:) (while (setq pt1 (getpoint start point:n)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論