{
  "Uuid": "167d89b0-0e4a-4f8b-920c-940a76ba0e7b",
  "IsCustomNode": false,
  "Description": "",
  "Name": "Legend Grid Organizer _byClaudev10",
  "ElementResolver": {
    "ResolutionMap": {
      "List": {
        "Key": "List",
        "Value": "BuiltIn.ds"
      },
      "Math": {
        "Key": "DSCore.Math",
        "Value": "DSCoreNodes.dll"
      },
      "Point": {
        "Key": "Autodesk.DesignScript.Geometry.Point",
        "Value": "ProtoGeometry.dll"
      },
      "String": {
        "Key": "DSCore.String",
        "Value": "DSCoreNodes.dll"
      },
      "Viewport": {
        "Key": "Revit.Elements.Viewport",
        "Value": "RevitNodes.dll"
      },
      "Revit.Elements.Element": {
        "Key": "Revit.Elements.Element",
        "Value": "RevitNodes.dll"
      },
      "View": {
        "Key": "Revit.Elements.Views.View",
        "Value": "RevitNodes.dll"
      }
    }
  },
  "Inputs": [],
  "Outputs": [],
  "Nodes": [
    {
      "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore",
      "Id": "c439a9a7b3194ec7924dcff1edf3b9db",
      "NodeType": "CodeBlockNode",
      "Inputs": [
        {
          "Id": "76ed0e24fdab4f2f8222c824f4eb1833",
          "Name": "legends",
          "Description": "legends",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "d30b38ca0f2240d6abe3897af31a2dec",
          "Name": "halfW",
          "Description": "halfW",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "23756322bc2440f2aab320dc37faba4b",
          "Name": "halfH",
          "Description": "halfH",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "8787a212d43b42879249a13d29aac8c2",
          "Name": "",
          "Description": "count",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "dd6bde82b8da4ab190e5645267133e7b",
          "Name": "",
          "Description": "columnsCount",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "39e394db27cc4300adc8ddaf8e630949",
          "Name": "",
          "Description": "gridWidth",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "b9206b998cd643699491d3b2eb185291",
          "Name": "",
          "Description": "gridHeight",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "79c7ccfadd674c1b8782b96defb3ab34",
          "Name": "",
          "Description": "targetTopLeftX",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "bfa7c8fad4944de0b640d25eb631eee9",
          "Name": "",
          "Description": "targetTopLeftY",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "b82f303945df4c9985f184683a9ccfc2",
          "Name": "",
          "Description": "indices",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "8996e4d6e0ed4803a3fe64b0afb31f5a",
          "Name": "",
          "Description": "columnIndices",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "e72cc9b6acb74cc6823de71313dcc17e",
          "Name": "",
          "Description": "rowIndices",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "f4b9eec57f1e405dbbfc528cf6cb2bdc",
          "Name": "",
          "Description": "finalX",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "8f53d732fa1541aa84adf4190ee4aff6",
          "Name": "",
          "Description": "finalY",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "db94afd078aa44b2b70ff98287815c14",
          "Name": "",
          "Description": "finalPoints",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Disabled",
      "Description": "Allows for DesignScript code to be authored directly",
      "Code": "// 1. Count how many total legends we have\ncount = List.Count(legends);\n\n// 2. Set your column layout and spacing (in decimal feet)\ncolumnsCount = 4;\ngridWidth = 0.6458333333333333;\ngridHeight = 0.4791666666666667;\n\n// 3. Anchor for the top-left legend (decimal feet)\ntargetTopLeftX = 0.55;\n   // ~1\" in from the sheet's left edge (x = 0);\ntargetTopLeftY = 1.899;\n      // sheet height: 2.0 for 24\", 2.5 for 30\";\n\n// 4. Generate the sequential grid math indices\nindices = 0..(count - 1);\ncolumnIndices = indices % columnsCount;\nrowIndices = Math.Floor(indices / columnsCount);\n\n// 5. Calculate final X and Y with the center-point override\nfinalX = targetTopLeftX + (columnIndices * gridWidth) + halfW;\nfinalY = targetTopLeftY - (rowIndices * gridHeight) - halfH;\n\n// 6. Output the final coordinate points\nfinalPoints = Point.ByCoordinates(finalX, finalY, 0);"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "Id": "a3ea091a93c34a7d930977cd5564ec72",
      "NodeType": "FunctionNode",
      "Inputs": [
        {
          "Id": "52f5fe32dec644969e50c59f6ff9b43d",
          "Name": "sheet",
          "Description": "Revit.Elements.Views.Sheet",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "6e4aaefd329e4c84bc5ae273dcfb1816",
          "Name": "Viewport[]",
          "Description": "Viewport[]",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "FunctionSignature": "Revit.Elements.Views.Sheet.Viewports",
      "Replication": "Auto",
      "Description": "Get Viewports from a given sheet\n\nSheet.Viewports: Viewport[]"
    },
    {
      "ConcreteType": "DSRevitNodesUI.Sheets, DSRevitNodesUI",
      "SelectedIndex": 0,
      "SelectedString": "ACCESS & EGRESS AISLE WORKSHEET",
      "Id": "d1618451114a4e249f25d111c044967f",
      "NodeType": "ExtensionNode",
      "Inputs": [],
      "Outputs": [
        {
          "Id": "a919bb8f5aad4997858f8c9bb1f8fbe4",
          "Name": "Sheet",
          "Description": "The selected Sheet",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Disabled",
      "Description": "All sheets available in the current document."
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "Id": "bf548ccdbb0f414a800e3462eca17716",
      "NodeType": "FunctionNode",
      "Inputs": [
        {
          "Id": "a7c1a561dbd14e6a90ca9db5332712a9",
          "Name": "viewport",
          "Description": "Revit.Elements.Viewport",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "d23a2823a18a4f3284c395d739671701",
          "Name": "point",
          "Description": "Point",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "3f7a5e4cb7c34e3ca192d72418a0d783",
          "Name": "Viewport",
          "Description": "Viewport",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "FunctionSignature": "Revit.Elements.Viewport.SetBoxCenter@Autodesk.DesignScript.Geometry.Point",
      "Replication": "Longest",
      "Description": "Moves this viewport so that the center of the box outline (excluding the viewport label) is at a given point.\n\nViewport.SetBoxCenter (point: Point): Viewport"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "Id": "73463382dad14181815b4e001c9cb49f",
      "NodeType": "FunctionNode",
      "Inputs": [
        {
          "Id": "f9e7138564a347d7873001bd4d32ec09",
          "Name": "viewport",
          "Description": "Revit.Elements.Viewport",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "f6e15767e53b4d20ab0ad66c05f1416d",
          "Name": "BoundingBox",
          "Description": "BoundingBox",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "FunctionSignature": "Revit.Elements.Viewport.BoxOutline",
      "Replication": "Auto",
      "Description": "Returns the outline of the viewport on the sheet, excluding the viewport label.\n\nViewport.BoxOutline: BoundingBox"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "Id": "a54141015ad04a0097cf25a43b7e75bc",
      "NodeType": "FunctionNode",
      "Inputs": [
        {
          "Id": "7a71c7d7de2543a2ab315c62d231a2ec",
          "Name": "boundingBox",
          "Description": "Autodesk.DesignScript.Geometry.BoundingBox",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "1a1dd71cbb1649749a5d4b81860de0a2",
          "Name": "Point",
          "Description": "Point",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "FunctionSignature": "Autodesk.DesignScript.Geometry.BoundingBox.MaxPoint",
      "Replication": "Auto",
      "Description": "The maximum point\n\nBoundingBox.MaxPoint: Point"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "Id": "9d27c85e03f841e89e829c3f13077467",
      "NodeType": "FunctionNode",
      "Inputs": [
        {
          "Id": "d8667cd64c6444bfbbfda802dc557f71",
          "Name": "boundingBox",
          "Description": "Autodesk.DesignScript.Geometry.BoundingBox",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "98aa00c69ea041018e552227459fd536",
          "Name": "Point",
          "Description": "Point",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "FunctionSignature": "Autodesk.DesignScript.Geometry.BoundingBox.MinPoint",
      "Replication": "Auto",
      "Description": "The minimum point\n\nBoundingBox.MinPoint: Point"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore",
      "Id": "bd936fd1bcdb45e89e78ec27121b256d",
      "NodeType": "CodeBlockNode",
      "Inputs": [
        {
          "Id": "a31a5b7e03e24572bd620499ffa93568",
          "Name": "max",
          "Description": "max",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "44b48c9e1e7848d5becbab0297eae4af",
          "Name": "min",
          "Description": "min",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "8ce5976ab4b843ce9302a9ed656e4233",
          "Name": "",
          "Description": "width",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "57dbdb5728044d2b9aa65885c85dd548",
          "Name": "",
          "Description": "height",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "2cd63dbb1bf843bcbcc5ddb31fecadac",
          "Name": "",
          "Description": "halfW",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "86709da8008d48609b130767334acae6",
          "Name": "",
          "Description": "halfH",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Disabled",
      "Description": "Allows for DesignScript code to be authored directly",
      "Code": "width = max.X - min.X;\nheight = max.Y - min.Y;\nhalfW = width / 2;\nhalfH = height / 2;"
    },
    {
      "ConcreteType": "PythonNodeModels.PythonNode, PythonNodeModels",
      "Code": "import clr\r\nclr.AddReference('RevitAPI')\r\nclr.AddReference('RevitServices')\r\nfrom Autodesk.Revit.DB import ViewType\r\nfrom RevitServices.Persistence import DocumentManager\r\ndoc = DocumentManager.Instance.CurrentDBDocument\r\n\r\n# Keep only viewports whose view is a Legend\r\nviewports = IN[0]\r\nlegends = []\r\nfor vp in viewports:\r\n    if doc.GetElement(UnwrapElement(vp).ViewId).ViewType == ViewType.Legend:\r\n        legends.append(vp)\r\nOUT = legends",
      "Engine": "CPython3",
      "EngineName": "CPython3",
      "VariableInputPorts": true,
      "Id": "de44e1445c79431883ac76fca89b98f5",
      "NodeType": "PythonScriptNode",
      "Inputs": [
        {
          "Id": "d0f2358bd35044259f20bff3458a957a",
          "Name": "IN[0]",
          "Description": "Input #0",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "764cb67e8786492980d1bb304c2f3af8",
          "Name": "OUT",
          "Description": "Result of the python script",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Disabled",
      "Description": "Runs an embedded Python script."
    },
    {
      "ConcreteType": "PythonNodeModels.PythonNode, PythonNodeModels",
      "Code": "import clr\r\nclr.AddReference('RevitAPI')\r\nclr.AddReference('RevitServices')\r\nfrom Autodesk.Revit.DB import XYZ\r\nfrom RevitServices.Persistence import DocumentManager\r\nfrom RevitServices.Transactions import TransactionManager\r\ndoc = DocumentManager.Instance.CurrentDBDocument\r\n\r\nviewports = IN[0]\r\noffX   = IN[1]   # horizontal offset of the title (feet)\r\nmargin = IN[2]   # gap ABOVE the box top for the title (feet), e.g. 0.03\r\n\r\nTransactionManager.Instance.EnsureInTransaction(doc)\r\nfor vp in viewports:\r\n    v = UnwrapElement(vp)\r\n    outline = v.GetBoxOutline()                       # this legend's box\r\n    h = outline.MaximumPoint.Y - outline.MinimumPoint.Y  # its own height\r\n    v.LabelOffset = XYZ(offX, h + margin, 0)          # title sits above the top edge\r\nTransactionManager.Instance.TransactionTaskDone()\r\n\r\nOUT = viewports",
      "Engine": "CPython3",
      "EngineName": "CPython3",
      "VariableInputPorts": true,
      "Id": "d37f06f7b22e43ccbda13bc8cb1c0a9f",
      "NodeType": "PythonScriptNode",
      "Inputs": [
        {
          "Id": "34077047351a4223a5ba61cad151c8ae",
          "Name": "IN[0]",
          "Description": "Input #0",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "562e6b0cae014b3ba8e53a1c64fc133f",
          "Name": "IN[1]",
          "Description": "Input #1",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "d002179fe92c497ca980fbe9bc59ea96",
          "Name": "IN[2]",
          "Description": "Input #2",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "22e6db3a14fa4fc5ba3627e14400438e",
          "Name": "OUT",
          "Description": "Result of the python script",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Disabled",
      "Description": "Runs an embedded Python script."
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore",
      "Id": "59fa2bd40f424981841c7f29ebc187b8",
      "NodeType": "CodeBlockNode",
      "Inputs": [],
      "Outputs": [
        {
          "Id": "def2c9fb1cb641378b089c0ef4f4d32c",
          "Name": "",
          "Description": "Value of expression at line 1",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Disabled",
      "Description": "Allows for DesignScript code to be authored directly",
      "Code": "0.0;"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore",
      "Id": "1e7db76451d245078fcebcc779e5941d",
      "NodeType": "CodeBlockNode",
      "Inputs": [],
      "Outputs": [
        {
          "Id": "296e0b69feea4d9f828a38f6665ca2cb",
          "Name": "",
          "Description": "Value of expression at line 1",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Disabled",
      "Description": "Allows for DesignScript code to be authored directly",
      "Code": "0.02;"
    }
  ],
  "Connectors": [
    {
      "Start": "db94afd078aa44b2b70ff98287815c14",
      "End": "d23a2823a18a4f3284c395d739671701",
      "Id": "ec1f56c9b5034d07af11cb7f905817b3",
      "IsHidden": "False"
    },
    {
      "Start": "6e4aaefd329e4c84bc5ae273dcfb1816",
      "End": "d0f2358bd35044259f20bff3458a957a",
      "Id": "43c5455207f34748b86a48153ee0d404",
      "IsHidden": "False"
    },
    {
      "Start": "a919bb8f5aad4997858f8c9bb1f8fbe4",
      "End": "52f5fe32dec644969e50c59f6ff9b43d",
      "Id": "e4cab8d927ea4aedaef70bdbf03f13c9",
      "IsHidden": "False"
    },
    {
      "Start": "f6e15767e53b4d20ab0ad66c05f1416d",
      "End": "7a71c7d7de2543a2ab315c62d231a2ec",
      "Id": "d4843acdfa4640399760118adc937e0e",
      "IsHidden": "False"
    },
    {
      "Start": "f6e15767e53b4d20ab0ad66c05f1416d",
      "End": "d8667cd64c6444bfbbfda802dc557f71",
      "Id": "4c3543153c764667ac661c112f8d5a78",
      "IsHidden": "False"
    },
    {
      "Start": "1a1dd71cbb1649749a5d4b81860de0a2",
      "End": "a31a5b7e03e24572bd620499ffa93568",
      "Id": "7092a1f9e47e40fbbe06c11dbf45e132",
      "IsHidden": "False"
    },
    {
      "Start": "98aa00c69ea041018e552227459fd536",
      "End": "44b48c9e1e7848d5becbab0297eae4af",
      "Id": "453ca433e8dc43fd8769866c03ac2454",
      "IsHidden": "False"
    },
    {
      "Start": "2cd63dbb1bf843bcbcc5ddb31fecadac",
      "End": "d30b38ca0f2240d6abe3897af31a2dec",
      "Id": "b532208861c841e38d329c26c4725653",
      "IsHidden": "False"
    },
    {
      "Start": "86709da8008d48609b130767334acae6",
      "End": "23756322bc2440f2aab320dc37faba4b",
      "Id": "e277c04632fd431994a0159cef8c7d5f",
      "IsHidden": "False"
    },
    {
      "Start": "764cb67e8786492980d1bb304c2f3af8",
      "End": "f9e7138564a347d7873001bd4d32ec09",
      "Id": "6c0115c552a14116affeec267564715e",
      "IsHidden": "False"
    },
    {
      "Start": "764cb67e8786492980d1bb304c2f3af8",
      "End": "a7c1a561dbd14e6a90ca9db5332712a9",
      "Id": "593780d360644871bbf4fdaeb0663f7e",
      "IsHidden": "False"
    },
    {
      "Start": "764cb67e8786492980d1bb304c2f3af8",
      "End": "34077047351a4223a5ba61cad151c8ae",
      "Id": "ca88de4b56f54628a1053c4a3e5c32fb",
      "IsHidden": "False"
    },
    {
      "Start": "764cb67e8786492980d1bb304c2f3af8",
      "End": "76ed0e24fdab4f2f8222c824f4eb1833",
      "Id": "b53239f9bf224594bb9e07787757b360",
      "IsHidden": "False"
    },
    {
      "Start": "def2c9fb1cb641378b089c0ef4f4d32c",
      "End": "562e6b0cae014b3ba8e53a1c64fc133f",
      "Id": "4ee11b320231447bbe581530744455b0",
      "IsHidden": "False"
    },
    {
      "Start": "296e0b69feea4d9f828a38f6665ca2cb",
      "End": "d002179fe92c497ca980fbe9bc59ea96",
      "Id": "72ee972b836247b2b04a44259a32e055",
      "IsHidden": "False"
    }
  ],
  "Dependencies": [],
  "NodeLibraryDependencies": [],
  "Thumbnail": "",
  "GraphDocumentationURL": null,
  "ExtensionWorkspaceData": [
    {
      "ExtensionGuid": "28992e1d-abb9-417f-8b1b-05e053bee670",
      "Name": "Properties",
      "Version": "2.19",
      "Data": {}
    },
    {
      "ExtensionGuid": "DFBD9CC0-DB40-457A-939E-8C8555555A9D",
      "Name": "Generative Design",
      "Version": "6.1",
      "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.19.3.6394",
      "RunType": "Manual",
      "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": [
      {
        "Id": "c439a9a7b3194ec7924dcff1edf3b9db",
        "Name": "Code Block",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 3230.2085725456268,
        "Y": 155.56023696104893
      },
      {
        "Id": "a3ea091a93c34a7d930977cd5564ec72",
        "Name": "Sheet.Viewports",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 2284.3890709172028,
        "Y": 2.8116372743789952
      },
      {
        "Id": "d1618451114a4e249f25d111c044967f",
        "Name": "Sheets",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 2283.193781657385,
        "Y": -136.21284736017191
      },
      {
        "Id": "bf548ccdbb0f414a800e3462eca17716",
        "Name": "Viewport.SetBoxCenter",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 2842.803894834306,
        "Y": -139.28933745808649
      },
      {
        "Id": "73463382dad14181815b4e001c9cb49f",
        "Name": "Viewport.BoxOutline",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 2273.4175796163913,
        "Y": 377.67616894930109
      },
      {
        "Id": "a54141015ad04a0097cf25a43b7e75bc",
        "Name": "BoundingBox.MaxPoint",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 2582.2274225480955,
        "Y": 378.09179572548362
      },
      {
        "Id": "9d27c85e03f841e89e829c3f13077467",
        "Name": "BoundingBox.MinPoint",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 2583.2307617707065,
        "Y": 519.3292462339009
      },
      {
        "Id": "bd936fd1bcdb45e89e78ec27121b256d",
        "Name": "Code Block",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 2875.3975769250028,
        "Y": 381.37633872694488
      },
      {
        "Id": "de44e1445c79431883ac76fca89b98f5",
        "Name": "Python Script",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 2284.2258275969821,
        "Y": 137.48141782125214
      },
      {
        "Id": "d37f06f7b22e43ccbda13bc8cb1c0a9f",
        "Name": "Python Script",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 3453.0275594252626,
        "Y": -132.54234714571709
      },
      {
        "Id": "59fa2bd40f424981841c7f29ebc187b8",
        "Name": "Code Block",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 3237.6270894567037,
        "Y": -133.99349826947918
      },
      {
        "Id": "1e7db76451d245078fcebcc779e5941d",
        "Name": "Code Block",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "ShowGeometry": true,
        "X": 3236.7038227876587,
        "Y": 3.3493154350388181
      }
    ],
    "Annotations": [],
    "X": -3506.6318011564908,
    "Y": -45.414090775765544,
    "Zoom": 1.3059404883470029
  }
}