From 4b5fde2159bc840aba2a96214fe333fc578d15fc Mon Sep 17 00:00:00 2001 From: chuongmep <31106432+chuongmep@users.noreply.github.com> Date: Mon, 29 May 2023 22:53:57 +0800 Subject: [PATCH] add SnoopElementById --- OpenMEP/Application/Database.cs | 23 +++ .../dyn/Database.SnoopElementById.dyn | 155 ++++++++++++++++++ .../dyn/pic/Database.SnoopElementById.png | Bin 0 -> 13051 bytes 3 files changed, 178 insertions(+) create mode 100644 docs/OpenMEPPage/application/dyn/Database.SnoopElementById.dyn create mode 100644 docs/OpenMEPPage/application/dyn/pic/Database.SnoopElementById.png diff --git a/OpenMEP/Application/Database.cs b/OpenMEP/Application/Database.cs index ae7dd55f..125ddb77 100644 --- a/OpenMEP/Application/Database.cs +++ b/OpenMEP/Application/Database.cs @@ -1,6 +1,7 @@ using System.Diagnostics; using Autodesk.Revit.DB; using Autodesk.Revit.UI; +using OpenMEP.Helpers; using RevitServices.Persistence; namespace OpenMEP.Application; @@ -35,4 +36,26 @@ public static string SnoopElements(List elements DocumentManager.Instance.CurrentUIApplication.PostCommand(lookupCommandId); return "Success"; } + + /// + /// Snoop Explore Elements By Id + /// + /// id of element + /// + /// + /// ![](../OpenMEPPage/application/dyn/pic/Database.SnoopElementById.png) + /// [Database.SnoopElementById.dyn](../OpenMEPPage/application/dyn/Database.SnoopElementById.dyn) + /// + public static string SnoopElementById(List id) + { + Autodesk.Revit.DB.Document document = DocumentManager.Instance.CurrentDBDocument; + List elements = new List(); + foreach (string s in id) + { + ElementId elementId = new ElementId(int.Parse(s)); + global::Revit.Elements.Element element = document.GetElement(elementId).ToDynamoType(); + elements.Add(element); + } + return SnoopElements(elements); + } } \ No newline at end of file diff --git a/docs/OpenMEPPage/application/dyn/Database.SnoopElementById.dyn b/docs/OpenMEPPage/application/dyn/Database.SnoopElementById.dyn new file mode 100644 index 00000000..aea59cad --- /dev/null +++ b/docs/OpenMEPPage/application/dyn/Database.SnoopElementById.dyn @@ -0,0 +1,155 @@ +{ + "Uuid": "5d8156c2-ab88-477b-bf54-97d6725cd43e", + "IsCustomNode": false, + "Description": "", + "Name": "Database.SnoopElementById", + "ElementResolver": { + "ResolutionMap": {} + }, + "Inputs": [], + "Outputs": [], + "Nodes": [ + { + "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore", + "NodeType": "FunctionNode", + "FunctionSignature": "OpenMEP.Application.Database.SnoopElementById@string[]", + "Id": "2e08a8a8f4b24690a0a9adb59ce60a65", + "Inputs": [ + { + "Id": "d0b3db882f1a47c6911d6d5aa3396ef3", + "Name": "id", + "Description": "id of element\n\nstring[]", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Outputs": [ + { + "Id": "cf395efbd706416989460b6b1f6d17e0", + "Name": "string", + "Description": "string", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Auto", + "Description": "Snoop Explore Elements By Id\n\nDatabase.SnoopElementById (id: string[]): string" + }, + { + "ConcreteType": "CoreNodeModels.Input.StringInput, CoreNodeModels", + "NodeType": "StringInputNode", + "InputValue": "960073", + "Id": "a6b00ae3d9104151b0b020f93b3a68a7", + "Inputs": [], + "Outputs": [ + { + "Id": "826558db73774650a09992373de9d4e5", + "Name": "", + "Description": "String", + "UsingDefaultValue": false, + "Level": 2, + "UseLevels": false, + "KeepListStructure": false + } + ], + "Replication": "Disabled", + "Description": "Creates a string." + } + ], + "Connectors": [ + { + "Start": "826558db73774650a09992373de9d4e5", + "End": "d0b3db882f1a47c6911d6d5aa3396ef3", + "Id": "a75fd84cdf44487c941ab8de8643583f", + "IsHidden": "False" + } + ], + "Dependencies": [], + "NodeLibraryDependencies": [ + { + "Name": "OpenMEP", + "Version": "1.0.0", + "ReferenceType": "Package", + "Nodes": [ + "2e08a8a8f4b24690a0a9adb59ce60a65" + ] + } + ], + "Thumbnail": "", + "GraphDocumentationURL": null, + "ExtensionWorkspaceData": [ + { + "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670", + "Name": "Properties", + "Version": "2.16", + "Data": {} + }, + { + "ExtensionGuid": "DFBD9CC0-DB40-457A-939E-8C8555555A9D", + "Name": "Generative Design", + "Version": "3.0", + "Data": {} + } + ], + "Author": "", + "Linting": { + "activeLinter": "None", + "activeLinterId": "7b75fb44-43fd-4631-a878-29f4d5d8399a", + "warningCount": 0, + "errorCount": 0 + }, + "Bindings": [], + "View": { + "Dynamo": { + "ScaleFactor": 1.0, + "HasRunWithoutCrash": true, + "IsVisibleInDynamoLibrary": true, + "Version": "2.16.1.2727", + "RunType": "Automatic", + "RunPeriod": "1000" + }, + "Camera": { + "Name": "Background Preview", + "EyeX": -17.0, + "EyeY": 24.0, + "EyeZ": 50.0, + "LookX": 12.0, + "LookY": -13.0, + "LookZ": -58.0, + "UpX": 0.0, + "UpY": 1.0, + "UpZ": 0.0 + }, + "ConnectorPins": [], + "NodeViews": [ + { + "Name": "Database.SnoopElementById", + "ShowGeometry": true, + "Id": "2e08a8a8f4b24690a0a9adb59ce60a65", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "X": 483.20000000000005, + "Y": 287.2 + }, + { + "Name": "String", + "ShowGeometry": true, + "Id": "a6b00ae3d9104151b0b020f93b3a68a7", + "IsSetAsInput": false, + "IsSetAsOutput": false, + "Excluded": false, + "X": 254.40000000000009, + "Y": 271.2 + } + ], + "Annotations": [], + "X": -96.800000000000068, + "Y": -33.599999999999966, + "Zoom": 1.0 + } +} \ No newline at end of file diff --git a/docs/OpenMEPPage/application/dyn/pic/Database.SnoopElementById.png b/docs/OpenMEPPage/application/dyn/pic/Database.SnoopElementById.png new file mode 100644 index 0000000000000000000000000000000000000000..140527486235e3079b3b21368781a2efe4b5a759 GIT binary patch literal 13051 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 literal 0 HcmV?d00001