<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://openjscad.xyz/v2/dokuwiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://openjscad.xyz/v2/dokuwiki/feed.php">
        <title>JSCAD V2 User Guide - en</title>
        <description></description>
        <link>https://openjscad.xyz/v2/dokuwiki/</link>
        <image rdf:resource="https://openjscad.xyz/v2/dokuwiki/lib/exe/fetch.php?media=wiki:logo.png" />
       <dc:date>2026-09-20T13:55:44+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:contribute&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_2d_primitives&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_3d_primitives&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_align&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_anatomy&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_attributes&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_center&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_chain_hull&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_color&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_conversions&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_cuboid&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_cylinder&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_ellipse&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_expand&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_expansions&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_hull&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_intersect&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_linear_extrude&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_measurements&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_mirror&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_offset&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_operations&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_others&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_path&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_polygon&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_polyhedron&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_project&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_projects&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rectangle&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rectangular_extrude&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rotate&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rotate_extrude&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_scale&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_scission&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_spheroid&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_star&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_subtract&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_text&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_torus&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_transform&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_transforms&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_translate&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_union&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:jscad_design_guide&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:jscad_design_math&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:jscad_quick_reference&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:math_guide_conversions&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:math_guide_orientation&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_conversion&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_expansions&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_general&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_operations&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_parameters&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_shapes&amp;rev=1785542078&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_text&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_transforms&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:sidebar&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:start&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:test3&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:user_guide_formats&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:user_guide_help&amp;rev=1768109328&amp;do=diff"/>
                <rdf:li rdf:resource="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:user_guide_website&amp;rev=1768109328&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://openjscad.xyz/v2/dokuwiki/lib/exe/fetch.php?media=wiki:logo.png">
        <title>JSCAD V2 User Guide</title>
        <link>https://openjscad.xyz/v2/dokuwiki/</link>
        <url>https://openjscad.xyz/v2/dokuwiki/lib/exe/fetch.php?media=wiki:logo.png</url>
    </image>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:contribute&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>contribute</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:contribute&amp;rev=1768109328&amp;do=diff</link>
        <description>Contribute

The JSCAD Organization is maintained by a group of volunteers. We welcome and encourage anyone to pitch in but please take a moment to read the following guidelines.

Thank you to all the people who have already contributed to this project:</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_2d_primitives&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_2d_primitives</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_2d_primitives&amp;rev=1768109328&amp;do=diff</link>
        <description>2D Primitives

‘2D’ stands for two (2) dimensional. A 2D primitive is any shape that has two dimensions, which are width and length  (or X and Y.) The 2D dimensional shapes have no thickness (Although, JSCAD shows a very thin shape.)

One way of thinking about 2D shapes is anything that lays flat on a piece of paper, such as drawing a circle or a square.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_3d_primitives&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_3d_primitives</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_3d_primitives&amp;rev=1768109328&amp;do=diff</link>
        <description>3D Primitives

‘3D’ stands for three (3) dimensional. A 3D primitive is any shape that has three dimensions, which are often called width, depth, and height (or X, Y, Z.) 3D shapes have a known volume if closed.

[ Dimensions]

The mathematical study of 3D shapes and dimensions is called</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_align&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_align</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_align&amp;rev=1768109328&amp;do=diff</link>
        <description>Align

Shapes can be aligned across X, Y, and Z axis. In other words, each shape is translated to the requested position, aligning the boundaries of the shapes. The modes of alignment control which position to use, with values &#039;center&#039;, &#039;min&#039;, &#039;max&#039;, or &#039;none&#039;. The alignment can also be positioned to a specific point,</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_anatomy&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_anatomy</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_anatomy&amp;rev=1768109328&amp;do=diff</link>
        <description>Anatomy of a Design

A JSCAD design (script) must have at least one function defined, the main() function, which must to return a shape.


