AutoLISP語言程序設(shè)計

出版時間:2008-8  出版社:化學(xué)工業(yè)  作者:郭秀娟//于全通//范小鷗  頁數(shù):218  
Tag標(biāo)簽:無  

前言

本書主要介紹了AutoCAD內(nèi)部的編程語言AutoLISP,系統(tǒng)而詳細(xì)地介紹了AutoLISP的各類函數(shù)和語法規(guī)則。從AutoLISP的數(shù)據(jù)類型和程序結(jié)構(gòu)入手,循序漸進(jìn)地介紹了AutoLISP的基本函數(shù)、AutoLISP繪圖功能、AutoLISP建筑設(shè)計制圖程序范例等內(nèi)容。 本書列舉了豐富的程序?qū)嵗?,圖文并茂,清晰易懂。 本書可作為高等院校建筑學(xué)及相關(guān)專業(yè)的教材,也可供其他從事設(shè)計繪圖工作、學(xué)習(xí)AutoLISP語言的有關(guān)人員參考,還可作為AutoLISP培訓(xùn)學(xué)習(xí)的教材。  在工程設(shè)計領(lǐng)域中,AutoCAD得到了普遍應(yīng)用,有許多人在研究使用AutoCAD,并畫出了很多工程圖紙。然而,人們總會感到作圖效率還不夠高,這是因?yàn)锳utoCAD是一個通用繪圖軟件,不具備專業(yè)特色。AutoCAD開放的結(jié)構(gòu)為不同的使用者留出了廣闊的空間,提供了許多二次開發(fā)工具,AutoLISP是其中最強(qiáng)的一個,可以利用AutoLISP開發(fā)出具有專業(yè)特點(diǎn)的高效率的應(yīng)用軟件。鑒于此,人們希望了解AutoLISP的程序結(jié)構(gòu),掌握AutoLISP程序設(shè)計方法,進(jìn)而開發(fā)出適合本專業(yè)特點(diǎn)的應(yīng)用CAD系統(tǒng)。一些高等院校的工程設(shè)計相關(guān)專業(yè)也開設(shè)了AutoLISP語言課程。然而,各類現(xiàn)行出版的AutoLISP參考手冊,除了屈指可數(shù)的幾個例子之外,剩下的就是按字典順序排列起來的函數(shù)功能簡介,使人望之卻步,看后卻不得要領(lǐng),無法實(shí)現(xiàn)深度學(xué)習(xí)及開發(fā)設(shè)想和愿望。 編者通過查閱有關(guān)資料,閱讀現(xiàn)存的參考手冊,在計算機(jī)上慢慢摸索研究,歷經(jīng)多年,對AutoLISP語言有了較為深入的理解,積累了一些難得的實(shí)踐資料,已成功應(yīng)用于教學(xué)實(shí)踐之中。同時,和從事CAD工作的同志切磋交流,開發(fā)了相關(guān)的CAD應(yīng)用軟件,在工程設(shè)計領(lǐng)域得到了應(yīng)用。 本書共11章,前9章系統(tǒng)而詳細(xì)地介紹了AutoLISP的各類函數(shù)和語法規(guī)則,提供了大量的AutoLISP程序,使讀者從例子中深化對概念的理解,領(lǐng)悟程序設(shè)計方法;第10章提供了若干個建筑設(shè)計制圖AutoLISP程序范例,便于建筑專業(yè)學(xué)生作課程設(shè)計或工程設(shè)計人員對AutoCAD二次開發(fā)。第11章介紹了Auto CAD的基本命令。書中每章后面附有練習(xí)題,以供讀者練習(xí)。 本書第1章至第5章由郭秀娟編寫,第6章由王祥瑞編寫,第7章、第11章和附錄部分由范小歐編寫,第8章至第10章由于全通老師編寫,全書的圖形部分由孫東和林娜撰稿,程序?qū)嵗?yàn)證由崔星華和吉林省經(jīng)濟(jì)管理干部學(xué)院的張樹彬共同完成。最后,全書由郭秀娟老師統(tǒng)稿,于全通老師排版設(shè)計。

