{ "Uuid": "0a1c9c60-2869-47de-8a97-9a890808a02b", "IsCustomNode": false, "Description": "", "Name": "16_list_structural_members", "ElementResolver": { "ResolutionMap": {} }, "Inputs": [], "Outputs": [], "Dependencies": [], "NodeLibraryDependencies": [], "EnableLegacyPolyCurveBehavior": true, "Thumbnail": "", "GraphDocumentationURL": null, "ExtensionWorkspaceData": [ { "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", "Name": "Properties", "Version": "3.3", "Data": {} }, { "ExtensionGuid": "DFBD9CC0-DB40-457A-939E-8C8555555A9D", "Name": "Generative Design", "Version": "8.2", "Data": {} } ], "Author": "RÜM", "Linting": { "activeLinter": "None", "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", "warningCount": 0, "errorCount": 0 }, "Bindings": [], "Nodes": [ { "ConcreteType": "PythonNodeModels.PythonNode, PythonNodeModels", "Code": "# -*- coding: utf-8 -*-\r\n# 16 — Listar pilares y vigas estructurales con nivel y material.\r\n#\r\n# Sin entradas.\r\n#\r\n# Salida: tabla (lista de listas) con cabecera para Excel.\r\n\r\nimport sys\r\n\r\nimport clr\r\nclr.AddReference('RevitAPI')\r\nclr.AddReference('RevitServices')\r\nfrom Autodesk.Revit.DB import (\r\n FilteredElementCollector,\r\n BuiltInCategory,\r\n BuiltInParameter,\r\n FamilyInstance,\r\n)\r\nfrom RevitServices.Persistence import DocumentManager\r\n\r\ndoc = DocumentManager.Instance.CurrentDBDocument\r\n_PY3 = sys.version_info[0] >= 3\r\n\r\n\r\ndef _ustr(value):\r\n if value is None:\r\n return ''\r\n if _PY3:\r\n return str(value).strip()\r\n try:\r\n if isinstance(value, unicode):\r\n return value.strip()\r\n except NameError:\r\n pass\r\n return str(value).strip()\r\n\r\nheader = ['category', 'id', 'family', 'type', 'level', 'structural_material', 'mark']\r\nrows = [header]\r\n\r\n\r\ndef _level_name(el):\r\n try:\r\n lid = el.LevelId\r\n if lid is None or lid.IntegerValue < 0:\r\n return ''\r\n lv = doc.GetElement(lid)\r\n return _ustr(lv.Name) if lv is not None else ''\r\n except Exception:\r\n return ''\r\n\r\n\r\ndef _mat(el):\r\n p = el.get_Parameter(BuiltInParameter.STRUCTURAL_MATERIAL_PARAM)\r\n if p is None:\r\n p = el.LookupParameter('Structural Material')\r\n if p is None:\r\n return ''\r\n return _ustr(p.AsValueString() or '')\r\n\r\n\r\ndef _mark(el):\r\n p = el.get_Parameter(BuiltInParameter.ALL_MODEL_MARK)\r\n if p is None:\r\n return ''\r\n return _ustr(p.AsString() or '')\r\n\r\nfor bic in (BuiltInCategory.OST_StructuralColumns, BuiltInCategory.OST_StructuralFraming):\r\n for el in FilteredElementCollector(doc).OfCategory(bic).OfClass(FamilyInstance).ToElements():\r\n sym = el.Symbol\r\n fam = sym.Family.Name if sym is not None else ''\r\n typ = sym.Name if sym is not None else ''\r\n rows.append([\r\n _ustr(el.Category.Name),\r\n el.Id.IntegerValue,\r\n _ustr(fam),\r\n _ustr(typ),\r\n _level_name(el),\r\n _mat(el),\r\n _mark(el),\r\n ])\r\n\r\nOUT = rows\r\n# --- RÜM: mensaje de cierre (URL en rum_platform_url.py) ---\r\ntry:\r\n import sys as _rum_sys\r\n _rum_root = r'c:\\RUM_Platform\\RUM_Tools\\Dynamo_Routines'\r\n if _rum_root not in _rum_sys.path:\r\n _rum_sys.path.insert(0, _rum_root)\r\n import rum_finalize as _rum_fin\r\n OUT = _rum_fin.apply(OUT)\r\nexcept Exception:\r\n pass\r\n", "Engine": "CPython3", "VariableInputPorts": true, "Id": "9d2a170b7e36eb07ba2586e5d66db3c3", "NodeType": "PythonScriptNode", "Inputs": [], "Outputs": [ { "Id": "2809964db518f11036e55b9e8ea49925", "Name": "OUT", "Description": "Result of the python script", "UsingDefaultValue": false, "Level": 2, "UseLevels": false, "KeepListStructure": false } ], "Replication": "Disabled", "Description": "Runs an embedded Python script." } ], "Connectors": [], "View": { "Dynamo": { "ScaleFactor": 1, "HasRunWithoutCrash": false, "IsVisibleInDynamoLibrary": true, "Version": "3.3.0.6316", "RunType": "Manual", "RunPeriod": "1000" }, "Camera": { "Name": "_Background Preview", "EyeX": 0, "EyeY": 0, "EyeZ": 10, "LookX": 0, "LookY": 0, "LookZ": 0, "UpX": 0, "UpY": 1, "UpZ": 0 }, "ConnectorPins": [], "Annotations": [], "X": 0, "Y": 0, "Zoom": 0.75, "NodeViews": [ { "Id": "9d2a170b7e36eb07ba2586e5d66db3c3", "Name": "RÜM 16 Listado estructura", "IsSetAsInput": false, "IsSetAsOutput": false, "Excluded": false, "ShowGeometry": true, "X": 420, "Y": 280 } ] } }