C# CreateEmployeeDefinition()函數(shù)
C#語言還是比較常見的東西,這里我們主要介紹C# CreateEmployeeDefinition()函數(shù),包括介紹使用INSERT命令來插入EmployeeBlock塊等方面。
背景提示通常包含一個描述性信息,伴隨一個停止以讓用戶理解所給的信息并輸入數(shù)據(jù)。數(shù)據(jù)可以通過多種方式被輸入,如通過命令行、對話框或AutoCAD編輯窗口。給出的提示要遵循一定的格式,格式要與一般的AutoCAD提示相一致,這一點是非常重要的。例如,關鍵字要用“/”號分隔并放在方括號“[]” 中,缺省值要放在“<>”內(nèi)。對于一個AutoCAD用戶來說,堅持統(tǒng)一的格式將會減少信息理解錯誤的產(chǎn)生。
當用戶在AutoCAD命令行中選擇一個實體時,實體是使用選擇機制被選擇的。這種機制包括一個提示,用來讓用戶知道選擇什么并怎樣選擇(如,窗口或單一實體),然后是一個停頓。
試一下諸如PINE這種命令來看一下提示的顯示,PEDIT來看一下使用單一實體或多線來進行選擇。
練習 Prompts:提示: 在本章中,我們將提示輸入雇員名字、職位、薪水和部門來創(chuàng)建一個雇員塊索引對象。如果輸入的部門不存在,我們將提示輸入部門經(jīng)理的名字來創(chuàng)建一個新的部門。在我們繼續(xù)之前,讓我們試著重用以前的代碼。
為了進行選擇,我們將提示用戶在一個窗口中進行選擇或選擇一個實體,而我們只顯示選擇集中的雇員對象。
在前面的章節(jié)中,我們創(chuàng)建了一個名叫“Earnest Shackleton”的雇員,名字被存儲為“EmployeeBlock”塊定義(塊表記錄)中的MText。如果我們多次插入這個塊,那么我們看到的都是同一個雇員的名字。我們怎樣才能自定義這個塊以使每次插入這個塊的時候顯示不同雇員的名字?這就要使用塊屬性的功能了。屬性是存儲在每一個塊索引實例中的文本,并被作為實例的一部分來被顯示。屬性從存儲在塊表記錄中的屬性定義中繼承相關的屬性。
屬性:讓我們來把MText實體類型改變?yōu)閷傩远x。在C# CreateEmployeeDefinition()函數(shù)中,把下面的代碼替換
- //文本:
- MText text = new MText();
- text.Contents = "Earnest Shackleton";
- text.Location = center;
- //為
- //屬性定義
- AttributeDefinition text = new AttributeDefinition
(center, "NoName", "Name:", "Enter Name", db.Textstyle);- text.ColorIndex = 2;
試著使用TEST命令來測試一下C# CreateEmployeeDefinition()函數(shù):
- [CommandMethod("Test")]
- public void Test()
- {
- CreateEmployeeDefinition();
- }
你現(xiàn)在應該可以使用INSERT命令來插入EmployeeBlock塊并對每一個實例確定一個雇員名。當你插入Employee塊時,請注意一下塊插入的位置。它是正好被放置在所選點還是有些偏移?試試怎樣修復它。(提示:檢查塊定義中的圓心)
【編輯推薦】