我创建了收集 Revit 中现有“线型”列表的代码。
List<Category> All_Categories = doc.Settings.Categories.Cast<Category>().ToList();
Category Line_Category = All_Categories[1];
foreach (Category one_cat in All_Categories) { if (one_cat.Name == "Lines") { Line_Category = one_cat;} }
if (Line_Category.CanAddSubcategory)
{
CategoryNameMap All_Styles = Line_Category.SubCategories; List<string> Line_Styles = new List<string>();
foreach (Category one_category in All_Styles) { if (one_category.Name.Contains("CO_NAME")) {Line_Styles.Add(one_category.Name); } }
TaskDialog.Show(Line_Styles.Count.ToString() + " Current Line Styles", List_To_Dialog(Line_Styles));
}
这将获取线条样式列表,但是当我尝试时: Category New_Line_Style = Line_Category.NewSubCategory.... Visual Studio 告诉我没有 NewSubCategory 的定义
谁能告诉我如何创建一个新的“线条”子类别,或者我在上面的代码中做错了什么?
注意:我发现了主要问题。我试图将子类别添加到我的变量 Line_Category (它本身就是一个类别,应该是一个父类别)。我还尝试将子类别添加到 All_Categories(它已被转换为列表而不是 CategoryNameMap)。
当我添加一个未强制转换的变量时,NewSubCategory 变得可用。但是,现在我无法看到如何设置与我的新样式关联的线条模式——我在网上找到的唯一示例建议使用 New_Line_Style.LinePatternId,但这不在我的新子类别的可用选项列表中。有没有办法设置创建新子类别时使用的默认模式?