如何获取结构梁的类型参数
How to get Type Parameters of structural beam
谁能告诉我如何获取结构梁的类型参数?截面高度、宽度、面积等参数?
我想我应该这样开始:
Selection sel = uidoc.Selection;
Reference pickedRef = null;
pickedRef = sel.PickObject(ObjectType.Element, "Please select beam");
Element e = doc.GetElement(pickedRef);
ElementType type = doc.GetElement(e.GetTypeId()) as ElementType;
BuiltInParameter height = BuiltInParameter.FAMILY_HEIGHT_PARAM;
Parameter h = type.get_Parameter(height);
//OR
Parameter hh = type.LookupParameter("Height");
//Then don't know what to do
double h1 = h.AsDouble(); //Or what?
但是我没有得到必需的类型参数,我得到空异常。
谁能告诉我我做错了什么?我使用了错误的 BuiltInParamater 还是其他东西?
谢谢!
米洛斯
您的代码似乎是正确的,我相信该参数不适用于此类元素。尝试下载 Revit Lookup 并检查元素。
每当你遇到这样的异常时,你应该调试你的代码。如果您逐行检查它,您将确切地看到导致问题的原因。您根本不检查参数是否存在。由创建该系列的人决定存在哪些参数以及它们的命名方式。您需要根据族定义检查您需要的参数。
正如 Augusto 所说,您可以为此使用 RevitLookup,或者查看用户界面中的类型属性。您可能还想看看(漂亮的)新 StructuralSection
class。它专为缓解您现在面临的问题而设计。
感谢您的回答。我需要花更多时间寻找类型参数名称。
代码应该是这样的:
Element e = doc.GetElement(pickedRef);
Element e = doc.GetElement(pickedRef);
ElementType type = doc.GetElement(e.GetTypeId()) as ElementType;
//to get height of section
Parameter h = type.LookupParameter("h");
double height = h.AsDouble();
//to get width of section
Parameter b = type.LookupParameter("b");
double width = b.AsDouble();
//and so on...
谢谢!
谁能告诉我如何获取结构梁的类型参数?截面高度、宽度、面积等参数?
我想我应该这样开始:
Selection sel = uidoc.Selection;
Reference pickedRef = null;
pickedRef = sel.PickObject(ObjectType.Element, "Please select beam");
Element e = doc.GetElement(pickedRef);
ElementType type = doc.GetElement(e.GetTypeId()) as ElementType;
BuiltInParameter height = BuiltInParameter.FAMILY_HEIGHT_PARAM;
Parameter h = type.get_Parameter(height);
//OR
Parameter hh = type.LookupParameter("Height");
//Then don't know what to do
double h1 = h.AsDouble(); //Or what?
但是我没有得到必需的类型参数,我得到空异常。
谁能告诉我我做错了什么?我使用了错误的 BuiltInParamater 还是其他东西?
谢谢! 米洛斯
您的代码似乎是正确的,我相信该参数不适用于此类元素。尝试下载 Revit Lookup 并检查元素。
每当你遇到这样的异常时,你应该调试你的代码。如果您逐行检查它,您将确切地看到导致问题的原因。您根本不检查参数是否存在。由创建该系列的人决定存在哪些参数以及它们的命名方式。您需要根据族定义检查您需要的参数。
正如 Augusto 所说,您可以为此使用 RevitLookup,或者查看用户界面中的类型属性。您可能还想看看(漂亮的)新 StructuralSection
class。它专为缓解您现在面临的问题而设计。
感谢您的回答。我需要花更多时间寻找类型参数名称。
代码应该是这样的:
Element e = doc.GetElement(pickedRef);
Element e = doc.GetElement(pickedRef);
ElementType type = doc.GetElement(e.GetTypeId()) as ElementType;
//to get height of section
Parameter h = type.LookupParameter("h");
double height = h.AsDouble();
//to get width of section
Parameter b = type.LookupParameter("b");
double width = b.AsDouble();
//and so on...
谢谢!