const { sphere } = require(&#039;@jscad/modeling&#039;).primitives

const main = () =&gt; {
  return sphere() // a single shape
}

module.exports = { main }</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_attributes&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_attributes</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_attributes&amp;rev=1768109328&amp;do=diff</link>
        <description>Shape Attributes

at

Color

Shapes can exhibit different colors. And just like the other transformations, adding color to a shape produces a new shape, i.e. one with color.

Colors are not only important for visual rendering but also controlling the selection of filaments during 3D printing. Therefore, colors should be applied as the last step in designs to insure proper printing.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_center&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_center</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_center&amp;rev=1768109328&amp;do=diff</link>
        <description>Center

Shapes can be centered about the X, Y or Z axis, or centered relative to a given point.

Note: The center of a shape is calculated as the midpoint between minimum and maximum points.

Defaults:

	*  axes : [true, true, true]
	*  relativeTo : [0, 0, 0]</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_chain_hull&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_chain_hull</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_chain_hull&amp;rev=1768109328&amp;do=diff</link>
        <description>Hull Chain

[ Hull Chain]

Hull chain is a variant of &#039;hull&#039; essentially sequential hulling each pair of shapes, then creating a union of the results.


const newshape = hullChain(shape1, shape2, shape3)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_color&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_color</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_color&amp;rev=1768109328&amp;do=diff</link>
        <description>Color

Shapes can exhibit different colors. And just like the other transformations, adding color to a shape produces a new shape, i.e. one with color.

Colors are not only important for visual rendering but also controlling the selection of filaments during 3D printing. Therefore, colors should be applied as the last step in designs to insure proper printing.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_conversions&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_conversions</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_conversions&amp;rev=1768109328&amp;do=diff</link>
        <description>Extrusions

Extruding a two dimensional shape into a three dimensional shape can be performed in various ways. In each extrusion process, a continuous three dimensional shape is formed with a constant cross section similar to that of the two dimensional shape.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_cuboid&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_cuboid</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_cuboid&amp;rev=1768109328&amp;do=diff</link>
        <description>Cuboid

A three dimensional shape created from six retangular faces, each at right angles to another, and opposite faces are equal.

[ Cuboid]

Learn about cuboids at MathIsFun.com

The size specifies the size of each face spanning X, Y and Z axis. Cuboids can be created at a requested center.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_cylinder&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_cylinder</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_cylinder&amp;rev=1768109328&amp;do=diff</link>
        <description>Cylinder

A three dimensional shape with two flat ends that are circular. The cylinder has the same cross-section from one end to the other, extending about the Z axis.

[ Cylinder]

Learn about cylinders at MathIsFun.com

The radius specifies the circular size about the Z axis, while the height specifies the size. Cylinders can be created at a requested</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_ellipse&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_ellipse</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_ellipse&amp;rev=1768109328&amp;do=diff</link>
        <description>Ellipse

[ Ellipse ]

A two dimensional shape that surrounds two focal points, such that for all points on the curve, the sum of the two distances to the focal points is a constant.

The radius determines the size of the ellipsoid about X and Y axis. Ellipsoids can be created at a requested</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_expand&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_expand</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_expand&amp;rev=1768109328&amp;do=diff</link>
        <description>Expand

[ Expand]

Note: The original shape is black.

Expanding two or three dimensional shapes can be performed, which maintains a specific delta distance from the shape. The corners can be filled with &#039;edge&#039;, &#039;round“, or &#039;chamfer&#039; edges.

The opposite is also possible by specifying a negative (-)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_expansions&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_expansions</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_expansions&amp;rev=1768109328&amp;do=diff</link>
        <description>Expansions / Offsets

All shapes (primitives or the results of operations) can be passed to special functions to expand (enlarge) or contract (lessen) a shape. In all cases, the operation returns the results, and never changes the original shapes. 

Expand</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_hull&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_hull</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_hull&amp;rev=1768109328&amp;do=diff</link>
        <description>Hull

[ Hull]

Several shapes can be combined together to form the convex hull, i.e. sum of the outside shells. This includes irregular shapes such as combining a circle with a square.

Learn more about convex hull at Wikipedia.org


const newshape = hull(shape1, shape2, shape3)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_intersect&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_intersect</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_intersect&amp;rev=1768109328&amp;do=diff</link>
        <description>Intersect

[ Intersect]

Several objects can be combined (overlapped) into a single shape. This result is the logical intersection of the shapes.


const newshape = intersect(cube({size: 10}), cylinder({radius: 4, heigth: 14})</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_linear_extrude&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_linear_extrude</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_linear_extrude&amp;rev=1768109328&amp;do=diff</link>
        <description>Linear Extrude

[ Extrude Linear]

Extrude a two dimensional shape in an upward linear direction.

The two dimensional shape is extruded to the height, upwards along the Z axis. The two dimensional shape is be rotated twistAngle about the Z axis during the extrusion, creating</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_measurements&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_measurements</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_measurements&amp;rev=1768109328&amp;do=diff</link>
        <description>Measurements

Sometimes the measurements of a shape can assist when creating a design. This is especially true for shapes imported from external formats.


const { measureArea, measureBoundingBox, measureVolume } = require(&#039;@jscad/modeling&#039;).measurements</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_mirror&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_mirror</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_mirror&amp;rev=1768109328&amp;do=diff</link>
        <description>Mirror

Shapes can mirror (reflect) about the X, Y, or Z axis, and more specifically about any origin.

Learn about reflection at MathIsFun.com

Defaults:

	*  origin : [0, 0, 0]
	*  normal : [0, 0, 1] (mirror about the Z axis)


const myshape = cube({size: [5, 20, 5]})
const newshape = mirror({origin: 3, 3, 3], normal: [1, 0, 1]}, myshape)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_offset&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_offset</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_offset&amp;rev=1768109328&amp;do=diff</link>
        <description>Offset

[ Offset]

Note: The original shape is black.

Offsetting two or three dimensional shapes can be performed, which maintains a specific delta distance from the shape. The corners can be filled with &#039;edge&#039;, &#039;round“, or &#039;chamfer&#039; edges.

The opposite is also possible by specifying a negative (-)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_operations&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_operations</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_operations&amp;rev=1768109328&amp;do=diff</link>
        <description>Operations

All shapes (primitives or the results of operations) can be passed to special functions to perform logical operations, e.g. removing a hole from a board. In all cases, the operation returns the results, and never changes the original shapes.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_others&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_others</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_others&amp;rev=1768109328&amp;do=diff</link>
        <description>Other Primitives

Path

A path is a series of points, connected by very thin (invisible) line segments. Paths can be created as a line from an array of points, or by calling various functions to create or extend another path.


const { line } = require(&#039;@jscad/modeling&#039;).primitives
const { path2 } = require(&#039;@jscad/modeling&#039;).geometries

const mypathA = line([[10, 10], [-10, 10]])
const mypathB = line([[-10, -10], [10, -10]])
let mypath = path2.concat(mypathA, mypathB)
mypath = path2.close(mypat…</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_path&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_path</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_path&amp;rev=1768109328&amp;do=diff</link>
        <description>Path

A path is a series of points, connected by very thin (invisible) line segments. Paths can be created as a line from an array of points, or by calling various functions to create or extend another path.


const { line } = require(&#039;@jscad/modeling&#039;).primitives
const { path2 } = require(&#039;@jscad/modeling&#039;).geometries

const mypathA = line([[10, 10], [-10, 10]])
const mypathB = line([[-10, -10], [10, -10]])
let mypath = path2.concat(mypathA, mypathB)
mypath = path2.close(mypath)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_polygon&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_polygon</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_polygon&amp;rev=1768109328&amp;do=diff</link>
        <description>Polygon

A two dimensional shape with straight sides, and the shape is “closed” (all the sides connect up).

[Polygons][Polygons]

Learn about polygons at MathIsFun.com

NOTE: The ordering of points is VERY IMPORTANT. If the polygon is going to be extruded then the points must be in counter-clockwise order, otherwise the faces of the object will be facing inwards. See</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_polyhedron&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_polyhedron</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_polyhedron&amp;rev=1768109328&amp;do=diff</link>
        <description>Polyhedron

A three dimensional shape where connecting faces create a solid. Each face is a three dimensional polygon (a flat shape with straight sides).



Learn about polyhedrons at MathIsFun.com

Create a polyhedron from a list of points and a list of faces. The points list all the vertexes of the shape, while the</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_project&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_project</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_project&amp;rev=1768109328&amp;do=diff</link>
        <description>Project

add diagram

The outlines of three dimension shapes can be projected to two dimensional space. The &#039;axis&#039; and &#039;origin&#039; define the plane of which to project, which can be positioned anywhere about the shape.

Defaults: (Z Axis)

	*  axis : [0, 0, 1]</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_projects&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_projects</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_projects&amp;rev=1768109328&amp;do=diff</link>
        <description>Projects

As designs grow in complexity, the need for smaller, reusable parts becomes apparent. This is the time to consider using a “project”.

Projects are simple directories, containing several files (parts) of the design. For example, a project for a RC car design would have various parts. And the reusable parts can be separated out.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rectangle&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_rectangle</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rectangle&amp;rev=1768109328&amp;do=diff</link>
        <description>Rectangle

A two dimensional shape made with four straight sides where all interior angles are right angles (90°).

[ Rectangle]

Learn about rectangles at MathIsFun.com

The size specifies the size across X and Y axis. Rectangles can be created at a requested center.

Defaults:

	*  size : [2, 2]
	*</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rectangular_extrude&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_rectangular_extrude</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rectangular_extrude&amp;rev=1768109328&amp;do=diff</link>
        <description>Rectangular Extrude

[ Extrude Rectangular]

Extrude a rectangle (upright, perpendicular) along the outlines of the two dimensional shape.

The two dimensional shape is extruded to the height, upwards along the Z axis.

Note: The extrusion process uses Linear Extrude underneath, so the extrusion can be rotated</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rotate&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_rotate</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rotate&amp;rev=1768109328&amp;do=diff</link>
        <description>Rotate

Shapes can be rotated by any given angle about the X, Y, and Z axis. The angles can be specified as either positive or negative values, in RADIANS.

Learn about rotation at MathIsFun.com

Defaults:

	*  angles : [0, 0, 0]


const { cuboid } = require(&#039;@jscad/modeling&#039;).primitives
const { rotate } = require(&#039;@jscad/modeling&#039;).transforms

const myshape = cuboid({size: [5, 20, 5]})
const newshape = rotate([(Math.PI * 2 / 4), (Math.PI * 2 / 24), (Math.PI * 2 / 12)], myshape)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rotate_extrude&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_rotate_extrude</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_rotate_extrude&amp;rev=1768109328&amp;do=diff</link>
        <description>Rotate Extrude

[ Extrude Rotate]

Extrude a two dimensional shape in a rotation about the Z axis. The two dimensional shape can be placed anywhere to create various three dimensional shapes. The segments specify the number of segments to create per full rotation.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_scale&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_scale</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_scale&amp;rev=1768109328&amp;do=diff</link>
        <description>Scale

Shapes can be scaled by any factor, enlarging (increasing) or shrinking (diminishing) shapes by the factors about X, Y, and Z axis. The result of scaling is a similar shape (in the geometric sense) to the original.

Learn about the scaling shapes at Wikipedia.org

Defaults:

	*  factors : [1.0, 1.0, 1.0]</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_scission&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_scission</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_scission&amp;rev=1768109328&amp;do=diff</link>
        <description>Scission

&#039;Scission&#039; meaning “The act of cutting or dividing, as with an edged instrument”

[ Union]

Sometimes complex shapes need to be divided into the smaller pieces. A good example is when creating &#039;molds&#039; from the pieces of a boolean operation. Or splitting a complex shape into the component pieces from an imported design, i.e. splitting STL models.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_spheroid&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_spheroid</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_spheroid&amp;rev=1768109328&amp;do=diff</link>
        <description>Ellipsoid

A three dimensional surface that has three pairwise perpendicular axes of symmetry which intersect at a center.

[ Sphere ]

The radius determines the size of the ellipsoid about the X, Y, and Z axis. Ellipsoids can be created at a requested center. The</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_star&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_star</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_star&amp;rev=1768109328&amp;do=diff</link>
        <description>Star

[ Star ]

A two dimensional shape made from straight rays extending from a center. All vertices are the same distance from the center.

Note: See the paper on  The Inner Radius of n/m Stars by Julian D. A. Wiseman for more details.

Defaults:

	*  vertices : 5
	*  density : 2
	*  outerRadius : 1
	*  innerRadius : 0</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_subtract&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_subtract</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_subtract&amp;rev=1768109328&amp;do=diff</link>
        <description>Subtract

[ Subtract]

Several shapes can be removed (subtracted) from another. The result is the logical difference of shapes.

Note: The first shape given is the base shape for all subtractions.


const newshape = subtract(cube({size: 10}), cylinder({radius: 4, heigth: 14})</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_text&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_text</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_text&amp;rev=1768109328&amp;do=diff</link>
        <description>Text

Text can be used in designs to create the outline of characters, which can then be used to create either 2D or 3D shapes.

NOTE: Only the ASCII characters can be used today.

Single Characters

A single character can be converted into an outline, i.e. an array of line segments. The character</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_torus&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_torus</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_torus&amp;rev=1768109328&amp;do=diff</link>
        <description>Torus

A three dimensional shape made by revolving a small circle (inner) along the circumference a bigger circle (outer).

[ Torus]

Learn about torus at MathIsFun.com

A torus is defined as such:

	*  Inner Circle
		*  inner radius
		*  inner rotation before rotating about the outer circle</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_transform&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_transform</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_transform&amp;rev=1768109328&amp;do=diff</link>
        <description>Matrix Transform

The previous transforms are actually simplified versions of matrix mathematics. For example, translate is just applying addition using a matrix.

Learn about matrix mathematics at MathIsFun.com


let matrix = mat4.create()
matrix = mat4.multiply(mat4.rotationX(40))
matrix = mat4.multiply(mat4.rotationZ(40))
matrix = mat4.multiply(mat4.translation([-.5, 0, 0]))
matrix = mat4.multiply(mat4.scaling([1.1, 1.2, 1.3]))

// and apply the transform
const myshape = transform(matrix, cub…</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_transforms&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_transforms</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_transforms&amp;rev=1768109328&amp;do=diff</link>
        <description>Transforms

All shapes can be transformed, i.e. translated to another location, rotated by certain angles, etc. In all cases, the transform function returns a new shape, not the original.


const myshape = circle({radius: 5})
const newshape = scale([5, 10], circleA) // a new cicle, scaled as requested</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_translate&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_translate</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_translate&amp;rev=1768109328&amp;do=diff</link>
        <description>Translate

Shapes can be translated (moved) to another location. In other words, every point in the shape is moved by a fixed distance as given by the offset. The offset can be positive or negative.

Learn about translation at MathIsFun.com

Defaults:

	*  offset : [0, 0, 0]


const myshape = sphere([radius: 5})
const newshape = translate([3, 7, -10], myshape)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_union&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_guide_union</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:design_guide_union&amp;rev=1768109328&amp;do=diff</link>
        <description>Union

[ Union]

Several shapes can be combined (merged) into a single shape, creating complex &#039;parts&#039;. The combining of smaller obects together allows the &#039;part&#039; to be used in other operations, transformations, etc.


const newshape = union(cube({size: 10}), cylinder({radius: 4, heigth: 14})</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:jscad_design_guide&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jscad_design_guide</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:jscad_design_guide&amp;rev=1768109328&amp;do=diff</link>
        <description>Design Guide

Creating a new JSCAD design starts by writing simple scripts which call functions to create and manipulate shapes. In general, JSCAD designs are written using the JavaScript language.

Find out more about JavaScript at w3schools

The JSCAD suite of applications executes the script, generates shapes, applies transforms, performs operations, and renders the design for viewing.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:jscad_design_math&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jscad_design_math</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:jscad_design_math&amp;rev=1768109328&amp;do=diff</link>
        <description>Math Guide

Orientation

All the internal calculations of JSCAD (and other included libraries) are based on the &#039;right-hand&#039; rule. (For more information see discussions here and here.)

[ Right-hand Rule]

This results in the following orientation of the three-dimensional coordinate system, i.e. orientation of X, Y, and Z axis.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:jscad_quick_reference&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jscad_quick_reference</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:jscad_quick_reference&amp;rev=1768109328&amp;do=diff</link>
        <description>Quick Reference

The following sections provide quick reference to the JSCAD application programming interface (API), the heart of making designs.

Primitive Shapes

The &#039;primitives&#039; are accessed through the modeling API using the following:


const { cube, ellipse, star } = require(&#039;@jscad/modeling&#039;).primitives</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:math_guide_conversions&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>math_guide_conversions</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:math_guide_conversions&amp;rev=1768109328&amp;do=diff</link>
        <description>Conversions

Conversions between Degrees and Radians

Convert the given angle (degrees) to radians.


const { degToRad } = require(&#039;@jscad/modeling&#039;).utils
let radians = degToRad(90) // PI / 2 radians


Convert the given angle (radians) to degrees.


const { radToDeg } = require(&#039;@jscad/modeling&#039;).utils
let degrees = radToDeg(Math.PI / 2) // 90 degrees</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:math_guide_orientation&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>math_guide_orientation</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:math_guide_orientation&amp;rev=1768109328&amp;do=diff</link>
        <description>Orientation

All the internal calculations of JSCAD (and other included libraries) are based on the &#039;right-hand&#039; rule. (For more information see discussions here and here.)

[ Right-hand Rule]

This results in the following orientation of the three-dimensional coordinate system, i.e. orientation of X, Y, and Z axis.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_conversion&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>quick_reference_conversion</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_conversion&amp;rev=1768109328&amp;do=diff</link>
        <description>Extrusions

The &#039;extrusions&#039; are accessed through the modeling API using the following:


const { extrudeLinear, extrudeRegtangular, extrudeRotate, project  } = require(&#039;@jscad/modeling&#039;).extrusions

  Extrusion of 2D Shapes    Notes   const newshape = extrudeLinear({height: 20, twistAngle: Math.PI, twistSteps: 20}, oldshape))</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_expansions&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>quick_reference_expansions</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_expansions&amp;rev=1768109328&amp;do=diff</link>
        <description>Expansions

The &#039;expansions&#039; are accessed through the modeling API using the following:


const { expand, offset } = require(&#039;@jscad/modeling&#039;).expansions

  Expansion    Notes   const newshape = expand({delta: 2, corners: &#039;round&#039;, segments: 64}, oldshape)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_general&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>quick_reference_general</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_general&amp;rev=1768109328&amp;do=diff</link>
        <description>General Functions

Colors

The &#039;colors&#039; are accessed through the modeling API using the following:


const { colorize, hexToRgb } = require(&#039;@jscad/modeling&#039;).colors

  Function    Notes   let newshape = colorize([1, 0, 0], oldshape)    API   let newshape = colorize(colorNameToRgb(&#039;lightblue&#039;), oldshape)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_operations&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>quick_reference_operations</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_operations&amp;rev=1768109328&amp;do=diff</link>
        <description>Shape Operations

Boolean Operations

The &#039;booleans&#039; are accessed through the modeling API using the following:


const { union, intersect, scission, subtract } = require(&#039;@jscad/modeling&#039;).booleans

  Operation    Notes   const newshape = intersect(oldshape0, oldshape1)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_parameters&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>quick_reference_parameters</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_parameters&amp;rev=1768109328&amp;do=diff</link>
        <description>Design Parameters

A design can have interactive parameters by declaring a special function; getParameterDefinitions().

In applications and browsers, these parameters are presented to users, allowing users to change designs.

Usage

This function must return an array of parameter definitions, as show below.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_shapes&amp;rev=1785542078&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-07-31T23:54:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>quick_reference_shapes</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_shapes&amp;rev=1785542078&amp;do=diff</link>
        <description>Primitive Shapes

The &#039;primitives&#039; are accessed through the modeling API using the following:


const { cube, ellipse, star } = require(&#039;@jscad/modeling&#039;).primitives


2D Primitives
  Primitive    Notes   const mypath = arc({center: [2, 2], radius: 2, startAngle: Math.PI, endAngle: Math.PI * 2, segments: 64})</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_text&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>quick_reference_text</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_text&amp;rev=1768109328&amp;do=diff</link>
        <description>Text

The &#039;text&#039; functions are accessed through the modeling API using the following:


const { vectorChar, vectorText } = require(&#039;@jscad/modeling&#039;).text

  Function    Notes   let vectorCharObject = vectorChar({ xOffset: 10, yOffset: 50, height: 18, input: &#039;!&#039; })</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_transforms&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>quick_reference_transforms</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:quick_reference_transforms&amp;rev=1768109328&amp;do=diff</link>
        <description>Shape Transformations

The &#039;transforms&#039; are accessed through the modeling API using the following:


const { translate, scale, rotateX } = require(&#039;@jscad/modeling&#039;).transforms

  Transform    Notes   const newshape = align({modes: [&#039;min&#039;, &#039;center&#039;, &#039;none&#039;], relativeTo: [10, null, 10], grouped: true}, oldshape)</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:sidebar&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sidebar</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:sidebar&amp;rev=1768109328&amp;do=diff</link>
        <description>Contribute

Quick Reference

	*  Primitive Shapes
	*  Shape Transformations
	*  Shape Operations
	*  Extrusions/Projections
	*  Expansions/Offsets
	*  Text
	*  General

User Guide

	*  Website
	*  Supported File Formats
	*  More Designs and Websites

Design Guide

	*  Anatomy of A Design
	*  Projects
	*  3D Primitives
		*  Cuboid
		*  Ellipsoid
		*  Cylinder
		*  Torus
		*  Polyhedron

	*  2D Primitives
		*  Rectangle
		*  Ellipse
		*  Polygon
		*  Star

	*  Other Primitives
		*  Path
		*  Text
…</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:start&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>start</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:start&amp;rev=1768109328&amp;do=diff</link>
        <description>JSCAD User Guide

JSCAD (formally know as OpenJSCAD) provides a programmer’s approach when designing 3D models. JSCAD is provided as an open source set of modular, browser and command line tools for creating parametric 2D and 3D designs with JavaScript code. It provides a quick, precise and reproducible method for generating 3D models, and is especially useful for 3D printing applications.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:test3&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>test3</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:test3&amp;rev=1768109328&amp;do=diff</link>
        <description>test3</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:user_guide_formats&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>user_guide_formats</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:user_guide_formats&amp;rev=1768109328&amp;do=diff</link>
        <description>Supported Language / File Formats

The following languages and file-formats are supported:
  Format    Ext    Website    In/Out    Notes   JSCAD   .js   openjscad.xyz   JSCAD based designs for 2D and 3D CAD models   AMF   .amf   Wikipedia: AMF (file format)  Additive Manufacturing format for 3D objects</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:user_guide_help&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>user_guide_help</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:user_guide_help&amp;rev=1768109328&amp;do=diff</link>
        <description>More Designs and Websites

Looking for more help?

Try asking questions to other users of JSCAD. We have a growing  JSCAD User Group, and most questions are answered immediately by friends. You can also start some conversations on the  JSCAD Discord channel, and discuss interactively with experienced users.</description>
    </item>
    <item rdf:about="https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:user_guide_website&amp;rev=1768109328&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-11T05:28:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>user_guide_website</title>
        <link>https://openjscad.xyz/v2/dokuwiki/doku.php?id=en:user_guide_website&amp;rev=1768109328&amp;do=diff</link>
        <description>Website

The JSCAD website can be used immediately by visiting the project website at  www.openjscad.xyz

This is a great way to learn about JSCAD, view 3D and 2D designs, and create something new. That’s what 3D printing is about!

Viewing Designs

The website presents a page without an initial design, so select an example from the list under the (?) in the above right corner. Try the first example called &#039;2D Primitives Demonstration&#039;.</description>
    </item>
</rdf:RDF>
