我正在爲Revit 2014編寫一個插件。其功能之一是由用戶放置垂直列。的Revit API允許將家庭情況由用戶與方法PromptForFamilyInstancePlacement
,這是我使用的是什麼,就像這樣:Revit API - 提示用戶創建垂直列
//PillarSymbols is a list containing symbols of various columns available, loaded previously from a file
FamilySymbol symbol = PillarsSymbols.Single(x => x.Kind == selected.Kind).Symbol;
_commandData.Application.ActiveUIDocument.PromptForFamilyInstancePlacement(symbol);
這個代碼能夠在Revit應用Modify | Place structural column
工具。它可以根據需要工作,但不允許用戶在垂直列和傾斜列之間切換。此選項設置爲在運行上面的代碼之前設置的任何值。
我曾嘗試使用運行PromptForFamilyInstancePlacement
之前設置符號參數:
symbol.get_Parameter(BuiltInParameter.SLANTED_COLUMN_TYPE_PARAM).Set(value);
但get_Parameter()
以上返回null
。
在提示用戶放置列之前,是否有方法將列類型設置爲垂直列?還有預先設定柱高的方法嗎?
謝謝@prestonsmith的答案。不幸的是,由於上述插件的具體要求,我不能提示用戶選擇正確的符號,而這些符號現在是不相關的。 我結束了一個解決方法: 1)讓用戶放置在此刻選擇哪種類型的列(垂直/傾斜) 2)讀取用戶放置的列實例的位置和旋轉 3)刪除那些實例 4)將我自己的垂直實例與我想要的高度 –