Generates a curved-edge quadrilateral mesh from four corner vertices, bending two opposite edges (v0→v1 and v2→v3) into arcs of adjustable radius, dihedral angle, and triangle count. Produces the triangulated mesh, the index list, and a wireframe of its silhouette edges.
The module takes a flat quad (four 3D vertices) and replaces its two opposite edges by circular arcs, then re-triangulates the resulting shape into a clean mesh. Each arc is independently:
with an optional rotation around the chord (the dihedral angle) that lets the arc tilt out of the quad's plane — useful for line-array housings, curved cabinet faces, or any developable surface that needs to be visualised in 3D.
The module also produces a wireframe output that keeps only the silhouette edges (boundary edges + edges where adjacent faces are not coplanar), so the curved arcs can be drawn over the filled mesh without showing every internal triangulation line.
Note — vertex / radius arrays are read pair-wise (one value per arc). The first index drives the
v0→v1arc, the second thev2→v3arc. Inputs shorter than 2 (for the per-arc arrays) or 12 (for vertices, i.e. 4 × XYZ) are silently ignored.
The four corners of the quad, flat-packed as X₀, Y₀, Z₀, X₁, Y₁, Z₁, X₂, Y₂, Z₂, X₃, Y₃, Z₃. The two arcs are built on edges v0→v1 and v2→v3. Range -1…+1. The array must be at least 12 long.
Two-value array. Per-arc radius factor (related to the arc's sagitta vs. chord length):
> 0 — convex arc bulging outwards.< 0 — concave arc bowing inwards. The sign is read, then the absolute value is used as the radius factor.= 0 — the corresponding arc is disabled and the edge stays straight.Range 0 – 2. A value of 1 gives a half-circle on the chord; values between 0 and 1 give shallow arcs; values above 1 push the arc closer to a deep bow.
Two-value array, in degrees, range −360 – +360. Per-arc rotation of the arc plane around the chord. 0 keeps the arc in the plane of the quad; non-zero values tilt the arc out of the quad's plane, useful for curved enclosures where the arc isn't coplanar with the base quad.
When the matching factor is negative (concave arc), the dihedral angle is forced to 0 — concave arcs always stay in-plane.
Two-value integer array, range 1 – 1000 (no hard limit). Per-arc number of triangle segments used to discretise the arc. Higher values give smoother arcs at the cost of more triangles. The convex arc fan around the chord midpoint contains num of triangles triangles; the concave triangulation adds num of triangles − 1 extra vertices along the arc.
When ON, all faces are inverted (winding reversed). The module already auto-detects when the generated faces are oriented against the source quad and re-inverts them — use this switch to flip the final orientation on top of that.
Flat array of mesh vertices, X, Y, Z, X, Y, Z, …. To be wired into object3d-primitive-triangles with indices.
Flat triangle index list (0-based, three indices per triangle, no separator). Quads in the internal mesh are fan-triangulated; n-gons (≥ 5 vertices) are fan-triangulated from the first vertex.
Flat array of point pairs X₀, Y₀, Z₀, X₁, Y₁, Z₁, … describing the silhouette wireframe: every boundary edge (edges adjacent to a single face) plus every edge where the two adjacent faces are not coplanar (normal · normal < 0.999). Edges sitting inside flat regions of the mesh are dropped. Wire into object3d-primitive-lines for diagnostic display.
Opens the web browser to display information or help about the selected object, if it exists.
For more details about information/help creation, see create-help-file.
Description of the module for internal help purposes only. The description is not displayed in the interface.
visible only in god mode, see setup-panel-tab-expert.
Current private ID for this control used to identify the object.
Current private preset ID for this control used for presets.
If you experience difficulties in Polyphonic mode, try to recreate new id(s) with this button.
Each Patch shared on the local network uses its own ID (identification number). If you experience issues of Patches that don't send information to the good target, this button will rebuild all these id's.
Absolute remote address. see objects-address.
Local to the current patch remote address. see objects-address.
User defined remote address. see objects-address.
version 7.0.250121
Edit All Pages