第4講二維CAD系統及開發技術簡介_第1頁
第4講二維CAD系統及開發技術簡介_第2頁
第4講二維CAD系統及開發技術簡介_第3頁
第4講二維CAD系統及開發技術簡介_第4頁
第4講二維CAD系統及開發技術簡介_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 4.1、二維CAD系統功能需求分析4.2、二維CAD系統體系結構4.3、二維CAD系統關鍵技術4.4、CAD系統圖形交互技術(選)4.5、二維CAD系統開發簡介4.6、 AutoCAD二次開發簡介第第4 4講講 二維二維CADCAD系統及開發技術簡介系統及開發技術簡介 1、了解二維CAD系統組成及體系結構2、簡要了解二維CAD系統開發方法及過程本章目的本章目的 4.1、二維CAD系統功能需求分析對二維機械CAD系統的功能基本要求: 集設計、計算與繪圖于一體,實用化程度高; 符合國家有關機械設計的標準; 全漢化界面、多級彈出式菜單、圖標菜單及對話框等接口形式; 提示醒目,操作簡單,容錯能力強,

2、適合從事機械設計的人員使用。想一想:從機械工程專業學生的角度考慮,二維機械設計CAD軟件需要什么功能才能最好的滿足工程設計人員的需求。 l 各種輔助工程繪圖l 零件計算與分析 l 漢字標注 l 裝配圖自動消隱和明細表自動生成l 基于尺寸驅動的參數化設計 l 交互式參數化零件建庫工具 l 智能尺寸標注與符號標注l 參數化標準件、常用件、夾具零件庫l 簡圖符號庫l 多種信息查詢l 圖號編碼與管理二維CAD系統具體功能需求如下: Windows、TCP/IP協議、DBMS基本圖形定義基礎算法庫交互界面工具圖形庫管理圖形編輯管理圖形顯示管理文件輸入輸出內存數據管理二次開發接口數據庫專業應用開發工具尺寸

3、標注工具設計計算工具標準件庫工具專業符號工具查詢管理工具協同管理工具工藝設計工具4.2、二維CAD系統體系結構參數化管理通用層專用層數據層支撐層專業化應用CAD軟件 4.34.3、二維、二維CADCAD系統關鍵技術系統關鍵技術1)基本圖形生成(圖形學)2)基礎算法庫(數學算法庫)3)參數化技術4)內存管理技術5)二次開發技術6)通用圖形庫技術7)數據交換接口技術 1)基本圖形生成(圖形學)l直線、圓弧、曲線、字符及其它組合圖形的建模、生成與顯示算法等l圖形基本算法:如填充算法、裁剪算法、曲線離散、求交計算等l關鍵在于:效率和穩定性2)基礎算法庫l基本數學運算:如矢量計算、矩陣運算、方程求解、插

4、值計算、優化方法等l度量、物性計算:如長度、角度、距離、面積、質量等l幾何驗證算法:如是否平行、垂直、相交、干涉及包容性等判斷檢驗等 關鍵在于:效率和穩定性 3)參數化技術 參數化(Parametric)設計也叫尺寸驅動( Dimension-Driven),為用戶提供方便的尺寸定義及圖形的參數驅動技術,用戶可高效繪制、修改圖形。它不僅可使CAD系統具有交互式繪圖功能,還具有自動繪圖的功能。目前參數化求解技術大致可分為如下三種方法: (1)基于幾何約束的數學方法,又分為初等方法(Primary Approach)和 代數方法(Algebraic Approach) ; (2)基于幾何原理的人工

5、智能方法; (3)基于特征模型的造型方法。abdce參數化管理工具 ( 1)約束定義工具:如共點、共線、共面、平行、垂直、距離、角度等 ( 2)約束求解算法:約束分解、求解序列規劃、數值求解、推理求解等 ( 3)變量驅動管理(變量表) 4)內存管理技術l內存的分配、訪問、碎片收集整理l關鍵在于訪問效率,大內存的管理,避免內存泄露l開發工具的選擇內存管理對系統影響巨大,直接運行影響效率 例如:部分軟件運行多次后,速度明顯變慢,必須重新啟動計算機 目前,unix操作系統仍然比windows穩定,其內存管理和系統資源管理更穩定(當然windows歷史更短一些)。 5)二次開發接口技術l提供通用的調用

