ShapeScript Help Getting Started Viewing Editing File Structure Next Steps Debugging and Selection Camera Control Camera Selection Mouse Control Trackpad Control Copy Settings Geometry Primitives Cube Sphere Cylinder Cone Options Name Detail Smoothing Transform Material Materials Color Texture Normals Opacity Glow Metallicity Roughness Material Transforms Position Orientation Size Relative Transforms Bounds Mesh Bounds Path Bounds Bounds Members Meshes Polygons and Points Watertightness Winding order Procedural Meshes Concave and Non-planar Polygons Paths Points Curves Arcs Circles Rectangles Regular Polygons Procedural Paths Nested Paths Path Colors SVG Paths Text Interpolation Wrap Width Size and Line Height Line Spacing Position and Orientation Font Builders Fill Lathe Extrude Loft Hull Constructive Solid Geometry Difference Intersection Union XOR Stencil Groups Lights Ambient Directional Point Lights Spotlights Shadows Debugging Cameras Custom Cameras Position Orientation Field of View Orthographic View Background Pixel Dimensions Antialiasing Syntax Comments Block Comments Nested Comments Literals Strings Vectors and Tuples Structured Data Objects Symbols Expressions Operators Equality and Comparison Linear Algebra Boolean Algebra Ranges Members Subscripting Functions Arithmetic Linear Algebra Trigonometry Strings Functions and Expressions Custom Functions Commands Background Detail Smoothing Materials Font Transforms Primitives Paths Text Builders Constructive Solid Geometry Random Numbers Debugging Import Control Flow Loops Loop Index Looping Backwards Looping Over Values If-Else Switch-Case Conditional Defines Blocks Options Scope Block Scope Function Scope Conditional Scope Debugging Logging Assertions Import Scripts Models Text and Data Dynamic Imports Export Export Formats Games and AR 3D Printing Plotters and CNC Machines Image Formats Image Options Examples Ball Chessboard Cog Earth Icosahedron Spirals Spring Train Glossary