第4章 AutoCAD應(yīng)用基礎(chǔ)1pptx_第1頁
第4章 AutoCAD應(yīng)用基礎(chǔ)1pptx_第2頁
第4章 AutoCAD應(yīng)用基礎(chǔ)1pptx_第3頁
第4章 AutoCAD應(yīng)用基礎(chǔ)1pptx_第4頁
第4章 AutoCAD應(yīng)用基礎(chǔ)1pptx_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第4章章 AutoCAD應(yīng)用基礎(chǔ)應(yīng)用基礎(chǔ) 機(jī)械CAD2例 機(jī)械CAD3 機(jī)械CAD44.1 二維標(biāo)準(zhǔn)圖元?jiǎng)?chuàng)建4.2 三維坐標(biāo)與觀測4.3 三維建?;A(chǔ)4.4 繪制彎管實(shí)例 機(jī)械CAD54.5 Visual LISP參數(shù)化程序設(shè)計(jì)傳統(tǒng)的交互式繪圖一般需要用精確的尺寸值定義幾何元素,輸入的每一條線都必須有確定的位置,圖形一旦建立,即使結(jié)構(gòu)相似但想改變圖形大小尺寸,只能對(duì)圖形進(jìn)行重建。而工程設(shè)計(jì)中,一方面,新產(chǎn)品的設(shè)計(jì)不可避免地需要多次反復(fù)修改,需要進(jìn)行零件結(jié)構(gòu)和尺寸的綜合協(xié)調(diào)、優(yōu)化、另一方面,對(duì)同一種基本結(jié)構(gòu)形式的零部件,其圖形結(jié)構(gòu)具有一定的相似性,往往只是尺寸的大小不同,其圖形隨尺寸參數(shù)的變化

2、而相應(yīng)變化。 機(jī)械CAD6因此希望有一種比交互式繪圖更方便、更高效、更適合結(jié)構(gòu)相似圖形繪制的方法。參數(shù)化設(shè)計(jì)方法比較好地解決了這一問題。 機(jī)械CAD74.5.1 參數(shù)化編程原理參數(shù)化編程是指對(duì)基本結(jié)構(gòu)相似的零部件,利用該類零件的圖形結(jié)構(gòu)具有相似性的特點(diǎn),采用編程的方法編制程序,當(dāng)給出圖形各個(gè)部分的控制參數(shù)時(shí)便可快速得到所需要的零件圖形的繪圖方法。完整地描述一個(gè)圖形需提供以下幾方面的信息: 圖形的幾何參數(shù)(點(diǎn)的坐標(biāo)等) 圖形的結(jié)構(gòu)參數(shù)(如軸的長度和直徑) 幾何參數(shù)和結(jié)構(gòu)參數(shù)之間的關(guān)系 圖形的拓?fù)潢P(guān)系 機(jī)械CAD8例l 幾何參數(shù)l 結(jié)構(gòu)參數(shù)l 參數(shù)間的關(guān)系l 拓?fù)潢P(guān)系 機(jī)械CAD9參數(shù)化編程步驟1

3、. 分析圖形的拓?fù)潢P(guān)系及其變化規(guī)律,結(jié)合圖的工程意義提煉出圖形結(jié)構(gòu)參數(shù)2. 建立圖形結(jié)構(gòu)參數(shù)與幾何參數(shù)之間的關(guān)系,創(chuàng)建圖形的參數(shù)化模型3. 編寫、調(diào)試圖形程序 機(jī)械CAD10控制參數(shù)的確定,應(yīng)考慮:l唯一性l工程性l優(yōu)先考慮零件規(guī)格、性能的參數(shù)l盡量減少參數(shù)的數(shù)量(文件或數(shù)據(jù)庫存儲(chǔ)標(biāo)準(zhǔn)件尺寸) 機(jī)械CAD11 機(jī)械CAD12軸徑D鍵b鍵h軸t輪t1810331.81.41012442.51.812175532.37585221495.4 機(jī)械CAD13參數(shù)化圖形庫技術(shù)產(chǎn)品或工藝裝備設(shè)計(jì)中,一般都要使用大量的標(biāo)準(zhǔn)件或成件,如螺釘、螺母、軸承等。它們都有國家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)或企業(yè)自己的標(biāo)準(zhǔn),供設(shè)計(jì)人