6、接口函數,便于模塊化,節省代碼量,便于維護和擴充l關鍵在于平臺的無關性、兼容性、可移植性l外部接口的穩定性更難以控制6)通用圖形庫技術l提供通用的圖形庫定義機制(多用模板機制),便于構建標準件庫、常用零件庫、用戶自定義庫等工具l關鍵在于:圖形庫定義、添加、修改、刪除等維護機制,通常采用數據庫管理技術。標準件庫管理工具:1)各種標準件庫(常用國標庫:螺栓聯接、軸承、 齒輪等,汽車標準件庫,飛機標準件庫等);2)標準件庫管理(添加、修改、刪除、查詢等);3)用戶專用零件庫管理(添加、修改、查詢等)。 圖形顯示管理:圖形顯示狀態,如顯示、隱藏;圖形顯示模式,如圖層、圖形顯示狀態,如顯示、隱藏;圖形顯

7、示模式,如圖層、線型、顏色;字符顯示,如字體、顏色;圖形顯示流程,從模型定義到線型、顏色;字符顯示,如字體、顏色;圖形顯示流程,從模型定義到設備無關的接口,再到顯示設備。設備無關的接口,再到顯示設備。文件輸入輸出管理:文件的輸入與輸出,其它文件格式轉換,打印、繪文件的輸入與輸出,其它文件格式轉換,打印、繪圖等硬件設備的輸出,文件的加密與解密(包括軟件狗)等。圖等硬件設備的輸出,文件的加密與解密(包括軟件狗)等。尺寸標注工具:尺寸字體、引線、箭頭,直線標注,圓弧標注,形位公尺寸字體、引線、箭頭,直線標注,圓弧標注,形位公差標注,國標符號標注。差標注,國標符號標注。專業符號工具:常用機械設計符號、

8、焊接符號、液壓符號、電器符號、設常用機械設計符號、焊接符號、液壓符號、電器符號、設備符號、飛機設計專業符號、汽車設計專業符號等。備符號、飛機設計專業符號、汽車設計專業符號等。協同管理工具:網絡連接通信服務,設計提交、發布、交流討論、圖形瀏網絡連接通信服務,設計提交、發布、交流討論、圖形瀏覽、遠程訪問覽、遠程訪問PDM數據庫。數據庫。7)CAD系統的其它功能圖形編輯管理:各種圖形的參數修改,曲線編輯,圖形的切角、過渡、各種圖形的參數修改,曲線編輯,圖形的切角、過渡、拼合連接、復制、陣列,圖形的回退(拼合連接、復制、陣列,圖形的回退(Undo)、重作()、重作(Redo)等。)等。 4.4、CAD

9、系統圖形交互技術(選)在現代設計過程中,工程師們經常使用CAD/CG系統,把自己的設計構思通過交互設備輸入到計算機中,計算機經計算、處理、顯示等過程把工程師輸入的設計方案反饋給工程師,如此反復輸入、反饋、修改,直到滿意為止。在這個過程中,工程師和計算機之間不斷交換信息,完成交互任務,稱為人機交互。交互技術也是CG&CAD的一個重要組成部分。人機交互使用的設備主要有鍵盤、顯示器、鼠標、各種模式識別設備等。早期的人機交互通過鍵盤輸入命令,操作系統接到命令后立即執行并將結果通過顯示器顯示。隨著計算機技術的發展,操作命令越來越多,功能越來越強。隨著圖形軟件及硬件技術、模式識別技術(如語音識別、

10、漢字識別)等輸入設備的發展,采用類似于自然語言進行交互成為可能。這些人機交互可稱為智能化的人機交互。 CAD系統圖形交互技術必要性:系統圖形交互技術必要性:人機交互技術的發展人機交互技術的發展 1)圖形交互設備1)物理輸入設備(硬件設備)物理輸入設備(硬件設備) 鍵盤(Keyboard)鼠標(Mouse)跟蹤球(Trackball)操縱桿(Joystick)數字化儀(Digitizer)觸摸板(Touch Panel)光筆(Light Pen)數據手套(Data Glove)掃描儀(Image Scanner)數碼相機(Digital Camera) 2)邏輯輸入設備)邏輯輸入設備 定位設備(

11、Locator Device)筆劃設備(Stroke Device)字符串設備(String Device)定值設備(Valuator Device)選擇設備(Choice Device)拾取設備(Pick Device)圖形系統使用邏輯輸入設備的概念來減少系統對物理設備的依賴性,提高系統的獨立性和靈活性。雖然每種邏輯輸入設備的功能都可以用多種圖形輸入設備來實現,但是有些輸入設備卻比其它設備更加方便地完成特定的邏輯輸入功能。比如說,鼠標和數字化儀擅長于定位,鍵盤可以方便地輸入字符串,光筆適合在屏幕上拾取圖形。定位設備用來輸入位置坐標,如鼠標等定位設備用來輸入位置坐標,如鼠標等 輸入一系列坐標,

