On this page:
Ruckus:   Procedural CAD For Weirdos
7.7

Ruckus: Procedural CAD For Weirdos

Cliff L. Biffle <code@cliffle.com>

This document introduces Ruckus, a procedural CAD system in the same family as OpenSCAD and ImplicitCAD.

    1 Prerequisites

      1.1 Operating System

      1.2 Graphics Card

      1.3 Racket

      1.4 Ruckus Source Code

        1.4.1 Using the Package

        1.4.2 The Hard Way

    2 Getting Your Ruckus On

      2.1 Writing a Design

      2.2 Combining Objects

      2.3 Preparing for Printing

      2.4 Improving Export Quality

    3 Ruckus Language Reference

      3.1 Coordinates

      3.2 Contexts

      3.3 Basic Types

      3.4 3D Primitives

      3.5 2D Primitives

      3.6 Combinators

      3.7 Transforms

      3.8 Reflection

    4 The Ruckus Tools

      4.1 Visualization

        4.1.1 ruckus-3d

        4.1.2 ruckus-2d

      4.2 Export

        4.2.1 ruckus-export-surface

        4.2.2 ruckus-export-outline

    5 Internals

      5.1 The Math Bits

        5.1.1 Implicit Surfaces and the Function Representation

        5.1.2 Signed Distance Fields

        5.1.3 The Lipschitz Criterion

      5.2 The Ruckus Compiler

        5.2.1 The Ruckus Language Module

          5.2.1.1 Rewrite Example

          5.2.1.2 Using Another Racket Language

        5.2.2 Building the AST

          5.2.2.1 The AST Node Structure

          5.2.2.2 The EDSL Evaluator

        5.2.3 AST Rewriting

          5.2.3.1 Canonicalization

          5.2.3.2 Enumeration

        5.2.4 Lowering to Ruckus IR

          5.2.4.1 Assignments

          5.2.4.2 Expressions

          5.2.4.3 Value Pruning

        5.2.5 Target Backends

          5.2.5.1 The Racket Backend

          5.2.5.2 The GLSL Backend