Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
andydandy74 committed Nov 9, 2024
1 parent 3ce44d5 commit 1ce2890
Show file tree
Hide file tree
Showing 11 changed files with 499 additions and 661 deletions.
6 changes: 3 additions & 3 deletions nodes/3.x/Element.CopyByVector.dyf
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"ConcreteType": "PythonNodeModels.PythonNode, PythonNodeModels",
"NodeType": "PythonScriptNode",
"Code": "import clr\r\nfrom System.Collections.Generic import *\r\nclr.AddReference('RevitAPI')\r\nfrom Autodesk.Revit.DB import *\r\nimport Autodesk\r\n\r\nclr.AddReference(\"RevitNodes\")\r\nimport Revit\r\nclr.ImportExtensions(Revit.Elements)\r\nclr.ImportExtensions(Revit.GeometryConversion)\r\n\r\nclr.AddReference(\"RevitServices\")\r\nimport RevitServices\r\nfrom RevitServices.Persistence import DocumentManager\r\nfrom RevitServices.Transactions import TransactionManager\r\n\r\ndoc = DocumentManager.Instance.CurrentDBDocument\r\nitems = UnwrapElement(IN[0])\r\nif isinstance(IN[1], list): xyz = [UnwrapElement(x).ToXyz() for x in IN[1]]\r\nelse: xyz = UnwrapElement(IN[1]).ToXyz()\r\nrehost = IN[2]\r\n\r\nTransactionManager.Instance.EnsureInTransaction(doc)\r\nif isinstance(IN[0], list): \r\n\tif isinstance(IN[1], list):\r\n\t\titemlist = [List[ElementId]([x.Id]) for x in items]\r\n\t\tif rehost: \r\n\t\t\tnewitems2 = [ElementTransformUtils.CopyElements(doc,x,doc,Transform.CreateTranslation(y),None) for x, y in zip(itemlist,xyz)]\r\n\t\t\tnewitems = [x[0] for x in newitems2]\r\n\t\telse:\r\n\t\t\tnewitems2 = [ElementTransformUtils.CopyElements(doc,x,y) for x, y in zip(itemlist,xyz)]\r\n\t\t\tnewitems = [x[0] for x in newitems2]\r\n\telse:\r\n\t\tids = [x.Id for x in items]\r\n\t\titemlist = List[ElementId](ids)\r\n\t\tif rehost: newitems = ElementTransformUtils.CopyElements(doc,itemlist,doc,Transform.CreateTranslation(xyz),None)\r\n\t\telse: newitems = ElementTransformUtils.CopyElements(doc,itemlist,xyz)\r\nelse:\r\n\tif isinstance(IN[1], list):\r\n\t\titemlist1 = List[ElementId]([items.Id]) \r\n\t\titemlist = []\r\n\t\t[itemlist.append(itemlist1) for x in xyz]\r\n\t\tif rehost: \r\n\t\t\tnewitems2 = [ElementTransformUtils.CopyElements(doc,x,doc,Transform.CreateTranslation(y),None) for x, y in zip(itemlist,xyz)]\r\n\t\t\tnewitems = [x[0] for x in newitems2]\r\n\t\telse:\r\n\t\t\tnewitems2 = [ElementTransformUtils.CopyElements(doc,x,y) for x, y in zip(itemlist,xyz)]\r\n\t\t\tnewitems = [x[0] for x in newitems2]\r\n\telse:\r\n\t\titemlist = List[ElementId]([items.Id])\r\n\t\tif rehost: newitems = ElementTransformUtils.CopyElements(doc,itemlist,doc,Transform.CreateTranslation(xyz),None)\r\n\t\telse: newitems = ElementTransformUtils.CopyElements(doc,itemlist,xyz)\r\nTransactionManager.Instance.TransactionTaskDone()\r\n\r\nif isinstance(IN[0], list) or isinstance(IN[1], list): OUT = [doc.GetElement(x).ToDSType(False) for x in newitems]\r\nelse: OUT = doc.GetElement(newitems[0]).ToDSType(False)",
"Engine": "IronPython2",
"Engine": "CPython3",
"VariableInputPorts": true,
"Id": "a322c46d7e6d407db51a37c7e0d978fd",
"Inputs": [
Expand Down Expand Up @@ -322,8 +322,8 @@
}
],
"Annotations": [],
"X": 360.64089786647384,
"Y": 201.57407624633427,
"X": 12.640897866473836,
"Y": 198.37407624633423,
"Zoom": 0.83167155425219952
}
}
6 changes: 3 additions & 3 deletions nodes/3.x/Element.CopyToLevel.dyf
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"ConcreteType": "PythonNodeModels.PythonNode, PythonNodeModels",
"NodeType": "PythonScriptNode",
"Code": "import clr\r\nfrom System.Collections.Generic import *\r\nclr.AddReference('RevitAPI')\r\nfrom Autodesk.Revit.DB import *\r\nimport Autodesk\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\ndoc = DocumentManager.Instance.CurrentDBDocument\r\nitems = UnwrapElement(IN[0])\r\nsource_views = UnwrapElement(IN[1])\r\ntarget_views = UnwrapElement(IN[2])\r\n\r\ndef CopyToLevel(item, sview, tview):\r\n\tif item and sview and tview:\r\n\t\titemlist = List[ElementId]([item.Id])\r\n\t\tresults = ElementTransformUtils.CopyElements(sview,itemlist,tview, None, None)\r\n\t\treturn doc.GetElement(results[0]).ToDSType(False)\r\n\telse: return None\r\n\r\nTransactionManager.Instance.EnsureInTransaction(doc)\r\nif isinstance(IN[0], list):\r\n\tif isinstance(IN[2], list): OUT = [CopyToLevel(x,y,z) for x,y,z in zip(items, source_views, target_views)]\r\n\telse: OUT = [CopyToLevel(x,y,target_views) for x,y in zip(items, source_views)]\r\nelse:\r\n\tif isinstance(IN[2], list):\r\n\t\tmultiitem = [items] * len(target_views)\r\n\t\tmultisource = [source_views] * len(target_views)\r\n\t\tOUT = [CopyToLevel(x,y,z) for x,y,z in zip(multiitem, multisource, target_views)]\r\n\telse: OUT = CopyToLevel(items,source_views,target_views)\r\nTransactionManager.Instance.TransactionTaskDone()",
"Engine": "IronPython2",
"Engine": "CPython3",
"VariableInputPorts": true,
"Id": "b8acd8b8b81949ecadf718cb5e189f3f",
"Inputs": [
Expand Down Expand Up @@ -83,7 +83,7 @@
{
"Id": "b51951aa02754024918d7b97d87deea2",
"Name": "level",
"Description": "Level",
"Description": "Level[]..[]",
"UsingDefaultValue": false,
"Level": 2,
"UseLevels": false,
Expand Down Expand Up @@ -163,7 +163,7 @@
{
"Id": "f50297d4a05a465c886f67af13761235",
"Name": "level",
"Description": "Level",
"Description": "Level[]..[]",
"UsingDefaultValue": false,
"Level": 2,
"UseLevels": false,
Expand Down
23 changes: 13 additions & 10 deletions nodes/3.x/Element.CutGeometry.dyf
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"ConcreteType": "PythonNodeModels.PythonNode, PythonNodeModels",
"NodeType": "PythonScriptNode",
"Code": "import clr\r\nclr.AddReference('RevitAPI')\r\nfrom Autodesk.Revit.DB import *\r\nfrom System.Collections.Generic import *\r\nclr.AddReference(\"RevitServices\")\r\nimport RevitServices\r\nfrom RevitServices.Persistence import DocumentManager\r\nfrom RevitServices.Transactions import TransactionManager\r\n\r\ndoc = DocumentManager.Instance.CurrentDBDocument\r\nitems1 = UnwrapElement(IN[0])\r\nitems2 = UnwrapElement(IN[1])\r\n\r\ndef CutGeometry(doc, item1, item2):\r\n\ttry:\r\n\t\tSolidSolidCutUtils.AddCutBetweenSolids(doc,item1,item2)\r\n\t\treturn True\r\n\texcept:\r\n\t\ttry:\r\n\t\t\tInstanceVoidCutUtils.AddInstanceVoidCut(doc,item1,item2)\r\n\t\t\treturn True\r\n\t\texcept: return False\r\n\r\nTransactionManager.Instance.EnsureInTransaction(doc)\r\nif isinstance(IN[0], list):\r\n\tif isinstance(IN[1], list): OUT = [CutGeometry(doc, x, y) for x, y in zip(items1, items2)]\r\n\telse: OUT = [CutGeometry(doc, x, items2) for x in items1]\r\nelse:\r\n\tif isinstance(IN[1], list): OUT = [CutGeometry(doc, items1, x) for x in items2]\r\n\telse: OUT = CutGeometry(doc, items1, items2)\r\nTransactionManager.Instance.TransactionTaskDone()",
"Engine": "CPython3",
"VariableInputPorts": true,
"Id": "fa79ddac0e2348cdaa6a9e28ed1fedc0",
"Inputs": [
Expand Down Expand Up @@ -48,7 +49,7 @@
}
],
"Replication": "Disabled",
"Description": "Runs an embedded IronPython script."
"Description": "Führt ein eingebettetes Python-Skript aus."
},
{
"ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Symbol, DynamoCore",
Expand All @@ -74,7 +75,7 @@
}
],
"Replication": "Disabled",
"Description": "A function parameter, use with custom nodes.\r\n\r\nYou can specify the type and default value for parameter. E.g.,\r\n\r\ninput : var[]..[]\r\nvalue : bool = false"
"Description": "Ein Funktionsparameter zur Verwendung mit benutzerdefinierten Blöcken.\r\n\r\nSie können den Typ und den Vorgabewert für den Parameter angeben, z. B.\r\n\r\ninput : var[]..[]\r\nvalue : bool = false"
},
{
"ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Symbol, DynamoCore",
Expand All @@ -100,7 +101,7 @@
}
],
"Replication": "Disabled",
"Description": "A function parameter, use with custom nodes.\r\n\r\nYou can specify the type and default value for parameter. E.g.,\r\n\r\ninput : var[]..[]\r\nvalue : bool = false"
"Description": "Ein Funktionsparameter zur Verwendung mit benutzerdefinierten Blöcken.\r\n\r\nSie können den Typ und den Vorgabewert für den Parameter angeben, z. B.\r\n\r\ninput : var[]..[]\r\nvalue : bool = false"
},
{
"ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore",
Expand All @@ -121,7 +122,7 @@
],
"Outputs": [],
"Replication": "Disabled",
"Description": "A function output, use with custom nodes"
"Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken"
},
{
"ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore",
Expand All @@ -142,7 +143,7 @@
],
"Outputs": [],
"Replication": "Disabled",
"Description": "A function output, use with custom nodes"
"Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken"
},
{
"ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore",
Expand All @@ -163,7 +164,7 @@
],
"Outputs": [],
"Replication": "Disabled",
"Description": "A function output, use with custom nodes"
"Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken"
}
],
"Connectors": [
Expand Down Expand Up @@ -194,18 +195,20 @@
}
],
"Dependencies": [],
"NodeLibraryDependencies": [],
"Author": "None provided",
"Bindings": [],
"View": {
"Dynamo": {
"ScaleFactor": 1.0,
"HasRunWithoutCrash": false,
"IsVisibleInDynamoLibrary": true,
"Version": "2.0.1.5055",
"Version": "2.12.1.8246",
"RunType": "Manual",
"RunPeriod": "1000"
},
"Camera": {
"Name": "Background Preview",
"Name": "Hintergrundvorschau",
"EyeX": -17.0,
"EyeY": 24.0,
"EyeZ": 50.0,
Expand Down Expand Up @@ -279,8 +282,8 @@
}
],
"Annotations": [],
"X": 166.69459456687741,
"Y": 229.73412170500592,
"X": -461.30540543312259,
"Y": 84.1341217050059,
"Zoom": 1.0120421414445739
}
}
19 changes: 11 additions & 8 deletions nodes/3.x/Element.JoinGeometry.dyf
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"ConcreteType": "PythonNodeModels.PythonNode, PythonNodeModels",
"NodeType": "PythonScriptNode",
"Code": "import clr\r\nclr.AddReference('RevitAPI')\r\nfrom Autodesk.Revit.DB import *\r\nfrom System.Collections.Generic import *\r\nclr.AddReference(\"RevitServices\")\r\nimport RevitServices\r\nfrom RevitServices.Persistence import DocumentManager\r\nfrom RevitServices.Transactions import TransactionManager\r\n\r\ndoc = DocumentManager.Instance.CurrentDBDocument\r\nitems1 = UnwrapElement(IN[0])\r\nitems2 = UnwrapElement(IN[1])\r\n\r\ndef JoinGeometry(doc, item1, item2):\r\n\ttry:\r\n\t\tJoinGeometryUtils.JoinGeometry(doc,item1,item2)\r\n\t\treturn True\r\n\texcept: return False\r\n\r\nTransactionManager.Instance.EnsureInTransaction(doc)\r\nif isinstance(IN[0], list):\r\n\tif isinstance(IN[1], list): OUT = [JoinGeometry(doc, x, y) for x, y in zip(items1, items2)]\r\n\telse: OUT = [JoinGeometry(doc, x, items2) for x in items1]\r\nelse:\r\n\tif isinstance(IN[1], list): OUT = [JoinGeometry(doc, items1, x) for x in items2]\r\n\telse: OUT = JoinGeometry(doc, items1, items2)\r\nTransactionManager.Instance.TransactionTaskDone()",
"Engine": "CPython3",
"VariableInputPorts": true,
"Id": "fa79ddac0e2348cdaa6a9e28ed1fedc0",
"Inputs": [
Expand Down Expand Up @@ -48,7 +49,7 @@
}
],
"Replication": "Disabled",
"Description": "Runs an embedded IronPython script."
"Description": "Führt ein eingebettetes Python-Skript aus."
},
{
"ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Symbol, DynamoCore",
Expand All @@ -74,7 +75,7 @@
}
],
"Replication": "Disabled",
"Description": "A function parameter, use with custom nodes.\r\n\r\nYou can specify the type and default value for parameter. E.g.,\r\n\r\ninput : var[]..[]\r\nvalue : bool = false"
"Description": "Ein Funktionsparameter zur Verwendung mit benutzerdefinierten Blöcken.\r\n\r\nSie können den Typ und den Vorgabewert für den Parameter angeben, z. B.\r\n\r\ninput : var[]..[]\r\nvalue : bool = false"
},
{
"ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Symbol, DynamoCore",
Expand All @@ -100,7 +101,7 @@
}
],
"Replication": "Disabled",
"Description": "A function parameter, use with custom nodes.\r\n\r\nYou can specify the type and default value for parameter. E.g.,\r\n\r\ninput : var[]..[]\r\nvalue : bool = false"
"Description": "Ein Funktionsparameter zur Verwendung mit benutzerdefinierten Blöcken.\r\n\r\nSie können den Typ und den Vorgabewert für den Parameter angeben, z. B.\r\n\r\ninput : var[]..[]\r\nvalue : bool = false"
},
{
"ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore",
Expand All @@ -121,7 +122,7 @@
],
"Outputs": [],
"Replication": "Disabled",
"Description": "A function output, use with custom nodes"
"Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken"
},
{
"ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore",
Expand All @@ -142,7 +143,7 @@
],
"Outputs": [],
"Replication": "Disabled",
"Description": "A function output, use with custom nodes"
"Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken"
},
{
"ConcreteType": "Dynamo.Graph.Nodes.CustomNodes.Output, DynamoCore",
Expand All @@ -163,7 +164,7 @@
],
"Outputs": [],
"Replication": "Disabled",
"Description": "A function output, use with custom nodes"
"Description": "Eine Funktionsausgabe zur Verwendung mit benutzerdefinierten Blöcken"
}
],
"Connectors": [
Expand Down Expand Up @@ -194,18 +195,20 @@
}
],
"Dependencies": [],
"NodeLibraryDependencies": [],
"Author": "None provided",
"Bindings": [],
"View": {
"Dynamo": {
"ScaleFactor": 1.0,
"HasRunWithoutCrash": false,
"IsVisibleInDynamoLibrary": true,
"Version": "2.0.1.5055",
"Version": "2.12.1.8246",
"RunType": "Manual",
"RunPeriod": "1000"
},
"Camera": {
"Name": "Background Preview",
"Name": "Hintergrundvorschau",
"EyeX": -17.0,
"EyeY": 24.0,
"EyeZ": 50.0,
Expand Down
11 changes: 7 additions & 4 deletions nodes/3.x/Element.Mirror.dyf
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"ConcreteType": "PythonNodeModels.PythonNode, PythonNodeModels",
"NodeType": "PythonScriptNode",
"Code": "import clr\r\nclr.AddReference('RevitAPI')\r\nfrom Autodesk.Revit.DB import *\r\nfrom System.Collections.Generic import *\r\nclr.AddReference(\"RevitNodes\")\r\nimport Revit\r\nclr.ImportExtensions(Revit.GeometryConversion)\r\nclr.ImportExtensions(Revit.Elements)\r\nclr.AddReference(\"RevitServices\")\r\nimport RevitServices\r\nfrom RevitServices.Persistence import DocumentManager\r\nfrom RevitServices.Transactions import TransactionManager\r\n\r\ndef MirrorMirror(doc, items, plane, copymode):\r\n\titemids = List[ElementId]([x.Id for x in items])\r\n\tmirroredids = ElementTransformUtils.MirrorElements(doc, itemids, plane, copymode)\r\n\tif copymode: return [doc.GetElement(x).ToDSType(False) for x in mirroredids]\r\n\telse: return items\r\n\r\ndoc = DocumentManager.Instance.CurrentDBDocument\r\nitems = UnwrapElement(IN[0])\r\ncopymode = IN[1]\r\nplanenormal = IN[2].ToRevitType()\r\nplaneorigin = IN[3].ToRevitType()\r\n\r\nTransactionManager.Instance.EnsureInTransaction(doc)\r\nplane = Plane.CreateByNormalAndOrigin(planenormal, planeorigin)\r\nif isinstance(IN[0], list): OUT = MirrorMirror(doc, items, plane, copymode)\r\nelse: OUT = MirrorMirror(doc, [items], plane, copymode)[0]\r\nTransactionManager.Instance.TransactionTaskDone()",
"Engine": "CPython3",
"VariableInputPorts": true,
"Id": "438ffba45e414562ab881fc6f5d4cc44",
"Inputs": [
Expand Down Expand Up @@ -71,7 +72,7 @@
}
],
"Replication": "Disabled",
"Description": "Führt ein eingebettetes IronPython-Skript aus."
"Description": "Führt ein eingebettetes Python-Skript aus."
},
{
"ConcreteType": "Dynamo.Graph.Nodes.ZeroTouch.DSFunction, DynamoCore",
Expand Down Expand Up @@ -271,13 +272,15 @@
}
],
"Dependencies": [],
"NodeLibraryDependencies": [],
"Author": "None provided",
"Bindings": [],
"View": {
"Dynamo": {
"ScaleFactor": 1.0,
"HasRunWithoutCrash": false,
"IsVisibleInDynamoLibrary": true,
"Version": "2.0.3.8810",
"Version": "2.12.1.8246",
"RunType": "Manual",
"RunPeriod": "1000"
},
Expand Down Expand Up @@ -341,8 +344,8 @@
"IsSetAsInput": false,
"IsSetAsOutput": false,
"Excluded": false,
"X": 7.13387147378262,
"Y": 158.5
"X": -212.86612852621744,
"Y": 160.89999999999998
},
{
"ShowGeometry": true,
Expand Down
10 changes: 5 additions & 5 deletions nodes/3.x/Element.MoveToPoint.dyf
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,8 @@
{
"ConcreteType": "PythonNodeModels.PythonNode, PythonNodeModels",
"NodeType": "PythonScriptNode",
"Code": "# Phython-Standard- und DesignScript-Bibliotheken laden\r\nimport sys\r\nimport clr\r\nclr.AddReference('RevitNodes', 'RevitServices')\r\nfrom RevitServices.Transactions import TransactionManager\r\nfrom RevitServices.Persistence import DocumentManager\r\nimport Revit\r\nclr.ImportExtensions(Revit.GeometryConversion)\r\n\r\ndoc = DocumentManager.Instance.CurrentDBDocument\r\n\r\nelements = UnwrapElement(IN[0])\r\npoints = UnwrapElement(IN[1])\r\n\r\ndef MoveToPoint(item, point):\r\n\ttry:\r\n\t\tres = item.Location.Move(point.ToXyz(True))\r\n\t\treturn (item, res)\r\n\texcept: return (item, False)\r\n\t\r\nTransactionManager.Instance.EnsureInTransaction(doc)\r\nOUT = []\r\nif isinstance(IN[0], list):\r\n\tif isinstance(IN[1], list): results = [MoveToPoint(x, y) for x, y in zip(elements, points)]\r\n\telse: results = [MoveToPoint(x, points) for x in elements]\r\n\tOUT = list(zip(*results))\r\nelse:\r\n\tif isinstance(IN[1], list): OUT = MoveToPoint(elements, points[0])\r\n\telse: OUT = MoveToPoint(elements, points)\r\nTransactionManager.Instance.TransactionTaskDone()",
"Engine": "IronPython2",
"Code": "import sys\r\nimport clr\r\nclr.AddReference('RevitNodes')\r\nclr.AddReference('RevitServices')\r\nfrom RevitServices.Transactions import TransactionManager\r\nfrom RevitServices.Persistence import DocumentManager\r\nimport Revit\r\nclr.ImportExtensions(Revit.GeometryConversion)\r\n\r\ndoc = DocumentManager.Instance.CurrentDBDocument\r\n\r\nelements = UnwrapElement(IN[0])\r\npoints = UnwrapElement(IN[1])\r\n\r\ndef MoveToPoint(item, point):\r\n\ttry:\r\n\t\tres = item.Location.Move(point.ToXyz(True))\r\n\t\treturn (item, res)\r\n\texcept: return (item, False)\r\n\t\r\nTransactionManager.Instance.EnsureInTransaction(doc)\r\nOUT = []\r\nif isinstance(IN[0], list):\r\n\tif isinstance(IN[1], list): results = [MoveToPoint(x, y) for x, y in zip(elements, points)]\r\n\telse: results = [MoveToPoint(x, points) for x in elements]\r\n\tOUT = list(zip(*results))\r\nelse:\r\n\tif isinstance(IN[1], list): OUT = MoveToPoint(elements, points[0])\r\n\telse: OUT = MoveToPoint(elements, points)\r\nTransactionManager.Instance.TransactionTaskDone()",
"Engine": "CPython3",
"VariableInputPorts": true,
"Id": "d1ff0250c1774cbab36878cfdd319a46",
"Inputs": [
Expand Down Expand Up @@ -445,8 +445,8 @@
}
],
"Annotations": [],
"X": -669.71208830961382,
"Y": -223.39926896823806,
"Zoom": 0.89541698483286714
"X": 12.083012250802028,
"Y": 128.03877030524166,
"Zoom": 0.36590850270833275
}
}
Loading

0 comments on commit 1ce2890

Please sign in to comment.