12、是定位設備的連續調用輸入一系列坐標,是定位設備的連續調用 用來輸入一串字符。鍵盤、手寫體識別用來輸入一串字符。鍵盤、手寫體識別等等用于輸入數值。如標尺、刻度盤等用于輸入數值。如標尺、刻度盤等 從選擇集中挑選出一個元素,如功能鍵從選擇集中挑選出一個元素,如功能鍵用來拾取屏幕上的一些對象,如鼠標等用來拾取屏幕上的一些對象,如鼠標等 2)圖形交互技術交互技術的出現使得圖形系統能提供各種不同的交互功能,使用戶能方便、高效地完成傳統方法做起來較為困難的工作。 常用的交互技術有:對話框、橡皮筋技術、約束技術、網格技術、引力場技術、拖動技術、操作柄技術、菜單技術等。對話框技術對話框技術 Dialogue B

13、ox 用戶常常需要從一個選擇集中選擇多個元素。菜單技術不適合多選,如彈出式菜單在選擇后就消失。對話框可以解決上述問題。對話框在確認關閉前一直可見。此外,對話框允許用戶從多個選擇集中作選擇,可以提供輸入文本和數值的區域,在用戶確認之前都可以修改,并經用戶確認后才消失。 對話框圖示 橡皮筋技術橡皮筋技術 Rubber Band橡皮筋技術畫直線就是在起點確定后,光標移動定終點時,在屏幕上始終顯示一條連接起點和光標的直線,該直線隨光標位置移動而變動,就像在起點和光標間緊緊地拉著一根橡皮筋。該方法也可畫圓弧、矩形等。橡皮筋技術畫直線實際上是不斷地進行“畫擦(與或模式重畫)畫”簡易動畫過程。即: (1)從

14、起點到光標中心點(x,y)處畫圖; (2)擦除起點到光標中心點(x,y)處圖形; (3)光標移動到新的位置:x = x+x,y = y+y (4)轉第(1)步,重復這個過程,直到按下確認鍵為止。想一想:橡皮條技術如何通過畫線方式實現的。 網格技術網格技術 Grid網格是另一類約束技術,它強迫輸入點落在屏幕的坐標網格交點上。坐標網通常以線網或點陣網顯示在屏幕上,該技術既可用于畫線,也可用于定位。網格可取同等間隔并且覆蓋整個屏幕,也可以使用部分網格以及在不同屏幕區域有不同大小的網格。 約束技術是指交互輸入過程中施加特定約束限制條件進行圖形交互,如繪制水平線、垂直線、平行線、相切線,給定長度、距離等

15、。CAD中的參數化技術是最常見的約束交互技術。約束技術約束技術 Constraint 拖動就是將形體在空間移動。選擇拖動功能后,先在作圖區用定位設備拾取某個要拖動的物體,再按住鍵移動光標,則這個被拾取的物體將隨著光標的移動而移動。拖動過程是不斷地進行畫、擦、畫的過程。拖動技術拖動技術Drag操作柄技術操作柄技術Handle操作柄技術可以用來對圖形對象進行縮放、旋轉等幾何變換。先選擇要處理的圖形對象,該對象的周圍會出現多個操作柄,移動或旋轉操作柄就可以實現相應的變換。 Undo/Redo技術技術在大型CAD應用軟件中均提供了一些無限級的UNDO和REDO功能,使用戶編輯修改圖形更加方便。Undo

16、Undo、RedoRedo操作操作 圖形拾取圖形拾取是交互技術的重要內容之一。在交互式圖形系統中,圖形的增、刪、改等操作都是以拾取圖形或拾取圖形的某一位置點為基礎。拾取圖形的速度和精度又極大地影響著交互系統的質量。點拾取點拾取:點的顯示域是以該點為圓心,r為半徑的圓形域,r 是系統捕捉精度。鼠標位置落在此區域即拾取成功。直線拾取直線拾取:判斷鼠標位置是否落在直線段的包容盒之內,且到直線段的距離是否小于等于系統設定精度。曲線拾取曲線拾取:曲線在顯示輸出時,己離散成小直線段集,故曲線拾取的算法與某一直線段拾取的算法類似。封閉區域拾取封閉區域拾取:依次判別多邊形邊界上每條線段的顯示域是否包含拾取點,