4、員使用。這些標(biāo)準(zhǔn)件在圖紙上經(jīng)常重復(fù)出現(xiàn)。所以,好的繪圖設(shè)計(jì)系統(tǒng)一般要求提供基本的標(biāo)準(zhǔn)件圖形庫,并提供用戶比較方便的建立和調(diào)研企業(yè)標(biāo)準(zhǔn)件圖形庫的開發(fā)手段,這是提高交互繪圖效率的重要途徑。 機(jī)械CAD14常用方法1)對(duì)于一些形狀固定的圖形,可以用圖或符號(hào)的形式表示,對(duì)每一種具體規(guī)格的圖形分別繪出,作為單獨(dú)的子圖或符號(hào)建立圖庫,單獨(dú)調(diào)用。(相當(dāng)于AutoCAD中的形和塊) 機(jī)械CAD152)對(duì)于標(biāo)準(zhǔn)件和通用件,可以利用參數(shù)化編程的方法,編制相應(yīng)的標(biāo)準(zhǔn)件圖形生成程序庫。 機(jī)械CAD163)利用參數(shù)化CAD系統(tǒng)交互式設(shè)計(jì)。 機(jī)械CAD174.5.2 Auto LISP語言概述 垃圾回收國內(nèi)的程序員大多是

5、在 Java 語言中第一次感受到垃圾收集技術(shù)的巨大魅力的,許多人也因此把 Java 和垃圾收集看成了密不可分的整體。但事實(shí)上,垃圾收集技術(shù)早在 Java 語言問世前 30 多年就已經(jīng)發(fā)展和成熟起來了,Java 語言所做的不過是把這項(xiàng)神奇的技術(shù)帶到了廣大程序員身邊而已。 機(jī)械CAD18如果一定要為垃圾收集技術(shù)找一個(gè)孿生兄弟,那么, LISP 語言才是當(dāng)之無愧的人選。 1960 年前后誕生于 MIT 的 LISP 語言是第一種高度依賴于動(dòng)態(tài)內(nèi)存分配技術(shù)的語言: LISP中幾乎所有數(shù)據(jù)都以“表”的形式出現(xiàn),而“表”所占用的空間則是在堆中動(dòng)態(tài)分配得到的。 LISP 語言先天就具有的動(dòng)態(tài)內(nèi)存管理特性要求

6、, LISP語言的設(shè)計(jì)者必須解決堆中每一個(gè)內(nèi)存塊的自動(dòng)釋放問題(否則, LISP程序員就必然被程序中不計(jì)其數(shù)的 free 或 delete 語句淹沒),這直接導(dǎo)致了垃圾收集技術(shù)的誕生和發(fā)展。 機(jī)械CAD19知道了LISP 語言與垃圾收集的密切關(guān)系,我們就不難理解,為什么垃圾收集技術(shù)的兩位先驅(qū)者 J. McCarthy 和 M. L. Minsky 同時(shí)也是LISP 語言發(fā)展史上的重要人物了。J. McCarthy 是LISP 之父,他在發(fā)明LISP語言的同時(shí)也第一次完整地描述了垃圾收集的算法和實(shí)現(xiàn)方式; M. L. Minsky 則在發(fā)展 LISP語言的過程中成為了今天好幾種主流垃圾收集算法的

