Hello. Does anyone know how to offset polygons (curves) vertically? I need to make a stacked structure, but I can’t figure out how to get my multi-sided shapes to move up. I know how to vertically offset the planes and circles, though. What I’ve got so far is in this screenshot.
There are a lot of ways to do this…
- Polygon.RegularPolygon lets you create a regular n-sided polygon inscribed within a circle.
- Curve.PullOntoPlane lets you pull existing geometry onto a plane in the normal direction.
- Geometry.Translate lets you shift geometry along a vector.
Hey, thanks a lot! Curve.PullOntoPlane is a big help when you have a Plane.Offset to match. If you’ll help me out again, though, I would also like to know how you rig it so the polygons steadily shrink as they go up.
Maybe make a coordinate system with a decreasing X, Y, and Z magnitude and use a single Geometry.Transform on each. Not sure that works as scaling via transforms can be very inconsistent.
Alternatively make many circles of varying radius - IE
20..5..#5; in a code block to control the radius. Then use a regular polygon creation method (https://dictionary.dynamobim.com/#/Geometry/Polygon/Create/RegularPolygon) to generate a polygon in each circle. Then use a Geometry.Translate node to move each polygon by
0..n..#5; where n is your maximum distance.