17、如果該圖案的某一條邊界線段滿足拾取條件,則對該區域的拾取成功。圖形拾取操作圖形拾取操作 菜單是程序提供用戶進行命令和操作選擇的可選操作表,其技術的特點是: (1) 可清楚地在屏幕上顯示出可供用戶選擇的全部選項,就像餐廳點菜的菜單一樣,一目了然。 (2) 可以防止用戶選擇在范圍以外的項目,解決了錯誤命令問題。 (3) 菜單很靈活,可以改變內容。大多數圖形系統都采用了菜單結構,菜單可是字符串,也可是圖標(如工具條),由用戶通過選擇設備進行選擇利用鼠標、光筆、觸摸屏等輸入設備可以實現菜單選擇功能。菜單設計原則菜單主要分為三種方式:主菜單、下拉式菜單、彈出式菜單。主菜單始終固定顯示在屏幕某區域上;下拉

18、式菜單是當選擇某些項才呈現到屏幕上;彈出式菜單用鼠標右鍵單擊某個熱區后才呈現到屏幕上,二者都在需要時出現,不需要時立即消失,不會遮擋原顯示圖形。 主菜單(固定菜單)主菜單(固定菜單)子菜單(下拉式菜單)子菜單(下拉式菜單)浮動菜單(彈出式菜單)浮動菜單(彈出式菜單)一般來說,選擇項較少的菜單效率較高。通常菜單位于屏幕一側,使其不影響圖形顯示,如果菜單內容太多,可把菜單分層,由主菜單引出第二級菜單,由第二級引出下一級菜單,菜單層數不宜超過三層。除了固定菜單外,另一種布局方式是“可移式”菜單,如“彈出式”菜單,它可以在任意屏幕光標處出現。 A)界面整體設計)界面整體設計人機操作界面是計算機與人交互

19、的窗口。良好的用戶界面是軟件產品實用化、商品化的重要因素之一。界面設計涉及到生理學(人們對環境的感覺),心理學(人們對知識獲取的方式),以及人的其它因素(人們如何與機器交互作用)等。 界面的屏幕設計涉及屏幕布局、顯示內容、顏色選擇等,有一些經驗可參考。 (1) 屏幕劃分:對稱型和非對稱型。設計中注意空間優化,突出重點。 (2) 字符選擇:字體、字型、大小、中西文及大小寫、對齊方式、間隔、頁邊空白等。好的設計可給屏幕帶來生氣,增加可讀性。 (3) 顏色、亮度選擇:避免同時使用光譜邊緣色;字符、細線、小物體應避免用藍色;避免紅、綠色同時使用。利用顏色把用戶注意力吸引到重要信息上,并對信息進行分類,

20、增強人的興趣,減少視覺疲勞。 B)界面設計原則)界面設計原則(1)保持一致性。界面設計時,應遵從統一的、簡單的規則;(2)提供反饋。反饋用戶計算機正在進行的操作、結果、出錯處理以及下一步應怎樣進行等。如果響應時間長,反饋信息就更顯重要;(3)盡量減少失誤的可能。減少用戶的操作失誤,引導用戶只在有效的范圍內工作,不讓用戶做不允許做的工作。例如沒有選擇任何東西,就屏蔽“拷貝”操作;(4)提供出錯恢復。四種恢復方法:復原(UNDO)、中止(ABORT)、取消(CANCEL)、校正(CORRECT);(5)面向多層次用戶。使新手及熟練用戶都能找到合適的交互手段。如提供加速鍵,增加提示信息,可擴充功能及

21、隱藏功能;(6)簡潔易懂。盡量減少要記憶的內容;(7)提供聯機幫助(Online Help)。能在操作過程中隨時提供幫助。 界面設計在工作流程上分為結構設計、交互設計、視覺設計三個部分。C)界面設計流程)界面設計流程結構設計結構設計:也稱概念設計。通過對用戶研究和任務分析,制定出產品的整體架構、界面整體風格。在結構設計中,目錄體系的邏輯分類和語詞定義是用戶易于理解和操作的重要前提。 交互設計:交互設計:其目的是使產品讓用戶能簡單使用,人的因素應作為設計的核心被體現出來。交互設計的原則如下: (1) 有清楚的、針對性的錯誤提示;(2) 讓用戶控制界面,面對不同層次用戶提供多種選擇;(3) 允許兼

