-
0
2
2
-
1
0
7
- 9e7128a8-acff-475e-a47f-6bd18ed93696
- Shaded
- 1
-
100;150;0;0
-
100;0;150;0
- 634547005123976964
- bakeMostAttributes-0.9.ghx
- 0
-
32
65
- 0.8
- 0
- 0
- 0
- 20
- 9c53bac0-ba66-40bd-8154-ce9829b9db1a
- Colour Swatch
- Colour (palette) swatch
- 9ddba444-436d-48db-bb89-d1ec58cbeeab
- Colour Swatch
- Swatch
- false
- 0
-
255;196;29;29
-
75
105
88
20
-
75.5
105
- 9c53bac0-ba66-40bd-8154-ce9829b9db1a
- Colour Swatch
- Colour (palette) swatch
- 106b016b-5667-4b7b-9ddc-3a71e9fe384e
- Colour Swatch
- Swatch
- false
- 0
-
255;43;97;9
-
67
214
88
20
-
67.5
214
- 8529dbdf-9b6f-42e9-8e1f-c7a2bde56a70
- Line
- Represents a collection of 3D Lines
- 9fba79b2-10cd-49e1-9291-792a23b05975
- Line
- Line
- false
- 0
-
85
181
50
24
-
110.5
193
- 1
- 3
- {0}
-
-30
25
0
-22
31
0
-
7
14
0
20
18
0
-
-26
-30
0
-5
-28
0
- 9c53bac0-ba66-40bd-8154-ce9829b9db1a
- Colour Swatch
- Colour (palette) swatch
- f4d6d460-e258-4e26-bd41-7742e19c6996
- Colour Swatch
- Swatch
- false
- 0
-
255;179;175;199
-
62
360
88
20
-
62.5
360
- 845527a6-5cea-4ae9-a667-96ae1667a4e8
- Polygon
- Create a polygon with optional round edges.
- c5645df0-636e-478a-8fc3-90dce6f86054
- Polygon
- Polygon
-
80
16
67
84
-
114
58
- Polygon base plane
- 041aa974-9eb3-47ed-88f4-5e44c594d11d
- Plane
- P
- false
- 0
-
82
18
17
20
-
92
28
- 1
- 3
- {0}
-
-27
27
0
0.948683298050512
-0.316227766016844
0
0.315611937260995
0.946835811782964
0.0623782861551805
-
15
16
0
0.939793423488438
0.341743063086703
0
0.211759137203175
-0.582337627308735
-0.784882765533426
-
-15
-29
0
0.990830168044299
0.135113204733315
0
-0.13248939759216
0.971588915675827
0.196116135138184
- Radius of polygon (distance from center to tip).
- 4f1f957f-7065-4560-bb6f-16c1c6d6bbe8
- Radius
- R
- false
- 0
-
82
38
17
20
-
92
48
- 1
- 3
- {0}
- 3
- 5
- 7
- Number of segments
- 78bd1464-bfab-4c05-bd59-fbfdddf954e0
- Segments
- S
- false
- 0
-
82
58
17
20
-
92
68
- 1
- 1
- {0}
- 6
- Polygon corner fillet radius
- 6990708a-b48c-42cc-89d4-2a4163f4bb8d
- Fillet Radius
- Rf
- false
- 0
-
82
78
17
20
-
92
88
- 1
- 1
- {0}
- 0
- Polygon
- c4f77823-ea7f-4b60-9328-611fa1c2fce0
- Polygon
- P
- false
- 0
-
129
18
16
40
-
137
38
- Length of polygon curve
- 00c5fb30-d39e-4440-9154-7976c5a7400f
- Length
- L
- false
- 0
-
129
58
16
40
-
137
78
- fbac3e32-f100-4292-8692-77240a42fd1a
- Point
- Represents a collection of 3D Points
- d08869c8-3a57-46fb-8536-6f4060bf3c5b
- Point
- Pt
- false
- 0
-
78
318
50
24
-
103
330
- 1
- 3
- {0}
-
-27
27
0
-
15
16
0
-
-15
-30
0
- 10a8674b-f4bb-4fdf-a56e-94dc606ecf33
- Graft Tree
- Graft a tree by adding an extra branch for every data item.
- 3004d3a2-0045-4757-bbd2-620ed517dbff
- Graft Tree
- Graft
-
256
36
65
44
-
288
58
- 2
- Data to graft
- 51b13e3d-df70-4deb-bbc6-5047a5cbfe7f
- Data
- D
- false
- c4f77823-ea7f-4b60-9328-611fa1c2fce0
- 1
-
258
38
15
20
-
267
48
- Do not create branches for null items
- 51b4cfb2-f395-469c-81b8-13b96f8d772b
- Strip
- S
- false
- 0
-
258
58
15
20
-
267
68
- 1
- 1
- {0}
- false
- Graft result
- b2bcbffc-ffcc-497c-9554-fe1ef245a9d2
- Tree
- T
- false
- 0
-
303
38
16
40
-
311
58
- 10a8674b-f4bb-4fdf-a56e-94dc606ecf33
- Graft Tree
- Graft a tree by adding an extra branch for every data item.
- 23f9693d-f98c-48c0-b3ee-34ef47d74da3
- Graft Tree
- Graft
-
253
145
65
44
-
285
167
- 2
- Data to graft
- 09d789bf-4736-4dc9-b17c-7fb251b2852b
- Data
- D
- false
- 9fba79b2-10cd-49e1-9291-792a23b05975
- 1
-
255
147
15
20
-
264
157
- Do not create branches for null items
- fae76ce1-9fc6-4251-962c-d458e7df354e
- Strip
- S
- false
- 0
-
255
167
15
20
-
264
177
- 1
- 1
- {0}
- false
- Graft result
- ee42d36a-60c7-4966-8fb7-ba882f3df755
- Tree
- T
- false
- 0
-
300
147
16
40
-
308
167
- 10a8674b-f4bb-4fdf-a56e-94dc606ecf33
- Graft Tree
- Graft a tree by adding an extra branch for every data item.
- 3bb8e784-4673-4199-bcea-48f42ed06b1e
- Graft Tree
- Graft
-
256
311
65
44
-
288
333
- 2
- Data to graft
- 9397ef97-c5c2-4151-9d04-10f27e86bb83
- Data
- D
- false
- d08869c8-3a57-46fb-8536-6f4060bf3c5b
- 1
-
258
313
15
20
-
267
323
- Do not create branches for null items
- 25c3634a-fd1b-4fe3-b3e4-8eb5ca45c1c5
- Strip
- S
- false
- 0
-
258
333
15
20
-
267
343
- 1
- 1
- {0}
- false
- Graft result
- 20c1bd7c-639a-4639-8eda-2adc2da3d741
- Tree
- T
- false
- 0
-
303
313
16
40
-
311
333
- a9a8ebd2-fff5-4c44-a8f5-739736d129ba
- C# Script
-
void Bake(object obj, Rhino.DocObjects.ObjectAttributes att, int groupIndex)
{
if(obj == null)
return;
Guid id;
//Bake to the right type of object
if(obj is GeometryBase)
{
GeometryBase geomObj = obj as GeometryBase;
switch(geomObj.ObjectType)
{
case Rhino.DocObjects.ObjectType.Brep:
id = doc.Objects.AddBrep(obj as Brep, att);
break;
case Rhino.DocObjects.ObjectType.Curve:
id = doc.Objects.AddCurve(obj as Curve, att);
break;
case Rhino.DocObjects.ObjectType.Point:
id = doc.Objects.AddPoint((obj as Rhino.Geometry.Point).Location, att);
break;
case Rhino.DocObjects.ObjectType.Surface:
id = doc.Objects.AddSurface(obj as Surface, att);
break;
case Rhino.DocObjects.ObjectType.Mesh:
id = doc.Objects.AddMesh(obj as Mesh, att);
break;
case (Rhino.DocObjects.ObjectType) 1073741824://Rhino.DocObjects.ObjectType.Extrusion:
id = (Guid) typeof(Rhino.DocObjects.Tables.ObjectTable).InvokeMember("AddExtrusion", BindingFlags.Instance | BindingFlags.InvokeMethod, null, doc.Objects, new object[]{obj, att});
break;
case Rhino.DocObjects.ObjectType.PointSet:
id = doc.Objects.AddPointCloud(obj as Rhino.Geometry.PointCloud, att); //This is a speculative entry
break;
default:
Print("The script does not know how to handle this type of geometry: " + obj.GetType().FullName);
return;
}
}
else
{
Type objectType = obj.GetType();
if(objectType == typeof(Arc))
{
id = doc.Objects.AddArc((Arc) obj, att);
}
else if(objectType == typeof(Box))
{
id = doc.Objects.AddBrep(((Box) obj).ToBrep(), att);
}
else if(objectType == typeof(Circle))
{
id = doc.Objects.AddCircle((Circle) obj, att);
}
else if(objectType == typeof(Ellipse))
{
id = doc.Objects.AddEllipse((Ellipse) obj, att);
}
else if(objectType == typeof(Polyline))
{
id = doc.Objects.AddPolyline((Polyline) obj, att);
}
else if(objectType == typeof(Sphere))
{
id = doc.Objects.AddSphere((Sphere) obj, att);
}
else if(objectType == typeof(Point3d))
{
id = doc.Objects.AddPoint((Point3d) obj, att);
}
else if(objectType == typeof(Line))
{
id = doc.Objects.AddLine((Line) obj, att);
}
else if(objectType == typeof(Vector3d))
{
Print("Impossible to bake vectors");
return;
}
else if(obj is IEnumerable)
{
int newGroupIndex;
if(groupIndex == -1)
newGroupIndex = doc.Groups.Add();
else
newGroupIndex = groupIndex;
foreach(object o in obj as IEnumerable)
{
Bake(o, att, newGroupIndex);
}
return;
}
else
{
Print("Unhandled type: " + objectType.FullName);
return;
}
}
if(groupIndex != -1)
{
doc.Groups.AddToGroup(groupIndex, id);
Print("Added " + obj.GetType().Name + " to group number " + groupIndex);
}
else
Print("Added " + obj.GetType().Name);
}
static string Format(Color c)
{
return (new System.Text.StringBuilder("A")).Append(c.A.ToString()).Append("R").Append(c.R.ToString()).Append("G")
.Append(c.G.ToString()).Append("B").Append(c.B.ToString()).ToString();
}
- A C#.NET scriptable component
- 9fed38dc-8516-4408-86ec-4200b41631c9
- C# Script
- bakeAttributes
- true
- 0
-
//Inserts geometry into the Rhino document, with custom attributes
//Written by Giulio Piacentino
//Version written 2011 10 18 - for Grasshopper 0.8.52
if (activate)
{
int groupIndex = -1;
if(groupListTgthr)
groupIndex = doc.Groups.Add();
for(int i = 0; i < objs.Count; i++)
{
object obj = objs[i];
if(obj == null)
{
Print("No object to bake");
return;
}
//Make new attribute to set name
Rhino.DocObjects.ObjectAttributes att = new Rhino.DocObjects.ObjectAttributes();
string name = names.Count > 0 ? names[i % names.Count] : null;
//Set object name
if(!string.IsNullOrEmpty(name))
{
att.Name = name;
}
Color color = colors.Count > 0 ? colors[i % colors.Count] : new Color();
//Set color
if(!color.IsEmpty)
{
att.ColorSource = Rhino.DocObjects.ObjectColorSource.ColorFromObject; //Make the color type "by object"
att.ObjectColor = color;
att.PlotColorSource = Rhino.DocObjects.ObjectPlotColorSource.PlotColorFromObject; //Make the plot color type "by object"
att.PlotColor = color;
}
string layer = layers.Count > 0 ? layers[i % layers.Count] : null;
//Set layer
if(!string.IsNullOrEmpty(layer) && Rhino.DocObjects.Layer.IsValidName(layer))
{
//Get the current layer index
Rhino.DocObjects.Tables.LayerTable layerTable = doc.Layers;
int layerIndex = layerTable.Find(layer, true);
if(layerIndex < 0) //This layer does not exist, we add it
{
Rhino.DocObjects.Layer onlayer = new Rhino.DocObjects.Layer(); //Make a new layer
onlayer.Name = layer;
layerIndex = layerTable.Add(onlayer); //Add the layer to the layer table
if (layerIndex > -1) //We manged to add layer!
{
att.LayerIndex = layerIndex;
Print("Added new layer to the document at position " + layerIndex + " named " + layer + ". ");
} else
Print("Layer did not add. Try cleaning up your layers."); //This never happened to me.
}
else
att.LayerIndex = layerIndex; //We simply add to the existing layer
}
double pWidth = pWidths.Count > 0 ? pWidths[i % pWidths.Count] : 0;
//Set plotweight
if(pWidth > 0)
{
att.PlotWeightSource = Rhino.DocObjects.ObjectPlotWeightSource.PlotWeightFromObject;
att.PlotWeight = pWidth;
}
object material = materials.Count > 0 ? materials[i % materials.Count] : null;
//Set material
bool materialByName = !string.IsNullOrEmpty(material as string);
Rhino.Display.DisplayMaterial inMaterial = material as Rhino.Display.DisplayMaterial;
if(material is Color)
{
inMaterial = new Rhino.Display.DisplayMaterial((Color) material);
}
if(material != null && inMaterial == null && !materialByName)
{
if(!(material is string))
{
try //We also resort to try with IConvertible
{
inMaterial = (Rhino.Display.DisplayMaterial) Convert.ChangeType(material, typeof(Rhino.Display.DisplayMaterial));
}
catch(InvalidCastException)
{
}
}
}
if(inMaterial != null || materialByName)
{
string matName;
if(!materialByName)
{
matName = string.Format("A:{0}-D:{1}-E:{2}-S:{3},{4}-T:{5}",
Format(inMaterial.Ambient),
Format(inMaterial.Diffuse),
Format(inMaterial.Emission),
Format(inMaterial.Specular),
inMaterial.Shine.ToString(),
inMaterial.Transparency.ToString()
);
}
else
{
matName = (string) material;
}
int materialIndex = doc.Materials.Find(matName, true);
if(materialIndex < 0 && !materialByName) //Material does not exist and we have its specs
{
materialIndex = doc.Materials.Add(); //Let's add it
if(materialIndex > -1)
{
Print("Added new material at position " + materialIndex + " named \"" + matName + "\". ");
Rhino.DocObjects.Material m = doc.Materials[materialIndex];
m.Name = matName;
m.AmbientColor = inMaterial.Ambient;
m.DiffuseColor = inMaterial.Diffuse;
m.EmissionColor = inMaterial.Emission;
//m.ReflectionColor = no equivalent
m.SpecularColor = inMaterial.Specular;
m.Shine = inMaterial.Shine;
m.Transparency = inMaterial.Transparency;
//m.TransparentColor = no equivalent
m.CommitChanges();
att.MaterialSource = Rhino.DocObjects.ObjectMaterialSource.MaterialFromObject;
att.MaterialIndex = materialIndex;
}
else
Print("Material did not add. Try cleaning up your materials."); //This never happened to me.
}
else if(materialIndex < 0 && materialByName) //Material does not exist and we do not have its specs. We do nothing
{
Print("Warning: material name not found. I cannot set the source to this material name. Add a material with name: " + matName);
}
else
{
//If this material exists, we do not replace it!
att.MaterialSource = Rhino.DocObjects.ObjectMaterialSource.MaterialFromObject;
att.MaterialIndex = materialIndex;
}
}
int wires = wiresEach.Count > 0 ? wiresEach[i % wiresEach.Count] : 0;
//Set wire density
if(wires == -1 || wires > 0)
{
att.WireDensity = wires;
}
Bake(obj, att, groupIndex);
}
}
else
{
Print("Inactive");
}
-
937
134
139
184
-
1033
226
- 9
- 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2
- 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2
- 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2
- 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2
- 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2
- 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2
- 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2
- 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2
- 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2
- 1
- 3ede854e-c753-40eb-84cb-b48008f14fd4
- 1
- true
- Script Variable objs
- 75dad95b-8eca-49f0-b582-7ac8401e8886
- objs
- objs
- true
- 1
- true
- ee21081a-7f98-4961-85b2-48aae14a8821
- 1
- 6a184b65-baa3-42d1-a548-3915b401de53
-
939
136
79
20
-
980
146
- 1
- true
- Script Variable names
- 7d1fc2a9-8436-4f77-8804-d28689349aa0
- names
- names
- true
- 1
- true
- 0
- 9e93878a-f9c5-4f0a-8a70-584bf09f24bb
-
939
156
79
20
-
980
166
- 1
- true
- Script Variable layers
- 8f41e241-fa5e-430d-b368-5e4b14bda760
- layers
- layers
- true
- 1
- true
- 0
- 9e93878a-f9c5-4f0a-8a70-584bf09f24bb
-
939
176
79
20
-
980
186
- 1
- true
- Script Variable colors
- 88f551ab-dbdb-422c-af2b-a1520dd75bdc
- colors
- colors
- true
- 1
- true
- d0519f49-0337-48f2-aa73-f28101fa6818
- 1
- 24b1d1a3-ab79-498c-9e44-c5b14607c4d3
-
939
196
79
20
-
980
206
- 1
- true
- Script Variable pWidths
- 5ba6bdd7-8e35-4a22-a935-42e609a51b68
- pWidths
- pWidths
- true
- 1
- true
- 0
- 19ff81a2-dc4f-4035-8de9-26224c561321
-
939
216
79
20
-
980
226
- 1
- true
- Script Variable wiresEach
- fb521ba6-d72d-4849-8df5-92a107324d8e
- wiresEach
- wiresEach
- true
- 1
- true
- 0
- 48d01794-d3d8-4aef-990e-127168822244
-
939
236
79
20
-
980
246
- 1
- true
- Script Variable materials
- f320c249-cb23-4731-8ed5-521738b8ae82
- materials
- materials
- true
- 1
- true
- 0
- 6a184b65-baa3-42d1-a548-3915b401de53
-
939
256
79
20
-
980
266
- true
- Script Variable activate
- 05b91509-c832-4954-882b-d3e0c82b1eb2
- activate
- activate
- true
- 0
- true
- 1dc618f0-762d-40fd-9f1d-774f71eb7c67
- 1
- d60527f5-b5af-4ef6-8970-5f96fe412559
- 2
-
939
276
79
20
-
980
286
- true
- Script Variable groupListTgthr
- 4051ee74-a19f-4d60-a91c-1840dc6e450c
- groupListTgthr
- groupListTgthr
- true
- 0
- true
- ef005ce7-9dae-4ae2-9cee-6a9863bd21e3
- 1
- d60527f5-b5af-4ef6-8970-5f96fe412559
-
939
296
79
20
-
980
306
- Print, Reflect and Error streams
- 86ecddd3-5846-44a2-a45a-3c25f2a32706
- Output
- out
- false
- 0
-
1048
136
26
180
-
1061
226
- ad483f40-dc72-40dc-844d-c9e462c7d19f
- Boolean Toggle
- Boolean (true/false) toggle
- 1dc618f0-762d-40fd-9f1d-774f71eb7c67
- Boolean Toggle
- BAKE with attributes
- false
- 0
- false
-
590
380
151
20
-
590.7499
380.2625
- true
- ac2bc2cb-70fb-4dd5-9c78-7e1ea97fe278
- Geometry
- Represents a collection of 3D Geometry
- ee21081a-7f98-4961-85b2-48aae14a8821
- Geometry
- Geo
- false
- b2bcbffc-ffcc-497c-9554-fe1ef245a9d2
- ee42d36a-60c7-4966-8fb7-ba882f3df755
- 20c1bd7c-639a-4639-8eda-2adc2da3d741
- 8b4989d7-83df-4068-a7c8-a0ba64c651ac
- 4
-
516
104
50
24
-
541
116
- 203a91c3-287a-43b6-a9c5-ebb96240a650
- Colour
- Represents a collection of ARGB Colours
- bec12392-013b-45a2-877e-0851ec807339
- Colour
- Col
- false
- 9ddba444-436d-48db-bb89-d1ec58cbeeab
- 106b016b-5667-4b7b-9ddc-3a71e9fe384e
- f4d6d460-e258-4e26-bd41-7742e19c6996
- ce9671a8-4d6c-4a07-9315-a35dbe2b4dec
- 4
-
524
255
50
24
-
549
267
- 1817fd29-20ae-4503-b542-f0fb651e67d7
- List Length
- Measure the length of a list.
- 3599713f-899b-46ee-8e33-d46484cd95bb
- List Length
- Lng
-
594
196
61
28
-
623
210
- 1
- Base list
- d56922a6-7754-45ac-90b2-f79928cb5f1c
- List
- L
- false
- ee21081a-7f98-4961-85b2-48aae14a8821
- 1
-
596
198
12
24
-
603.5
210
- Number of items in L
- f09d615e-1d89-42ca-9aff-712ba582fa32
- Length
- L
- false
- 0
-
638
198
15
24
-
645.5
210
- c40dc145-9e36-4a69-ac1a-6d825c654993
- Repeat Data
- Repeat a pattern until it reaches a certain length.
- d8ec8497-68bd-4bfc-976e-2ee279e42e7b
- Repeat Data
- Repeat
-
674
213
67
44
-
706
235
- 1
- Pattern to repeat
- 8d6dcdf6-2ca0-4519-b12c-54eac0ded4e8
- Data
- D
- false
- bec12392-013b-45a2-877e-0851ec807339
- 1
-
676
215
15
20
-
685
225
- Length of final pattern
- 7e84b4c4-ce2c-4b42-82e1-fb374ae864e9
- Length
- L
- false
- f09d615e-1d89-42ca-9aff-712ba582fa32
- 1
-
676
235
15
20
-
685
245
- 1
- Repeated data
- f056c5f7-7a45-4e51-a22f-5a8023629107
- Data
- D
- false
- 0
-
721
215
18
40
-
730
235
- 2d61f4e0-47c5-41d6-a41d-6afa96ee63af
- Shift Paths
- Shift the indices in all data paths
- b85e916d-bba6-408e-8cc4-c512c213febf
- Shift Paths
- PShift
-
755
216
67
44
-
787
238
- 2
- Data to modify
- bb1c38a5-1fc5-40da-aa7c-c01756b4b1ee
- Data
- D
- false
- f056c5f7-7a45-4e51-a22f-5a8023629107
- 1
-
757
218
15
20
-
766
228
- Offset to apply to each branch
- a989b72d-7299-417f-b6c9-2600688957f3
- Offset
- O
- false
- 0
-
757
238
15
20
-
766
248
- 1
- 1
- {0}
- -1
- 2
- Shifted data
- d0519f49-0337-48f2-aa73-f28101fa6818
- Data
- D
- false
- 0
-
802
218
18
40
-
811
238
- 9c53bac0-ba66-40bd-8154-ce9829b9db1a
- Colour Swatch
- Colour (palette) swatch
- ce9671a8-4d6c-4a07-9315-a35dbe2b4dec
- Colour Swatch
- Swatch
- false
- 0
-
255;18;230;131
-
63
496
88
20
-
63.25
496
- 10a8674b-f4bb-4fdf-a56e-94dc606ecf33
- Graft Tree
- Graft a tree by adding an extra branch for every data item.
- b1ca7636-f0b6-4b8c-b0fb-c4eb7df0c970
- Graft Tree
- Graft
-
256
447
65
44
-
288
469
- 2
- Data to graft
- 01474bf2-9cb1-461b-b6dc-b09ee9f265b8
- Data
- D
- false
- 90483ef9-7b7c-4325-a58b-cca26d3fd69c
- 1
-
258
449
15
20
-
267
459
- Do not create branches for null items
- d5ab48ae-ed16-412d-b9a1-c1cb6f7cb658
- Strip
- S
- false
- 0
-
258
469
15
20
-
267
479
- 1
- 1
- {0}
- false
- Graft result
- 8b4989d7-83df-4068-a7c8-a0ba64c651ac
- Tree
- T
- false
- 0
-
303
449
16
40
-
311
469
- d1028c72-ff86-4057-9eb0-36c687a4d98c
- Circle
- Represents a collection of 3D Circles
- 90483ef9-7b7c-4325-a58b-cca26d3fd69c
- Circle
- Circle
- false
- 0
-
90
457
50
24
-
115.75
469
- 1
- 3
- {0}
-
-27
27
0
0.990250881829498
0.139295337452127
0
-0.139295337452127
0.990250881829498
0
- 2.0000000000000036
-
15
16
0
0.990646193748816
0.136455556174834
0
-0.136455556174834
0.990646193748816
0
- 2.9999999999999964
-
-15
-30
0
0.968635519730564
0.24848587468164
0
-0.24848587468164
0.968635519730564
0
- 5.0000000000000018
- ad483f40-dc72-40dc-844d-c9e462c7d19f
- Boolean Toggle
- Boolean (true/false) toggle
- ef005ce7-9dae-4ae2-9cee-6a9863bd21e3
- Boolean Toggle
- Toggle
- false
- 0
- true
-
811
302
87
20
-
811
302.75
-
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