Round-Anything Documentation

repository·master·Indexed 20 days ago

https://github.com/irev-dev/round-anything

A set of OpenSCAD utilities for adding radii to parts using a [x, y, radius] 2D polygon model. The library enables complex, smooth geometries and includes modules such as unionRound for standard fillet unions and unionRoundMask for selective fillet unions using mask selectors, as well as helper modules like clad and inset.

Tokens
881
Snippets
2
Records
6
Agent score
22%

What's inside Round-Anything

  1. Core Concept: The [x, y, radius] Polygon Model

    master

    Round-Anything is built around a specific data structure for defining shapes. Instead of standard 2D coordinates, the core of the library uses a list of polygon points where each point is defined as a triplet: [x, y, radius].

    This approach allows you to define complex geometry by specifying a coordinate and an associated radius at every vertex, making it easier to manage internal and external radii which are traditionally difficult to handle in OpenSCAD. The library then leverages this 2D sketch paradigm to extrude shapes into 3D parts.

  2. Use unionRoundMask for selective fillet unions

    master

    unionRoundMask performs a union operation with a round fillet at specific locations. It uses a system of mask selectors (common primitives) to mark out areas via intersection, allowing you to apply fillets only to selected areas rather than the entire common convex work area.

    Parameters

    • r: Approximate radius for the fillet. The exact radius depends on the crease angle.
    • detail: Number of fillet segments. A value of 1 results in a chamfer/bevel. Set lower for faster previews.
    • q: Determines the detail of clad operations. Set lower for faster previews.
    • epsilon: Precision parameter (leave as default for debugging).
    • showMask: Boolean to toggle mask visibility (useful for debugging).
    • includeOperands: Boolean; if false, only the fillet is rendered (useful for debugging).

    Usage Pattern

    To use masks, include your primary objects followed by the mask primitives within the module block:

    unionRoundMask( r = 1 , detail = $preview ? 3 : 10 , q = $preview ? 30 : 70 )
    {
        yourObject1();
        yourObject2();
            yourMask1();
            yourMask2();
            yourMask3();
    }
  3. Get Started with Round-Anything

    master

    To begin using Round-Anything in your OpenSCAD projects, follow these resources:

    • Installation: Detailed instructions are available in the GitHub Discussions.
    • API Reference: For a full list of available functions and methods, refer to the Written API Documentation.
    • Visual Overview: Watch the video overview to understand the library's workflow.
    • Examples: You can find practical implementation examples in the roundAnythingExamples.scad file within the repository.
  4. Reference: unionRoundMask and unionRound parameters

    master

    The following parameters are available for the unionRoundMask and unionRound modules:

    ParameterDescription
    rApproximate radius for fillet.
    detailNumber of fillet segments (1 = chamfer/bevel).
    qDetail level for clad operations.
    epsilonPrecision/debugging value.
    showMask(unionRoundMask only) Toggles mask visibility.
    includeOperands(unionRoundMask/unionRound) If false, renders only the fillet.