22、用鼠標和鍵盤;(4) 允許工作中斷;(5) 使用用戶的語言,而非技術的語言;(6) 提供快速反饋;(7) 方便退出;(8) 快速導航;(9) 讓用戶知道自己當前位置,便于決定下一步。 視覺設計:視覺設計:包括色彩、字體、頁面等,達到用戶愉悅之目的。原則如下: (1) 界面清晰明了,允許定制;(2) 減少短期記憶負擔;(3) 依賴認知而非記憶,如圖標、菜單;(4) 提供視覺引導;如Where, Next 等按鈕提示;(5) 提供undo、redo功能 ;(6) 提供快捷方式;(7) 界面協調一致;(8) 同樣功能用同樣的圖示、顏色;(9) 整體不用過多色系,盡量少用紅色、綠色。 D)界面設計技巧

23、)界面設計技巧良好的界面無需用戶閱讀手冊就知道如何使用。通常界面設計應注意:l一致性 。要有統一的操作方式、統一的字體、統一的色調、統一的提示、統一的窗口位置、統一的按鈕位置。l遵循標準。參照一些工業標準,如IBM的界面規范或MS的設計規則。l設置向導。最好的方式是在桌面上設置一個流程向導。l提示規范 。容易理解、稱呼統一、口徑統一、位置一致。l納人所長。了解同行,分析差別,既要模仿,也要創新。l 操作一致。同一軟件中如添加、修改、刪除等類似功能應操作相同。l變灰功能。有些功能有時需抑制不可用,應使他們變灰為不可用狀態。l默認按鈕。定義默認按鈕簡化操作,即使誤操作也不破壞系統。想一想:從CAD

24、角度,展望交互技術的進一步發展需求。 E)界面質量評價)界面質量評價對界面設計的質量評價通常可用四項基本要求衡量: (1)界面設計是否有利于用戶目標的完成? (2)界面學習和使用是否容易? (3)界面使用效率如何? (4)設計的潛在問題有哪些?界面品質評測原則參考:界面品質評測原則參考: (1)實用性。從用戶調查表中獲取數據; (2)有效性。度量指標錯誤率、完成時間、系統使用率等; (3)易學習性。系統使用后錯誤率下降、完成時間減少、正確執行命 令、用戶知識增加等統計衡量; (4)功能使用率。若有功能從未用過,可能設計有誤; ( 5)用戶滿意程度。以用戶滿意程度,問題多少及使用興趣來衡量。界面

25、評測方法:界面評測方法:測試實驗、使用監測、用戶調查等方法。 二次開發是指在通用的平臺軟件上,利用其開發接口進行特定的功能定制開發。典型的例子:基于AutoCAD平臺的機械設計系統InteCAD;基于UG,Pro/E等平臺的三維標準件庫系統和典型零部件設計系統等。4.5、二維CAD系統開發簡介通過二次開發可實現CAD系統的某些特定功能,方便使用,如:l一組命令的集合。將通用平臺需要多次操作才能實現的功能整合成一個命令,方便用戶使用。例如,標注粗糙度符號;l提供一些專業的計算。通過二次開發實現通用平臺不提供專業計算。如InteCAD的尺寸驅動功能。l實現對數據庫的支持。用二次開發工具通過ODBC

26、或者其他方式訪問數據庫系統。如標準件庫系統。l典型的專業化零部件設計,用二次開發工具,實現典型零件的專業化開發,如齒輪,軸,皮帶輪等,進行專業化設計計算。 不同的通用平臺提供不同的二次開發接口,一般的都提供C/C+語言編譯型開發接口。(有的還提供Basic語言、LISP語言等解釋型開發接口)C/C+C/C+語言二次開發的步驟:語言二次開發的步驟:l編輯C/C+源程序,使用該平臺提供的二次開發接口API函數或類;l編譯、鏈接,生成可在該通用平臺下運行的可執行程序.EXE或.DLL;l在通用平臺下載入可執行程序,執行得到相關的結果。二次開發時注意事項:二次開發時注意事項:l集成編輯環境l編譯、鏈接

