天天看點

Teigha .dwg檔案開發——從零開始

 最近要求做cad檔案的第三方開發,嘗試申請了Teigha的免費試用版(要新增賬號申請,官網上有教程,不懂得可以咨詢我,在下方評論也可以),以下是我總結的基礎内容

1.一個工程制圖檔案,也就是drawing(圖紙),其實是一個資料庫,這個資料庫記錄圖形和非圖形對象。一共有3種不同類型的對象:1.實體 2. 容器(管理和存儲對象) 3.其餘對象(包括特殊的沒有布局之類的對象)

其中容器主要包括下列:1.系統符号表,系統中有九張這樣的表,不能改變表格的數量,但是你可以向表格裡面添加内容 2.一個字典(Dictionaries),存儲各種CAD對象的容器,你可以添加新的字典并且往裡面添加對象,建立的資料庫檔案裡面有一個預設的字典,名稱叫做Object Dictionary,這個字典是所有資料庫字典的根字典。

    九種主要的系統符号表:

   1.塊表(Block Table),圖紙實體記錄在塊表記錄中

   2.圖層表(Layers Table),包含圖紙的圖層,每個圖層可以設定屬性:ON/OFF, FROZEN/THAWED,顔色和線條種類

   3 線條種類表(Linetypes Table)包含圖紙的線的類型。每個線型都有一個名字,一個string來描述它的外觀和一個資料來存儲線型的參數

   4 文字類型表(TextStyle Table)包含圖紙的文字風格。每個字型都一個名字,使用的字型,高度,清晰角度和其他一些參數

   5 視圖表(View Table)包含了圖紙的已命名的視圖定義。每個視圖定義都指定了一個3d視圖

   6 視點表(Viewports Table)包含了圖紙的視點定義。已命名的視點組有一系列的視點,并且有相同的命名。目前的視點或者視點組擁有"ACTIVE"屬性

   7 次元樣式表(DimStyles Table)包含了對圖像的次元樣式定義。次元樣式是一個擁有很多變量的容器,其中變量訓示次元是怎麼建立的

   8 UCSs表包含了圖紙中已命名的使用者坐标系統(UCS)的定義。使用者系統系統是規範的坐标系統而不是世界坐标系統

   9 注冊應用表 包含了圖紙注冊的應用,那些把自身注冊到CAD系統中的應用。

2.在資料庫中,主要有兩種主要的對象:容器和對象本身。在系統中有十個内嵌的根對象,九個符号表和一個字典。

  對象可以屬于或者不屬于一個資料庫,拍段的依據是看這個對象是否加入正确的容器中,如果一個對象沒有正确的放入資料庫中(例如圖層放入了塊表中),那麼它就是non-resident(怎麼翻譯好呢,感覺可以翻譯成非原住對象、無效對象等)

  例如,在資料庫中建立一個圖層的過程:1.打開圖層表來寫入 2.建立圖層表記錄來代表圖層 3.在插入表之前設定一些屬性 4.把圖層記錄對象放入表中,資料庫中

  在模型空間中建立一個實體的過程:1.打開快表(包含所有實體)來寫入 2.打開代表模型空間的塊記錄 3建立一個新實體對象 4.在模型空間塊記錄中添加新實體對象。

3 實體是圖形的代表對象,塊是實體對象的擁有者。實體是圖形的代表,典型的有線條、圓、文字等。每個實體都有一些通用的屬性,定在entity類中,比如顔色、是否可見、所屬圖層等。

   建立一個資料實體你需要如下的步驟:1.建立幾何對象 2.打開塊表 3.打開存儲幾何對象的塊記錄對象 4.使用appending方法來插入到表中

4.圖紙中的圖紙(層)相當于基于紙張繪圖的覆寫(畫完一張放在另一張上面)。任何繪畫分為許多圖紙(層),這些圖紙(層)組織資訊功能和執行标準。 每個圖都可以有無限數量的圖紙(層),但必須至少有一個。所有的實體圖必須與一圖紙(層)有關。例如,建築線條、文本和次元可以位于不同的層。當然還有布局的概念,相信大家在使用autocad的時候就有所了解了。

繼續閱讀