Added AddSpotElevationToSelectedElements and SectionBoxToDetailLines

This commit is contained in:
2020-01-30 12:06:43 +01:00
parent a5175ebc1b
commit 400cbe9552
3 changed files with 2949 additions and 3 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -28,7 +28,7 @@ No suffix: no ui
❌ Removed from master branch
🔻 Not upgraded to 2.x
🔻 Not upgraded to 2.x yet
## Scripts
@@ -44,6 +44,17 @@ Add multiple parameters to a currently opened family with one click. All data of
</details>
### AddSpotElevationToSelectedElements-DS ☑️ 🚧 🐛
Add spot elevations to slected elements. Select the display type of elevation (top, bottom...)
<details>
<summary>Required packages</summary>
- Data-Shapes
</details>
### AddTitleblockAsParameterToAllSheets-DP ✅
Adds the type name of the titleblocks to each sheet as a parameter.
@@ -247,7 +258,7 @@ Automatically add all revisions to all sheets
<details>
<summary>Required packages</summary>
- Aarchi-lab
- Archi-lab
</details>
@@ -274,6 +285,12 @@ List all revisions to a table in a new window
</details>
### SectionBoxToDetailLines-DP ✅ 🚧
Convert the section box of a selected 3D view to detail lines in the current view. Make sure the active view is a plan view!
*Note: not working on rotated section boxes!*
### SubregionsToDetailLines ✅
Convert all subregions to deatil lines in the active view.
@@ -285,7 +302,7 @@ With too big numbers it freezes! Set units to meters!
Make sure the active view is not 3d
#### Optional packages:
#### Optional packages:
- Springs

View File

@@ -0,0 +1,862 @@
{
"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
}
}