2014年5月3日 星期六

AutoCAD 與資料庫的思考 (三) -觀點轉換的實作

 A、圖層變換的控制
傳統的作法中,圖層是類似系統設定的存在,一般在定義下來後即不大更改,在視埠的功能中,所進行的也就是圖層的顯示與否而已。然而實際上,AutoCAD也提供了一個大家少用的功能來支持整個圖層設定的大變動。我們以此,來作為觀點變換的基礎。

圖層狀態管理員
可以利用這個功能一次性的變換所有設定圖層的性質以及顯示功能

B、圖塊的觀點轉換
對於一個圖面來說,觀點的轉換其實就是其線型、顏色等性質的轉換,我們最期待的作法就是利用之前所提圖層變換的控制來進行,一次的將整個圖層的線型作出轉換,然而實際上這將遇到極大的衝突。其包含:
a 物件在設計觀點中並無正反面的概念,但其它觀點有而需區分實線與虛線。
b 組立圖中物件常有被部份遮敝的狀況,需要截斷或重新安排某些線條。
c 設計觀點的要求是盡量的與實物相合,但在其它觀點中常有需要局部變型或放大的狀況。

因此我們不得不退一步的將圖塊的觀點轉換定義為「在人工的判斷下,將圖塊快速的轉換為其它觀點圖型的方式」,另外由於無法直接在圖塊的狀態內完全轉換,因些我們無法由系統來保障兩個圖型的一致性,所以我們又多了一個「快速的檢核圖塊與圖型表達意義是否一致」的需求。

 C、元件的圖層及性質切換-新增指令
AutoCAD可以直接在工具列中進行圖層及性質的切換,但同樣的操作上不是那麼直覺。必需一次選定所有圖元,中間如有操作失誤則需整個重頭再來。
而且因為AutoCAD的架構方式,當圖塊炸開之後,有些圖元的性質我們設定為bylayer,有些則會被設定為byblock,而byblock的圖元在直接切換圖層時並不會顯現效果。
在此為各位介紹簡易的AutoCAd命令新增功能,讓我們能同時的切換圖元的圖層與性質,且以一般的方式來選擇圖元。
AutoCAD提供的自訂使用者介面功能
使用左下欄位的新增指令功能,然後在右方的巨集處打上
「^C^Cchange;p;c;bylayer;lt;bylayer;lw;bylayer;la;(圖層名稱);;」
則可以同時以一般選取的方式切換圖面元件至指定圖層並將性質指定為bylayer

 D、圖塊的管理問題
有了自訂命令之後與設計觀點所提供的模型基礎架構和新增命令的使用行,圖面的整換就很容易了,基就是就該刪的刪、該轉的轉、該截斷的截斷,並且我們是以一個圖塊一個圖塊的方式來進行,疊的再複雜也不容易有弄錯線條的狀況發生。

搜尋的方式可以透過LISP來處理,而取代的方式AutoCAD本身則有提供

然則圖塊的管理上還存在著一個最大的問題,那就是圖塊管理欄位的缺乏,或者以windows的檔案系統說明,圖塊表頭的缺乏。
在之前第二篇文章中大家應該有看到,以這種快速複製貼上所建立出的圖塊,其名稱將會是一個亂數的流水號,這其實讓我們在管理上極不方便,然則卻是不得不然,因其牽扯到資料庫中「鍵」的概念。「鍵」在資料庫中被定義為一種不重覆的欗位。
以人的概念來說明,通常我們稱呼一個是稱呼其姓名,而在人數不多時,這也的確可以達成鍵的功能,但人數多時,姓名難免有所重覆,我們就需要另外一個流水號的系統來進行管理,如同我們的身份證字號。
在一個完整的系統中,鍵與名稱必定的同時被使用,而假如我們今天於圖面上建立了三種不同的氣缸圖塊並且同樣的命名為氣缸時,輸入鍵值將直接指向特定的氣缸,而輸入名稱理應列出所有的氣缸供我們選取。
然而目前的AutoCAD系統並不允許我們這麼做,因此在考量下,阿賢最後選擇以保留「鍵」的功能而暫時放棄圖塊命名的管理。

沒有留言:

張貼留言