7、奠基人。 機(jī)械CAD20LISP 是對(duì)現(xiàn)代軟件開發(fā)技術(shù)貢獻(xiàn)最大的語言。垃圾收集技術(shù)、數(shù)據(jù)結(jié)構(gòu)技術(shù)、人工智能技術(shù)、并行處理技術(shù)、虛擬機(jī)技術(shù)、元數(shù)據(jù)技術(shù)以及程序員們耳熟能詳?shù)脑S多技術(shù)都起源于LISP語言。 J. McCarthy于1960年發(fā)表了一篇非凡的論文,他在這篇論文中對(duì)編程的貢獻(xiàn)有如歐幾里德對(duì)幾何的貢獻(xiàn)。他向我們展示了,在只給定幾個(gè)簡單的操作符和一個(gè)表示函數(shù)的記號(hào)的基礎(chǔ)上, 如何構(gòu)造出一個(gè)完整的編程語言。 McCarthy稱這種語言為LISP, 意為List Processing。 機(jī)械CAD211.什么是Auto LISP Auto LISP = AutoCAD的繪圖命令 + Commo

8、nLISP的基本部分LISP(List Processing Language)是一種計(jì)算機(jī)表處理語言,它是美國麻省理工學(xué)院的研究人員提出并于1960年設(shè)計(jì)實(shí)現(xiàn)的。 機(jī)械CAD222.Auto LISP語言特點(diǎn)( defun mycir() (setq r (getreal “輸入圓半徑:”) p (getpoint “輸入圓心:”) ) (command “circle” p r) (setq p (* r r pi) (princ “n the area of the circle is :”) (princ p) (princ) ) 機(jī)械CAD231.表語言。Auto LISP程序一切構(gòu)

9、造的基本形式是表。表是由圓括號(hào)括起來的,用空格分隔的若干個(gè)元素形成的數(shù)據(jù)結(jié)構(gòu)形式。是函數(shù)表的集合。2.描述性語言。適于處理變長類型數(shù)據(jù),不用先說明后使用,變量本身沒有類型,由賦予值來定。3.前綴表達(dá)式。第一項(xiàng)一般是函數(shù)名。4.擴(kuò)展了圖形處理功能,適于設(shè)計(jì)繪圖一體化。 機(jī)械CAD245.書寫格式自由,不分大小寫,元素之間由空格分隔,一個(gè)表可以寫在多行上,也可以將多個(gè)表寫在一行上,用分號(hào)作為注釋符,括號(hào)需匹配。6.解釋型求值語言,速度慢,難以保密。7.內(nèi)嵌式不能脫離AutoCAD 運(yùn)行,只能在AutoCAD的command狀態(tài)下先裝入程序,再執(zhí)行。調(diào)試麻煩。 機(jī)械CAD253.數(shù)據(jù)類型Auto L

10、ISP 主要有以下幾種數(shù)據(jù)類型:l 整型數(shù)l 實(shí)型數(shù)l 字符串l 符號(hào)l 表 機(jī)械CAD26*整型數(shù) 由09、+、-字符組成。*實(shí)型數(shù) 至少包含一位整數(shù)的帶小數(shù)的數(shù)。用雙精度浮點(diǎn)數(shù)表示。可以采用科學(xué)記數(shù)法。*字符串常數(shù) 用一對(duì)雙引號(hào)括起來的若干個(gè)字符。可以包含轉(zhuǎn)義字符, 如 n 。 *變量名和函數(shù)名統(tǒng)稱為符號(hào)原子,簡稱符號(hào)。變量名 由字母開頭,除圓括號(hào)、引號(hào)、逗號(hào)、句號(hào)之外的可打印字符。不分大小寫,變量類型不用預(yù)先定義或說明,由所賦的值決定。 函數(shù)名 函數(shù)名代表某種運(yùn)算,包括內(nèi)部函數(shù)名和用戶自定義函數(shù)名。 機(jī)械CAD28表表是指放在一對(duì)相匹配的左右括號(hào)中的一個(gè)或多個(gè)元素的有序集合。表中的每一個(gè)

11、元素可以是任何類型的原子或表,元素與元素之間用空格隔開。表中的元素是有序的。每一個(gè)元素都有一個(gè)序號(hào),從左向右,第一個(gè)元素序號(hào)為0,第二個(gè)元素序號(hào)為1,第i個(gè)元素序號(hào)為i-1。表的大小為表的長度,即表中頂層元素的個(gè)數(shù)。沒有任何元素的表稱為空表,用()或nil表示。nil既是原子又是表。 機(jī)械CAD29表有兩種基本類型:標(biāo)準(zhǔn)表和點(diǎn)對(duì)表。標(biāo)準(zhǔn)表是Auto LISP程序的基本結(jié)構(gòu)型式,用于函數(shù)的調(diào)用,其中第一個(gè)元素必需是系統(tǒng)內(nèi)部函數(shù)或用戶自定義函數(shù),其它的元素為該函數(shù)的參數(shù)。 機(jī)械CAD304.求值(執(zhí)行運(yùn)算)過程1對(duì)表中第一項(xiàng)元素求值應(yīng)是函數(shù)名(* 4 5)2對(duì)表中各參數(shù)求值數(shù),字符串,求值結(jié)果為本

12、身符號(hào)原子則以當(dāng)前約束值作為求值結(jié)果3若標(biāo)準(zhǔn)表為多層嵌套,從最里層開始,最后返回頂層表的求值結(jié)果。(- (* 3 2) 1) 機(jī)械CAD315. 運(yùn)行過程1編輯 任一文本編輯器,推薦Visual LISP2裝入和運(yùn)行 裝入:(load “源文件名”) 機(jī)械CAD32文件中沒有自定義函數(shù),全部是標(biāo)準(zhǔn)表。則返回最后一個(gè)標(biāo)準(zhǔn)表的求值結(jié)果。(+ 3 2) (* 5 4)文件由用戶自定義函數(shù)組成。則返回最后一個(gè)用戶函數(shù)名,必須通過調(diào)用函數(shù)來執(zhí)行。(defun dtr (a)(* a (/ pi 180.0)(load “mydt.lsp”)(dtr 90)既有自定義函數(shù),又有其它標(biāo)準(zhǔn)表。則自動(dòng)執(zhí)行自定義

13、函數(shù)外的程序,并將自定義函數(shù)裝入內(nèi)存。 機(jī)械CAD336. Visual LISP的使用VLISP是用來加速設(shè)計(jì)AutoLISP程序的軟件工具。VLISP是一個(gè)集成的開發(fā)環(huán)境,它可以使AutoLISP程序中的源代碼編輯、修改、程序測試與調(diào)試更加容易。 機(jī)械CAD34不僅如此,VLISP還為AutoLISP增加了許多新函數(shù),大大擴(kuò)展了AutoLISP的能力。在對(duì)AutoCAD進(jìn)行專業(yè)程序設(shè)計(jì)的應(yīng)用范圍內(nèi),已經(jīng)比較接近ARX程序的能力,但程序的風(fēng)險(xiǎn)大大低于ARX,對(duì)編程者計(jì)算機(jī)專業(yè)知識(shí)的要求也大大低于ARX。 機(jī)械CAD35Visual LISP的界面 進(jìn)入AutoCAD后,從Tools菜單的Au

14、toLISP中的visual LISP editor項(xiàng),或在命令行輸入VLISP或VLIDE即可以啟動(dòng)Visual LISP環(huán)境。 機(jī)械CAD36裝載和運(yùn)行程序1加載并運(yùn)行程序片段:激活含有將要運(yùn)行程序的文本窗口,選定要加載的源代碼,按下工具條中的加載選定代碼按鈕,即可運(yùn)行代碼,并在控制臺(tái)窗口顯示最后一個(gè)表達(dá)式的結(jié)果。2加載并運(yùn)行整個(gè)程序:激活含有將要運(yùn)行程序的文本窗口,按下工具條中的加載活動(dòng)編輯窗口按鈕,將在控制臺(tái)窗口中顯示一條信息,說明調(diào)入程序的結(jié)果。然后在控制提示符后鍵入函數(shù)名(可能需要括號(hào))并回車執(zhí)行。 機(jī)械CAD37在VLISP將控制切換到AUTOCAD之前,如果AUTOCAD窗口已

15、經(jīng)被打開,將正常切換到AUTOCAD窗口。但如果AUTOCAD當(dāng)前是最小化狀態(tài),將不會(huì)自動(dòng)切換到AUTOCAD窗口,而是在VLISP中顯示一個(gè)特殊的鼠標(biāo)指針,此時(shí)必須手動(dòng)切換。 機(jī)械CAD38調(diào)試程序VLISP提供了許多有用的功能幫助調(diào)試程序。包括l 跟蹤程序的執(zhí)行;l 在程序執(zhí)行中跟蹤變量值;l 觀察各個(gè)表達(dá)式的執(zhí)行順序l 檢查在函數(shù)調(diào)用中的變量值l 中斷程序的執(zhí)行l(wèi) 單步執(zhí)行程序l 檢查堆棧 機(jī)械CAD394.5.3 AutoLISP基本函數(shù)重點(diǎn)掌握:1函數(shù)的功能和作用2調(diào)用格式、函數(shù)名、參數(shù)個(gè)數(shù)及類型3求值情況4返回值類型 機(jī)械CAD401. 數(shù)值函數(shù)若參數(shù)多于兩個(gè),則從前到后依次運(yùn)算,

16、并自動(dòng)轉(zhuǎn)換數(shù)據(jù)類型。 算術(shù)運(yùn)算 + - 1+ 1- * / (+ 1 2) (+ 1 2 3) (+ 1 (+ 2 3) (- 10 1 2) (- 10 1.0 2) (- 1) 返回-1 (1+ 5)(1- 6) (* 1 2 3) (/ 9 3 2) (/ 9.0 3 2)注意整數(shù)除法,整數(shù)值的范圍 機(jī)械CAD412.三角函數(shù)sin cos 角度用弧度表示,若是度,則要轉(zhuǎn)化為弧度(sin ( * (/ PI 180.0) 45) sin45 兩個(gè)參數(shù):返回?cái)?shù)1除以數(shù)2的反正切值 機(jī)械CAD423. 類型轉(zhuǎn)換fix 截尾取整 (fix 2.3) 2float 轉(zhuǎn)換為實(shí)型數(shù) 機(jī)械CAD434

17、. 賦值與求值setq 參數(shù)要求成對(duì),奇數(shù)位上的參數(shù)必須是符號(hào)原子。奇數(shù)位不求值,偶數(shù)位求值。返回最后一個(gè)表達(dá)式的值。從左至右賦值。setq只是加一個(gè)內(nèi)存地址指針,指向數(shù)據(jù)的內(nèi)存結(jié)構(gòu)。(setq x 10)(setq y (+ 1 2)quote 禁止求值 簡寫為給表賦值:(setq a (1 2 4 ) 機(jī)械CAD445. 表處理(1) 取表的內(nèi)容(car 表) 頂層第一個(gè)元素(cdr 表) 除第一個(gè)元素外的表,點(diǎn)對(duì)表則返回第二個(gè)元素 (car (x y) x (cdr (x y) (y) (car (a b) c d) (a b)(setq lista ( x y z) )(car lis

18、ta) x (cadr lista) y (caddr lista ) z(caddr L) - (car (cdr (cdr L)? (a b c d e ) 求d 機(jī)械CAD45(last 表) 頂層最后一個(gè)元素(last (a b (d e) ) (d e)(nth n 表) 頂層第n個(gè)元素(從0開始)(nth 3 (a b c d) d 機(jī)械CAD46(2)構(gòu)造表(cons 表達(dá)式1 表2) 表達(dá)式2是引用表則將表達(dá)式1的值加入表2的表頭構(gòu)成新表 (cons a (b c) (a b c)(list 表達(dá)式 ) 按原位置構(gòu)成新表(list 1 2 3) (1 2 3)(list 1 (2 3) 4)(append 表) 將表中元素串在一起按原次序組成表(append (1 2) (3) (1 2 3) 機(jī)械CAD47(subst 新項(xiàng) 舊項(xiàng) 表)(subst q b (a b (c d) b)(a q (c d) q) (reverse 表) 倒序(reverse (1 (2 3) (4 5) 6)(6 (4 5) (2 3) 1) (

溫馨提示

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

評(píng)論

0/150

提交評(píng)論