{
  "Uuid": "2596cccc-34fb-4dcf-92db-4a48aa7e91e7",
  "IsCustomNode": false,
  "Description": null,
  "Name": "SectionBoxToDetailLines-DP",
  "ElementResolver": {
    "ResolutionMap": {}
  },
  "Inputs": [],
  "Outputs": [],
  "Nodes": [
    {
      "ConcreteType": "PythonNodeModels.PythonNode, PythonNodeModels",
      "NodeType": "PythonScriptNode",
      "Code": "# https://forum.dynamobim.com/t/get-a-bounding-box-from-a-section-box/31134/5?u=infeeeee\r\nimport clr\r\nclr.AddReference('ProtoGeometry')\r\nfrom Autodesk.DesignScript.Geometry import *\r\n\r\nclr.AddReference(\"RevitNodes\")\r\nimport Revit\r\nclr.ImportExtensions(Revit.Elements)\r\n\r\nclr.AddReference(\"RevitServices\")\r\nimport RevitServices\r\nfrom RevitServices.Persistence import DocumentManager\r\nfrom RevitServices.Transactions import TransactionManager\r\n\r\nfrom System.Collections.Generic import *\r\n\r\nclr.AddReference(\"RevitAPI\")\r\nimport Autodesk\r\nfrom Autodesk.Revit.DB import *\r\n\r\nclr.ImportExtensions(Revit.GeometryConversion)\r\n\r\ndoc = DocumentManager.Instance.CurrentDBDocument\r\nuiapp = DocumentManager.Instance.CurrentUIApplication\r\napp = uiapp.Application\r\n\r\n\r\nif isinstance(IN[0], list):\r\n    views = UnwrapElement(IN[0])\r\nelse:\r\n    views = [UnwrapElement(IN[0])]\r\n\r\nTransactionManager.Instance.EnsureInTransaction(doc)\r\n\r\nviewlist = []\r\nsectionboxes = []\r\nfloors = []\r\nfloorboxes = []\r\n\r\nfor view in views:\r\n\tviewlist.append(view)\r\n\tsectionbox = view.GetSectionBox()\r\n\ttransform = sectionbox.Transform\r\n\tsboxoriginx = transform.Origin.X\r\n\tsboxoriginy = transform.Origin.Y\r\n\tsboxoriginz = transform.Origin.Z\r\n\tminx = sectionbox.Min.X + sboxoriginx\r\n\tmaxx = sectionbox.Max.X + sboxoriginx\r\n\tminy = sectionbox.Min.Y + sboxoriginy\r\n\tmaxy = sectionbox.Max.Y + sboxoriginy\r\n\tminz = sectionbox.Min.Z + sboxoriginz\r\n\tmaxz = sectionbox.Max.Z + sboxoriginz\r\n\tbbox = BoundingBoxXYZ()\r\n\tbbox.Min = XYZ((minx), (miny), (minz))\r\n\tbbox.Max = XYZ((maxx), (maxy), (maxz))\r\n\ttsectionbox = bbox.ToProtoType()\r\n\tsectionboxes.append(tsectionbox)\r\n\tcollector = FilteredElementCollector(doc, view.Id)\r\n\tfloor = collector.OfClass(Floor).ToElements()\r\n\tfloors.append(floor)\r\n\r\nTransactionManager.Instance.TransactionTaskDone()\r\n\r\nOUT = views, sectionboxes, floors",
      "VariableInputPorts": true,
      "Id": "b02dd40f5ada43708e91568eacee7e31",
      "Inputs": [
        {
          "Id": "8ebc1216ab0840ceba3fa3e339d289f2",
          "Name": "IN[0]",
          "Description": "Input #0",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "33c832cc88cf4b9cbffd0b3ac696d14b",
          "Name": "OUT",
          "Description": "Result of the python script",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Disabled",
      "Description": "Runs an embedded IronPython script."
    },
    {
      "ConcreteType": "DSRevitNodesUI.Views, DSRevitNodesUI",
      "SelectedIndex": 5,
      "NodeType": "ExtensionNode",
      "Id": "bb16b978cd084982aafc759aebdd7c9e",
      "Inputs": [],
      "Outputs": [
        {
          "Id": "bc02a9de6e364b08b26ecc1e2ee160fb",
          "Name": "Views",
          "Description": "The selected Views",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Disabled",
      "Description": "All views available in the current document."
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore",
      "NodeType": "CodeBlockNode",
      "Code": "a[1];",
      "Id": "a9b7f266a36d47e1bb5845d595519dcf",
      "Inputs": [
        {
          "Id": "0758aad6af2e4b07a901e309c062689a",
          "Name": "a",
          "Description": "a",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "d2ae0724f9ec4f94a99c929a078a0e5e",
          "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"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "NodeType": "FunctionNode",
      "FunctionSignature": "Autodesk.DesignScript.Geometry.BoundingBox.ToPolySurface",
      "Id": "d8e8ff2e5113427c98ef90dd1ba540bc",
      "Inputs": [
        {
          "Id": "935a3258e6b2434998b0636f8edea5ef",
          "Name": "boundingBox",
          "Description": "Autodesk.DesignScript.Geometry.BoundingBox",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "1e15ec5b2d9245dfbc1505a2d5925658",
          "Name": "PolySurface",
          "Description": "A PolySurface representation of the BoundingBox",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Auto",
      "Description": "Get the BoundingBox as a collection of Surfaces\n\nBoundingBox.ToPolySurface ( ): PolySurface"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "NodeType": "FunctionNode",
      "FunctionSignature": "Autodesk.DesignScript.Geometry.PolySurface.Surfaces",
      "Id": "9781ea47c01341a28ec3aa913ae07990",
      "Inputs": [
        {
          "Id": "05bc6fa9c6cd4ed7998de279ff5e37b1",
          "Name": "polySurface",
          "Description": "Autodesk.DesignScript.Geometry.PolySurface",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "9af7f86b109c45d08fb9071754733379",
          "Name": "Surface[]",
          "Description": "Surface[]",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Auto",
      "Description": "Return new Surfaces representing the underlying Surfaces.\n\nPolySurface.Surfaces ( ): Surface[]"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "NodeType": "FunctionNode",
      "FunctionSignature": "DSCore.List.Flatten@var[]..[],int",
      "Id": "a541b5bc399c42908563572a4a520e5a",
      "Inputs": [
        {
          "Id": "c52617ca33764f41bd0ba73c99bddbf4",
          "Name": "list",
          "Description": "List to flatten.\n\nvar[]..[]",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "efaad19ab2c34fb69bf95d5f22b58dc3",
          "Name": "amt",
          "Description": "Layers of nesting to remove.\n\nint\nDefault value : -1",
          "UsingDefaultValue": true,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "9c983ebcc78a408d8d4aabbac50ec10a",
          "Name": "var[]..[]",
          "Description": "var[]..[]",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Auto",
      "Description": "Flattens a nested list of lists by a certain amount.\n\nList.Flatten (list: var[]..[], amt: int = -1): var[]..[]"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "NodeType": "FunctionNode",
      "FunctionSignature": "Autodesk.DesignScript.Geometry.Surface.NormalAtParameter@double,double",
      "Id": "7088b8a6b8b94648a7bf6ac9d7ed48be",
      "Inputs": [
        {
          "Id": "73e085a2346a46178d8e5803031acbe2",
          "Name": "surface",
          "Description": "Autodesk.DesignScript.Geometry.Surface",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "b698946665d44ad497d1192d15411341",
          "Name": "u",
          "Description": "double\nDefault value : 0",
          "UsingDefaultValue": true,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "11fce3f03bd64360874faa6e39b6fdbe",
          "Name": "v",
          "Description": "double\nDefault value : 0",
          "UsingDefaultValue": true,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "ba5de37d5a1043d894c8d17eda73f562",
          "Name": "Vector",
          "Description": "Vector",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Auto",
      "Description": "Return the normal Vector at specified U and V parameters.\n\nSurface.NormalAtParameter (u: double = 0, v: double = 0): Vector"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore",
      "NodeType": "CodeBlockNode",
      "Code": "100;",
      "Id": "8a7f077aef0942358fe85d1cfe4895d4",
      "Inputs": [],
      "Outputs": [
        {
          "Id": "145cf62b317646239497d2ec548fe975",
          "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"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore",
      "NodeType": "CodeBlockNode",
      "Code": "a.Z;",
      "Id": "f75cc6f9ac5446629b3813ae8761c1e4",
      "Inputs": [
        {
          "Id": "f05ea1d2bf3f44e18b2c91f9de4bd897",
          "Name": "a",
          "Description": "a",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "c970eec77e064a04b33d9f1b9760f53b",
          "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"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "NodeType": "FunctionNode",
      "FunctionSignature": "DSCore.List.FirstIndexOf@var[]..[],var",
      "Id": "0e637e5fc3ad47b7b776ab292956f7d7",
      "Inputs": [
        {
          "Id": "b10654549b714b34990896f6d731929c",
          "Name": "list",
          "Description": "List to search in. If this argument is null, -1 is returned.\n\nvar[]..[]",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "d04a2a9a74234f2d8e828b4e4e6bc3f3",
          "Name": "item",
          "Description": "Item to look for.\n\nvar",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "f2e1fe06c7f840de9b2b44367fdf40a8",
          "Name": "int",
          "Description": "Zero-based index of the item in the list, or -1 if it is not found.",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Auto",
      "Description": "Given an item, returns the zero-based index of its first occurrence in the list. If the item cannot be found in the list, -1 is returned.\n\nList.FirstIndexOf (list: var[]..[], item: var): int"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.CodeBlockNodeModel, DynamoCore",
      "NodeType": "CodeBlockNode",
      "Code": "1.0;",
      "Id": "52e296dfe9f84e18b48bed540679dcb2",
      "Inputs": [],
      "Outputs": [
        {
          "Id": "4864d9fdc8dd4f4980d98ffc7cae4a5e",
          "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"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "NodeType": "FunctionNode",
      "FunctionSignature": "DSCore.List.GetItemAtIndex@var[]..[],int",
      "Id": "812692b6192d4354ab6f788afc807330",
      "Inputs": [
        {
          "Id": "2069c611e1914460bcecb0bf06263b51",
          "Name": "list",
          "Description": "List to fetch an item from.\n\nvar[]..[]",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "85e26a746ac54331a6c1baca06c04af1",
          "Name": "index",
          "Description": "Index of the item to be fetched.\n\nint",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "84fa845fd51146539d35e7c801d6969f",
          "Name": "item",
          "Description": "Item in the list at the given index.",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Auto",
      "Description": "Returns an item from the given list that's located at the specified index.\n\nList.GetItemAtIndex (list: var[]..[], index: int): var[]..[]"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "NodeType": "FunctionNode",
      "FunctionSignature": "Revit.Elements.DetailCurve.ByCurve@Revit.Elements.Views.View,Autodesk.DesignScript.Geometry.Curve",
      "Id": "df900cb8741d43da8cb8cf5ad66fd204",
      "Inputs": [
        {
          "Id": "4271c7604cb64afaa1b11ec0d4295548",
          "Name": "view",
          "Description": "View to place the detail curve on\n\nView",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        },
        {
          "Id": "89607e4012ff4e76b2f88c5057fd7d52",
          "Name": "curve",
          "Description": "Curve to create detailcurve from\n\nCurve",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "db618f612b6d4e5593d8711d280848f1",
          "Name": "DetailCurve",
          "Description": "DetailCurve",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Auto",
      "Description": "Construct a Revit DetailCurve element from a curve\n\nDetailCurve.ByCurve (view: View, curve: Curve): DetailCurve"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "NodeType": "FunctionNode",
      "FunctionSignature": "Revit.Application.Document.ActiveView",
      "Id": "5b65a0ae3b0a41f3a4176b980c76118e",
      "Inputs": [
        {
          "Id": "bb587d6a7b21457aa29e13654a84860d",
          "Name": "document",
          "Description": "Revit.Application.Document",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "238c947913404781a7eed65cab8181fe",
          "Name": "View",
          "Description": "View",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Auto",
      "Description": "Get the active view for the document\n\nDocument.ActiveView: View"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "NodeType": "FunctionNode",
      "FunctionSignature": "Revit.Application.Document.Current",
      "Id": "7861ec657fca488090da8f720e324139",
      "Inputs": [],
      "Outputs": [
        {
          "Id": "987754edebf74102bb3214fb8cebc59c",
          "Name": "Document",
          "Description": "Document",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Auto",
      "Description": "Get the current document\n\nDocument.Current: Document"
    },
    {
      "ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
      "NodeType": "FunctionNode",
      "FunctionSignature": "Autodesk.DesignScript.Geometry.Surface.PerimeterCurves",
      "Id": "8f0694f8268e4790981b82a260f59182",
      "Inputs": [
        {
          "Id": "6ef2820d0a744c8f9f12be58c3b0c013",
          "Name": "surface",
          "Description": "Autodesk.DesignScript.Geometry.Surface",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Outputs": [
        {
          "Id": "23b2e20a75ee473bbc3e6b5f72101f59",
          "Name": "Curve[]",
          "Description": "Curve[]",
          "UsingDefaultValue": false,
          "Level": 2,
          "UseLevels": false,
          "KeepListStructure": false
        }
      ],
      "Replication": "Auto",
      "Description": "Return all the boundary Curves of the Surface.\n\nSurface.PerimeterCurves ( ): Curve[]"
    }
  ],
  "Connectors": [
    {
      "Start": "33c832cc88cf4b9cbffd0b3ac696d14b",
      "End": "0758aad6af2e4b07a901e309c062689a",
      "Id": "a1a0d52482524014a202f6e0f5aff7e3"
    },
    {
      "Start": "bc02a9de6e364b08b26ecc1e2ee160fb",
      "End": "8ebc1216ab0840ceba3fa3e339d289f2",
      "Id": "40e64c6d1af84ea38423ed72839bb18c"
    },
    {
      "Start": "d2ae0724f9ec4f94a99c929a078a0e5e",
      "End": "935a3258e6b2434998b0636f8edea5ef",
      "Id": "d6e6eaf12fbb44dab7b7c8b9c0126156"
    },
    {
      "Start": "1e15ec5b2d9245dfbc1505a2d5925658",
      "End": "05bc6fa9c6cd4ed7998de279ff5e37b1",
      "Id": "61a808a1e13349fea7dcb5fe8be661e2"
    },
    {
      "Start": "9af7f86b109c45d08fb9071754733379",
      "End": "c52617ca33764f41bd0ba73c99bddbf4",
      "Id": "24aaa0cb43cf4e308d1fc47cc1de51e6"
    },
    {
      "Start": "9c983ebcc78a408d8d4aabbac50ec10a",
      "End": "73e085a2346a46178d8e5803031acbe2",
      "Id": "bbf09c071a8840d08e20506859c6c264"
    },
    {
      "Start": "9c983ebcc78a408d8d4aabbac50ec10a",
      "End": "2069c611e1914460bcecb0bf06263b51",
      "Id": "2f5ed34f2f32410ba179a6abca04198d"
    },
    {
      "Start": "ba5de37d5a1043d894c8d17eda73f562",
      "End": "f05ea1d2bf3f44e18b2c91f9de4bd897",
      "Id": "5377db3e11b2418ca74f0f5e6234086b"
    },
    {
      "Start": "145cf62b317646239497d2ec548fe975",
      "End": "b698946665d44ad497d1192d15411341",
      "Id": "5348dd6bc510493582dd55806f8ae0a0"
    },
    {
      "Start": "145cf62b317646239497d2ec548fe975",
      "End": "11fce3f03bd64360874faa6e39b6fdbe",
      "Id": "bdd21c3fb1954f8f808e4110bd43dd1b"
    },
    {
      "Start": "c970eec77e064a04b33d9f1b9760f53b",
      "End": "b10654549b714b34990896f6d731929c",
      "Id": "996cdb1830374eda8780cd30ac9ceabe"
    },
    {
      "Start": "f2e1fe06c7f840de9b2b44367fdf40a8",
      "End": "85e26a746ac54331a6c1baca06c04af1",
      "Id": "aab839c1b92d49a6ae7db565a8ba83a6"
    },
    {
      "Start": "4864d9fdc8dd4f4980d98ffc7cae4a5e",
      "End": "d04a2a9a74234f2d8e828b4e4e6bc3f3",
      "Id": "4361ad7820334ac2b9909ba8348f8bac"
    },
    {
      "Start": "84fa845fd51146539d35e7c801d6969f",
      "End": "6ef2820d0a744c8f9f12be58c3b0c013",
      "Id": "4b3b9afca49e4c47b8671d863f98ad63"
    },
    {
      "Start": "238c947913404781a7eed65cab8181fe",
      "End": "4271c7604cb64afaa1b11ec0d4295548",
      "Id": "05a61a89e61f497f8d9a9eba3e4a2787"
    },
    {
      "Start": "987754edebf74102bb3214fb8cebc59c",
      "End": "bb587d6a7b21457aa29e13654a84860d",
      "Id": "8e571f6efeee407ca578ad97f5af086c"
    },
    {
      "Start": "23b2e20a75ee473bbc3e6b5f72101f59",
      "End": "89607e4012ff4e76b2f88c5057fd7d52",
      "Id": "03a62cdfc8b1435a92ac52c59f4e5c5e"
    }
  ],
  "Dependencies": [],
  "Bindings": [],
  "View": {
    "Dynamo": {
      "ScaleFactor": 1.0,
      "HasRunWithoutCrash": true,
      "IsVisibleInDynamoLibrary": true,
      "Version": "2.0.3.8810",
      "RunType": "Manual",
      "RunPeriod": "1000"
    },
    "Camera": {
      "Name": "Background Preview",
      "EyeX": 383.59678287753763,
      "EyeY": 519.00770869148232,
      "EyeZ": 1156.9477216617147,
      "LookX": -366.10032318570472,
      "LookY": -646.61222230296289,
      "LookZ": -1139.5425285851752,
      "UpX": -0.084309738421825708,
      "UpY": 0.96126169593831945,
      "UpZ": -0.26242678965576371
    },
    "NodeViews": [
      {
        "ShowGeometry": true,
        "Name": "Python Script",
        "Id": "b02dd40f5ada43708e91568eacee7e31",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 1515.4181278999627,
        "Y": 768.38778701452156
      },
      {
        "ShowGeometry": true,
        "Name": "Views",
        "Id": "bb16b978cd084982aafc759aebdd7c9e",
        "IsSetAsInput": true,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 1268.4181278999627,
        "Y": 768.38778701452156
      },
      {
        "ShowGeometry": true,
        "Name": "Code Block",
        "Id": "a9b7f266a36d47e1bb5845d595519dcf",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 1739.4181278999627,
        "Y": 772.60112034785493
      },
      {
        "ShowGeometry": true,
        "Name": "BoundingBox.ToPolySurface",
        "Id": "d8e8ff2e5113427c98ef90dd1ba540bc",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 1949.4181278999627,
        "Y": 768.38778701452156
      },
      {
        "ShowGeometry": true,
        "Name": "PolySurface.Surfaces",
        "Id": "9781ea47c01341a28ec3aa913ae07990",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 2320.4181278999627,
        "Y": 768.38778701452156
      },
      {
        "ShowGeometry": true,
        "Name": "List.Flatten",
        "Id": "a541b5bc399c42908563572a4a520e5a",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 2664.4181278999627,
        "Y": 768.38778701452156
      },
      {
        "ShowGeometry": true,
        "Name": "Surface.NormalAtParameter",
        "Id": "7088b8a6b8b94648a7bf6ac9d7ed48be",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 3149.4181278999627,
        "Y": 921.08521855082574
      },
      {
        "ShowGeometry": true,
        "Name": "Code Block",
        "Id": "8a7f077aef0942358fe85d1cfe4895d4",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 2970.4181278999627,
        "Y": 964.29855188415911
      },
      {
        "ShowGeometry": true,
        "Name": "Code Block",
        "Id": "f75cc6f9ac5446629b3813ae8761c1e4",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 3445.1031766882593,
        "Y": 758.51766425732148
      },
      {
        "ShowGeometry": true,
        "Name": "List.FirstIndexOf",
        "Id": "0e637e5fc3ad47b7b776ab292956f7d7",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 3627.1031766882593,
        "Y": 795.30433092398812
      },
      {
        "ShowGeometry": true,
        "Name": "Code Block",
        "Id": "52e296dfe9f84e18b48bed540679dcb2",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 3445.1031766882593,
        "Y": 866.51766425732148
      },
      {
        "ShowGeometry": true,
        "Name": "List.GetItemAtIndex",
        "Id": "812692b6192d4354ab6f788afc807330",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 3834.9725377216541,
        "Y": 615.690355478217
      },
      {
        "ShowGeometry": true,
        "Name": "DetailCurve.ByCurve",
        "Id": "df900cb8741d43da8cb8cf5ad66fd204",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 4670.9725377216546,
        "Y": 548.690355478217
      },
      {
        "ShowGeometry": true,
        "Name": "Document.ActiveView",
        "Id": "5b65a0ae3b0a41f3a4176b980c76118e",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 4361.9725377216546,
        "Y": 507.6903554782171
      },
      {
        "ShowGeometry": true,
        "Name": "Document.Current",
        "Id": "7861ec657fca488090da8f720e324139",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 4133.9725377216546,
        "Y": 507.6903554782171
      },
      {
        "ShowGeometry": true,
        "Name": "Surface.PerimeterCurves",
        "Id": "8f0694f8268e4790981b82a260f59182",
        "IsSetAsInput": false,
        "IsSetAsOutput": false,
        "Excluded": false,
        "X": 4361.9725377216546,
        "Y": 615.690355478217
      }
    ],
    "Annotations": [
      {
        "Id": "ea20fb973d544d88ac58d3250a5c28a0",
        "Title": "Get bounding box",
        "Nodes": [
          "b02dd40f5ada43708e91568eacee7e31",
          "bb16b978cd084982aafc759aebdd7c9e",
          "a9b7f266a36d47e1bb5845d595519dcf"
        ],
        "Left": 1258.4181278999627,
        "Top": 715.38778701452156,
        "Width": 581.0,
        "Height": 150.21333333333337,
        "FontSize": 36.0,
        "InitialTop": 768.38778701452156,
        "InitialHeight": 127.21333333333337,
        "TextblockHeight": 43.0,
        "Background": "#FFC1D676"
      },
      {
        "Id": "76cb34bf1f724df8a90a00069ef61af8",
        "Title": "Get bouniung box surface",
        "Nodes": [
          "d8e8ff2e5113427c98ef90dd1ba540bc",
          "9781ea47c01341a28ec3aa913ae07990",
          "a541b5bc399c42908563572a4a520e5a"
        ],
        "Left": 1939.4181278999627,
        "Top": 715.38778701452156,
        "Width": 921.0,
        "Height": 172.0,
        "FontSize": 36.0,
        "InitialTop": 768.38778701452156,
        "InitialHeight": 149.0,
        "TextblockHeight": 43.0,
        "Background": "#FFC1D676"
      },
      {
        "Id": "a1c8cb70bc824c1289daaa6f07a2a93d",
        "Title": "Get horizontal plane",
        "Nodes": [
          "7088b8a6b8b94648a7bf6ac9d7ed48be",
          "8a7f077aef0942358fe85d1cfe4895d4",
          "f75cc6f9ac5446629b3813ae8761c1e4",
          "0e637e5fc3ad47b7b776ab292956f7d7",
          "52e296dfe9f84e18b48bed540679dcb2",
          "812692b6192d4354ab6f788afc807330"
        ],
        "Left": 2960.4181278999627,
        "Top": 562.690355478217,
        "Width": 1063.5544098216915,
        "Height": 494.60819640594207,
        "FontSize": 36.0,
        "InitialTop": 615.690355478217,
        "InitialHeight": 740.13523786570727,
        "TextblockHeight": 43.0,
        "Background": "#FFC1D676"
      },
      {
        "Id": "492be929440243f3b5022f5438a40537",
        "Title": "Draw detail lines",
        "Nodes": [
          "df900cb8741d43da8cb8cf5ad66fd204",
          "5b65a0ae3b0a41f3a4176b980c76118e",
          "7861ec657fca488090da8f720e324139",
          "8f0694f8268e4790981b82a260f59182"
        ],
        "Left": 4123.9725377216546,
        "Top": 454.6903554782171,
        "Width": 779.0,
        "Height": 253.99999999999994,
        "FontSize": 36.0,
        "InitialTop": 507.6903554782171,
        "InitialHeight": 393.37765627757449,
        "TextblockHeight": 43.0,
        "Background": "#FFC1D676"
      }
    ],
    "X": -708.44512424693039,
    "Y": 72.017851123476589,
    "Zoom": 0.503040378888985
  }
}