27、環境l自編程序的裝載、自動裝載l綜合調試l應用程序裝載與卸載 4.6、 AutoCAD二次開發簡介l AutoLISP(R2.5) AutoLISP(R2.5) Visual LISP Visual LISPl ADS(R10) ADS(R10)l ObjectARX(R13) ObjectARX(R13)l ActiveX Automation(VBA) ActiveX Automation(VBA)內模式與外模式內模式與外模式OpenDWGOpenDWG1)AutoCAD的二次開發模式 A)基于Auto LISP Auto LISP 的開發(AutoCAD LISt Processing)

28、AutoLISP是AutoCAD內部的LISP編程語言,既具有一般高級語言的基本結構和功能,又具AutoCAD所特有的圖形處理功能。利用AutoLISP可以直接修改和調用AutoCAD命令,并能結合各類標準建立大量的參數圖形庫,還能夠對當前圖形數據庫直接訪問和修改等。基于AutoLISP開發的優點:1)編程簡潔,便于調試;2)直接針對AutoCAD,易于交互;3)解釋執行,效果明顯。 AutoLISP缺點:1)功能單一;2)解釋執行慢;3)不適合復雜應用開發。Visual LISPVisual LISP:1)在可視化的開發環境下編寫、調試;2)經編譯后,提高了運行性能和保密性;3)LISP代碼

29、通過AutoCAD 的Object ARX接口,提高運行速度;Visual LISP是一個可視化的LISP語言開發環境, AutoCAD從R14版支持Visual LISP開發工具,是AutoLISP語言的擴展。具有以下特性: B)基于 ADS 的開發技術ADS(AutoCAD Development System)ADS(AutoCAD Development System)是AutoCAD的C語言開發系統,是繼AutoLISP后的第二代開發工具,從AutoCAD R14開始引入,它包括了C語言的全部功能,可以用C語言編寫AutoCAD應用程序的頭文件和目標庫,可直接利用各種C語言編譯器,將

30、應用程序編譯成可執行的文件在AutoCAD環境下運行。ADS優點:源代碼的可讀性好于AutoLISP;采用結構化編譯體系,編譯速度快;具備高強度數據處理,適合各種專業化應用軟件的二次開發。ADS缺點:C語言比LISP語言難于掌握和熟練應用;需編譯運行,其隱藏錯誤往往導致AutoCAD乃至操作系統的崩潰。此外,實現同樣功能,ADS程序源代碼比AutoLISP代碼長很多。從AutoLISP R14后, Autodesk公司已不再發展ADS程序設計模式。并從第二代ADS開始,發展多種語言環境下的開發工具,從LISP語言到Basic、C / C+ 等。 C)基于 VBA 的開發技術VBA(Visual

31、 Basic for Application)開發工具,它是一種嵌入AutoCAD內部基于對象的集成編程環境,并被集成到AutoCAD2000以后所有版本中,為開發者提供了一種新的選擇。VBA和AutoCAD中的ActiveX自動化對象模型的結合,具有強大的開發能力,代表了一種新型定制AutoCAD的模式架構。VBA可提供強大的窗體創建功能,為應用程序建立對話框及其他屏幕界面;可建立功能強大的模塊級宏指令;提供類模塊創建功能,利于組件重用;具備完善的數據訪問與管理能力。但是,VBA不能像Visual LISP那樣可以隨意使用AutoCAD命令,只能像腳本文件的模式,以字符串的方式向AutoCA

32、D命令發送一串響應;源程序始終暴露在用戶面前,易造成誤操作,導致應用程序出錯。 ObjectARX(AutoCAD Run-time eXtension)是AutoCAD R14以上版本的一種通用的開發接口,它提供了以C+為基礎的面向對象的開發環境及應用程序接口,能真正快速地訪問AutoCAD圖形數據庫。ObjectARX程序本質上是Windows動態鏈接庫(DLL)程序,直接訪問AutoCAD數據庫結構、圖形系統以及CAD幾何造型核心,以便能在運行期間實時擴展AutoCAD的功能。ObjectARX程序與AutoCAD、Windows之間均采用Windows消息傳遞機制。是以C+為基本開發語

33、言,具有封裝性、繼承性及多態性的特點,模塊性好、獨立性強、使用方便、內部功能高效實現,代碼可重用性好等,支持MFC基本類庫,能簡潔高效地實現許多復雜功能。D)基于 ObjectARX 的開發技術 E)新一代基于. NET的開發技術.NET是基于Mircosoft.NET架構直接進行AutoCAD二次開發的一種新技術。目前能支持. NET開發的軟件版本為AutoCAD2006以上版本。不管開發語言是Visual Basic . NET還是Visual C# . NET,使用. NET進行AutoCAD二次開發的基本方法和步驟基本上是一樣的。在新推出的支持. NET開發的AutoCAD版本中,Au