內(nèi)容概要

  本書主要介紹了AutoCAD內(nèi)部的編程語言AutoLISP,系統(tǒng)而詳細(xì)地介紹了AutoLISP的各類函數(shù)和語法規(guī)則。從AutoLISP的數(shù)據(jù)類型和程序結(jié)構(gòu)入手,循序漸進(jìn)地介紹了AutoLISP的基本函數(shù)、AutoLISP繪圖功能、AutoLISP建筑設(shè)計制圖程序范例等內(nèi)容?! ”緯信e了豐富的程序?qū)嵗?,圖文并茂,清晰易懂。  本書可作為高等院校建筑學(xué)及相關(guān)專業(yè)的教材,也可供其他從事設(shè)計繪圖工作、學(xué)習(xí)AutoLISP語言的有關(guān)人員參考,還可作為AutoLISP培訓(xùn)學(xué)習(xí)的教材。

書籍目錄

第1章 AutoLISP語言概述 1.1 AutoLISP語言簡介 1.1.1 開發(fā)AutoCAD的重要工具 1.1.2 AutoLISP的特點(diǎn) 1.2 AutoLISP數(shù)據(jù)類型 1.2.1 原子(ATOM) 1.2.2 表和點(diǎn)對 1.3 AutoLISP的程序結(jié)構(gòu) 1.4 AutoLISP的運(yùn)行環(huán)境 1.5 AutoLISP的內(nèi)存分配 1.6 AutoLISP程序的執(zhí)行過程 練習(xí)題 第2章 數(shù)值函數(shù) 2.1 計算函數(shù) 2.1.1 (+ …) 2.1.2 (-  …) 2.1.3 (1+ )和(1- ) 2.1.4 (*  …) 2.1.5 (/  …) 2.1.6 (REM  …) 2.1.7 (GCD  ) 2.1.8 (MAX  …) (MIN  …) 2.1.9 (EXP ) 2.1.10 (EXPT  ) 2.1.11 (LOG ) 2.1.12 (SQRT ) 2.1.13 (ABS ) 2.1.14 (MINUSP ) 2.1.15 (ZEROP ) 2.1.16 (NUMBERP ) 2.1.17 (FLOAT ) 2.1.18 (FIX ) 2.2 布爾運(yùn)算函數(shù) 2.2.1 (LOGAND  …) 2.2.2 (LOGIOR  …) 2.2.3 (LSH  ) 2.3 三角函數(shù) 2.3.1 (SIN ) 2.3.2 (COS ) 2.3.3 (ATAN  []) 2.4 綜合舉例 練習(xí)題 第3章 表處理函數(shù) 3.1 提取表中數(shù)據(jù)的函數(shù) 3.1.1 (CAR ) 3.1.2 (CDR ) 3.1.3 (LAST ) 3.1.4 (NTH  ) N=0, 1,2,… 3.1.5 (LENGTH ) 3.2 構(gòu)造和修改表的函數(shù) 3.2.1 (LIST …) 3.2.2 (APPEND …) 3.2.3 (CONS  ) 3.2.4 (REVERSE ) 3.3 提取并修改表中數(shù)據(jù)的函數(shù) 3.3.1 (ASSOC  ) 3.3.2 (SUBST   ) 3.4 表的循環(huán)處理函數(shù) 3.4.1 (FOREACH   …) 3.4.2 (MAPCAR   …) 3.5 其他表處理函數(shù) 3.5.1 (MEMBER  ) 3.5.2 (LISTP ) 3.6 綜合舉例 練習(xí)題 第4章 符號和函數(shù)處理函數(shù) 4.1 符號處理函數(shù) 4.1.1 賦值函數(shù) 4.1.2 禁止求值函數(shù)與再求值函數(shù) 4.1.3 其他符號處理函數(shù) 4.2 函數(shù)處理函數(shù) 4.3 綜合舉例 練習(xí)題 第5章 AutoCAD函數(shù) 5.1 GET類輸入函數(shù) 5.2 圖形處理函數(shù) 5.2.1 (POLAR   ) 5.2.2 (DISTANCE  ) 5.2.3 (ANGLE  ) 5.2.4 (INTERS     []) 5.2.5 目標(biāo)捕捉函數(shù)OSNAP 5.3 COMMAND函數(shù) 5.4 坐標(biāo)系轉(zhuǎn)換及單位變換函數(shù) 5.4.1 (TRANS  FROM TO [位移量]) 5.4.2 (CVUNIT VALUE FROM-UINT TO-UNIT) 5.5 查詢和設(shè)置系統(tǒng)狀態(tài)的函數(shù) 5.5.1 (SETVAR  ) 5.5.2 (GETVAR ) 5.5.3 (GETENV ) 5.5.4 (SETCFG CFGNAME EFGVALUE) 5.5.5 (GETCFG CFGNAME) 5.5.6 (ACAD_COLORDLG colornum [flag]) 5.5.7 (VER) 5.6 顯示控制函數(shù) 5.6.1 (GRAPHSCR) 5.6.2 (TEXTSER) 5.6.3 (TEXTPAGE) 5.6.4 (PRIN1 [ []]) 5.6.5 (PRINT [ []]) 5.6.6 (PRINC [ []]) 5.6.7 (TERPRI) 5.6.8 (MENUCMD ) 5.6.9 (GRVECS VLIST [TRANS]) 5.6.10 (VPORTS) 5.7 綜合舉例 練習(xí)題 第6章 字符串處理函數(shù) 6.1 字符與ASCII碼互換函數(shù) 6.1.1 (ASCII ) 6.1.2 (CHR ) 6.2 數(shù)串互換函數(shù) 6.2.1 (ITOA ) 6.2.2 (ATOI ) 6.2.3 (ATOF ) 6.2.4 (RTOS  [ []]) 6.2.5 (DISTOF  [模式]) 6.2.6 (ANGTOS  [模式 [精度]]) 6.2.7 (ANGTOF  [模式]) 6.3 字符串處理函數(shù) 6.3.1 (STRCAT  …) 6.3.2 (SUBSTR   ) 6.3.3 (STRCASE  []) 6.3.4 (STRLEN [字符串]…) 6.3.5 (WCMATCH  ) 6.4 尺寸標(biāo)注方式 6.5 綜合舉例 練習(xí)題 第7章 判斷函數(shù) 7.1 相等驗(yàn)證函數(shù) 7.1.1 關(guān)系運(yùn)算函數(shù) 7.1.2 邏輯運(yùn)算函數(shù) 7.2 條件函數(shù) 7.2.1 (IF是—— []) 7.2.2 (PROGN…)(該函數(shù)也稱順序執(zhí)行函數(shù)) 7.2.3 (COND( ) 7.3 循環(huán)函數(shù) 7.3.1 (WHILE […]) 7.3.2 (REPEAT  …) 7.4 函數(shù)遞歸定義 7.4.1 遞歸的概念 7.4.2 遞歸模型 7.4.3 遞歸算法的設(shè)計 7.5 綜合舉例 練習(xí)題 第8章 文件處理函數(shù) 8.1 搜索、獲得文件的函數(shù) 8.1.1 (FINDFILE ) 8.1.2 (GETFILED $quot$對話框標(biāo)題$quot$ $quot$文件名$quot$ $quot$擴(kuò)展名$quot$ 標(biāo)志值) 8.2 打開、關(guān)閉文件的函數(shù) 8.2.1 (OPEN  ) 8.2.2 (CLOSE ) 8.3 用于文件的輸入輸出函數(shù) 8.3.1 (READ [符串]) 8.3.2 (READ-LINE ) 8.3.3 (WRITE-LINE  ) 8.3.4 (READ-CHAR ) 8.3.5 (WRITE-CHAR  ) 8.4 綜合舉例 練習(xí)題 第9章 實(shí)體和設(shè)備訪問函數(shù) 9.1 基本概念 9.1.1 實(shí)體 9.1.2 實(shí)體名 9.1.3 選擇集 9.2 選擇集操作函數(shù) 9.2.1 (SSGET str Ptl Pt2) 9.2.2 (SSGET $quot$x$quot$ []) 9.2.3 (SSLENGTH s) 9.2.4 (SSNAME  n) n=0,1,2,… 9.2.5 (SSADD  ) 9.2.6 (SSDEL  ) 9.3 實(shí)體名操作函數(shù) 9.3.1 (ENTNEXT ) 9.3.2 (ENTLAST) 9.3.3 (SSNAME  ) 9.3.4 (NAMED OBJEICT) 9.3.5 (HANDENT HANDLE) 9.3.6 (ENTSEL []) 9.4 實(shí)體數(shù)據(jù)函數(shù) 9.4.1 獲得實(shí)體定義數(shù)據(jù)函數(shù)ENTGET 9.4.2 (ENTMOD ) 9.4.3 (ENTUPD ) 9.4.4 (ENTMAKE ) 9.5 對符號表的訪問 9.5.1 (TBLNEXT  []) 9.5.2 (TBLSEARCH  ) 9.6 對圖形屏幕和輸入設(shè)備的訪問 9.6.1 (GRCLEAR) 9.6.2 (GRTEXT [  ]) 9.6.3 (GRREAD [track] [allkeys [curtype]]) 9.7 綜合舉例 9.7.1 實(shí)體名和選擇集在開發(fā)CAD程序中的實(shí)際應(yīng)用 9.7.2 生成局部放大視圖的簡便方法 9.7.3 求圓或圓弧中心線 練習(xí)題 第10章 建筑設(shè)計制圖的AutoLISP程序范例 10.1 常用建筑設(shè)計AutoLISP程序 10.1.1 建筑符號設(shè)計AutoLISP程序 10.1.2 雙線墻插門窗AutoLISP程序 10.2 墻體設(shè)計AutoLISP程序 10.2.1 單線墻AutoLISP程序 10.2.2 雙線墻AutoLISP程序 10.3 樓梯設(shè)計AutoLISP程序 10.3.1 繪制平面樓梯AutoLISP程序 10.3.2 剖面樓梯AutoLISP程序 練習(xí)題 第11章 AutoCAD基本命令 11.1 基本圖形的繪制 11.1.1 繪制直線 11.1.2 構(gòu)造線 11.1.3 多線 11.1.4 多段線 11.1.5 矩形 11.1.6 正多邊形 11.1.7 圓 11.1.8 弧線 11.1.9 橢圓 11.1.10 圓環(huán) 11.2 基本圖形的編輯 11.2.1 復(fù)制圖形 11.2.2 移動圖形 11.2.3 偏移圖形 11.2.4 旋轉(zhuǎn)圖形 11.2.5 比例縮放圖樣 11.2.6 圖形鏡像 11.2.7 陣列圖形 11.2.8 修剪圖形 11.2.9 延伸和拉伸 11.2.10 倒角和圓角 11.2.11 分解圖塊 附錄A 圖形繪制與編輯各命令中英文及簡捷命令一覽表 附錄B 聯(lián)機(jī)程序錯誤代碼 附錄C 標(biāo)準(zhǔn)ASCII碼表 附錄D AutoLISP函數(shù)概要 參考文獻(xiàn)

章節(jié)摘錄

第1章 AutoLISP語言概述1.1 AutoLISP語言簡介1.1.1 開發(fā)AutoCAD的重要工具LISP(List Processing Language)是一種計算機(jī)的表處理語言,是在人工智能學(xué)科領(lǐng)域廣泛應(yīng)用的一種程序設(shè)計語言。AutoLISP語言是嵌于AutoCAD內(nèi)部的計算機(jī)語言,它是AutoCAD開放式體系結(jié)構(gòu)的具體表現(xiàn),它是LISP語言和AutoCAD有機(jī)結(jié)合的產(chǎn)物。使用AutoLISP可直接調(diào)用幾乎全部的AutoCAD命令。AutoLISP語言既具備一般高級語言的基本結(jié)構(gòu)和功能,又具有一般高級語言所沒有的強(qiáng)大圖形處理功能,是當(dāng)今世界上CAD軟件中被廣泛采用的語言之一。美國AutoDesk公司在AutoCAD內(nèi)部嵌入AutoLISP的目的是讓用戶充分利用AutoCAD進(jìn)行二次開發(fā),實(shí)現(xiàn)直接增加和修改AutoCAD命令,擴(kuò)大圖形編輯功能,建立圖形庫和數(shù)據(jù)庫,并對當(dāng)前圖形進(jìn)行直接訪問和修改,開發(fā)CAD軟件包等。在AutoCAD為用戶提供的AutoLISP、ARX、VBA等開發(fā)工具中,AutoLISP是一種簡便易學(xué)的解釋性語言,具有很強(qiáng)的數(shù)據(jù)表處理功能,是開發(fā)AutoCAD的一種重要手段。AutoLISP語言最典型的應(yīng)用之一是實(shí)現(xiàn)參數(shù)化繪圖程序設(shè)計,包括尺寸驅(qū)動程序,鼠標(biāo)拖動程序等。尺寸驅(qū)動是指通過改變實(shí)體標(biāo)注的尺寸值來實(shí)現(xiàn)圖形的自動修改;鼠標(biāo)拖動即利用AutoLISP語言提供的(GRREAD[])函數(shù),讓用戶直接讀取AutoCAD的輸入設(shè)備(如鼠標(biāo)),任選項追蹤光標(biāo)移動存在且為真時,通過鼠標(biāo)移動光標(biāo),調(diào)整所需的參數(shù)值而達(dá)到自動改變屏幕圖形大小和形狀。到目前為止,大多數(shù)參數(shù)化程序都是針對二維平面圖編制的。實(shí)際上,立體圖同樣可以實(shí)現(xiàn)參數(shù)化繪圖,在AutoCAD中編制實(shí)體的立體圖參數(shù)化程序比其平面三視圖程序更簡單,而且立體圖生成后,可以很方便地生成三視圖、剖面圖和軸側(cè)圖等。AutoLISP語言還能夠利用PDB函數(shù)驅(qū)動DCL(Dialog Control Language)文件創(chuàng)建自己的對話框。

編輯推薦

《AutoLISP語言程序設(shè)計》可作為高等院校建筑學(xué)及相關(guān)專業(yè)的教材,也可供其他從事設(shè)計繪圖工作、學(xué)習(xí)AutoLISP語言的有關(guān)人員參考,還可作為AutoLISP培訓(xùn)學(xué)習(xí)的教材。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    AutoLISP語言程序設(shè)計 PDF格式下載


用戶評論 (總計9條)

 
 

  •   書里面都是一些很基礎(chǔ)的概念,缺少通俗使用的例子。初學(xué)者不推薦使用,高手根本不需要看這種書。我現(xiàn)在有點(diǎn)后悔!
  •   對于初學(xué)者來說看你的講解是找不著北的。就連如何設(shè)置lisp和如何實(shí)現(xiàn)在CAD中的調(diào)用操作,這種對于初次使用LISP的人來說很重要的東西,都根本就沒有講解。完全按照幫助文檔抄,而且結(jié)構(gòu)性差,講的顛三倒四——很多都是想起來講那么一句兩句,還不給解釋清楚。以至于按照書上的樣例直接打上去都根本無法運(yùn)行——因?yàn)樗静恢v運(yùn)行,更加不講運(yùn)行可能出現(xiàn)的異常如何解決??浚阋蔡呖闯鯇W(xué)者了吧?初學(xué)者要是連這個都能看出來那還叫初學(xué)者?這書就連如何能讓樣例正確運(yùn)行,需要怎么設(shè)置都還需要自己一步一步摸索。相比之下,無論哪本學(xué)JAVA的書都會講設(shè)置環(huán)境變量等運(yùn)行前設(shè)置呢。我想問:這樣要你個教材何用?運(yùn)行環(huán)境設(shè)置都不交代的?課后習(xí)題沒參考答案什么的我就不說了,最起碼對你自己的樣例,能給我個精確的清晰的指導(dǎo),好讓我能運(yùn)行一下成不?——我說的是你書上的樣例。好歹我也算有2年碼代碼(JAVA)的經(jīng)驗(yàn)了,現(xiàn)在用CAD二次開發(fā)是為了解決工作中出現(xiàn)的放樣問題。若要是想勇攀高峰嘗試下自己探索一門編程語言的話,根本不需要你這種搗糨糊,我自己看幫助文檔慢慢摸索不就好了?你當(dāng)我不知道百度還是不知道CAD論壇?我要的是你把設(shè)置和要點(diǎn)講清楚!歸納的條理清晰!而不是堆徹些都不知道從哪里抄來的代碼就出書了。真看不出你這本書對初學(xué)者有啥幫助。耐著性子看了4章直接扔了。跟這種東西學(xué)還不如靠幫助文檔、BB...S和百度。買書本來是想靠著書籍——這種應(yīng)該是集合了眾多高手歸納總結(jié)出的“磨刀石”,好省點(diǎn)功夫少走點(diǎn)彎路快速解決問題的。這下好,磨刀石直接把刀刃磨成了刀背。。。只可惜亞馬遜不可以打0星,沒差評系統(tǒng),不然我果斷打~~如果有負(fù)星我給本書負(fù)3星! 閱讀更多 ›
  •   書還可以,內(nèi)容簡單,實(shí)例太少
  •   編者基本是在整理AutoLISP Functions,連例子都幾乎相同!
  •   挺好的,比較詳細(xì),可以對照著學(xué)習(xí)
  •   買了以后
  •   業(yè)余看看,學(xué)多一門知識
  •   現(xiàn)在不太用了
  •   呃,紙質(zhì)還可以
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7