34、todesk公司專門為其開發增加了. NET API。. NET API使開發人員可在.NET框架下,使用任何支持.NET的語言,如VB . NET、C和Managed C+等對AutoCAD進行二次開發。其優點是完全面向對象,是較理想的AutoCAD二次開發工具。. NET API在具有ObjectARX強大功能的同時,也具有VBA使用方便的優點。隨著新版本的進一步完善, . NET API必將成為眾多開發人員的首選工具。 l 大數據模型的快速交互與顯示技術l 二維模型中的工程特征表達l 工程圖中的工程特征自動提取l 工程圖紙的全參數化l 工程掃描圖紙的矢量識別l 三維模型向二維投影的工程圖

35、國標化l 由二維圖形重構三維模型l 工程設計知識的表示與重用附:二維CAD的技術難點 A A)AutoLISPAutoLISP特性特性l語法簡單:語法簡單: 不用特殊的變數宣告,非常富有彈性,比起其他的程式語言,它的語法可說是非常簡單而有其獨特的風格l功能函數強大:功能函數強大: 除一般性的功能函數外,又擁有為數不少控制配合AutoCAD的特殊函數,再加上AutoLISP可直接呼叫執行所有AutoCAD的指令,以及掌握運用所有的AutoCAD系統變數,功能強大l文本編輯環境不挑剔:文本編輯環境不挑剔: 只要是一般的文書編輯軟件都適用l直譯式程式直譯式程式; ; 不用再作編譯, 即寫即測、即測即

36、用 ,馬上可以在AutoCAD中回應效果,馬上就有成就感l橫跨各作業平臺橫跨各作業平臺: : 雖然AutoCAD有DOS 、 Windows版本之分但是AutoLISP卻可在不改寫的原貌下載入與執行。2)基于AutoLISP 的AutoCAD二次開發簡介 B B)AutoLISPAutoLISP基本語法結構基本語法結構 規則規則 1 1 :以括弧組成運算式:以括弧組成運算式, ,左右括弧數一定要成雙成對、相對稱左右括弧數一定要成雙成對、相對稱 請依序在請依序在指令指令: : 列列( (或指令或指令:) :)后面直接鍵入以下運算式后面直接鍵入以下運算式: 指令 : (+ 1 2 3 4 5) 傳

37、回加總和 15 指令 : (max 14.5 8.9 35) 傳回最大值 35 指令 : (getint “Enter a integer:”) 傳回 Enter a Integerl: 要求輸入 一個整數 指令 : (setq a (* 12.5 4) 傳回相乘值 50, 同時設定給變數 a 指令 : !a 回應 50 ( 注 :! 號可用來查詢變數值 ) 規則規則 2 2 :運算式型態:運算式型態( (運算元運算子運算子運算子運算元運算子運算子運算子.).)或或( (函數函數( (式式) )引引數引數引數數引數引數.) .) 或或( (函數函數( (式式) )元素元素元素元素元素元素.)

38、.) 運算子數據類型 a. 整數(Integer):如8,-17,500,9999 b. 實數(Real):如8.5,-17.456 c. 字串(String):如“AutoCAD”,“123”,“Enter Real:”,“7.5”, d. 表(List):如(“a” “b” “c”),(x y),(x y z),(“a” 8 3.5),. e. 圖元名稱代碼 : 如 . (setq en (entlast) (entget en) f. 文件代碼:如 (setq ffr (open “test.txt” “r”) g. 選擇群集代碼:如 、 (setq ss (ssget) 選取物件: (可選擇物體) 規則規則3 3:多重的括弧運算式:多重的括弧運算式, ,運算的先后順序是運算的先后順序是由內而外、由左而由內而外、由左而右右(setq kk (- (+ 10.25 17) (/ 13.2 7) (setq kk (- (+ 10.25 17) (/ 13.2 7) 規則規則4 4:以:以defundefun功能函數定義新的指令或新的功能函式功能函數定義新的指令或新的功能函式( (注注: :引數及引數及區域變數可省略區域變數可省

溫馨提示

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

評論

0/150

提交評論