Interoperability
Interoperability & Export
Category: Generative Radial Geometry (GRG)
GRG exports reproducible geometry and metadata for CAD/BIM, DCC, and scripting pipelines. Angles use turns with dyadic step Δu=2^{-n} (full turn); a quarter has M=2^{\,n-2} samples.
GRG Export Pack (recommended)
- config.json — seed, n, rule, adaptive thresholds, weights, commit, timestamps.
- nodes_quarter.obj — quarter polyline (units: meters; Z=0).
- nodes_full.obj — reconstructed full polyline via ×4 symmetry.
- strips.csv — per-step area strips (Δu, chord, sagitta).
- metrics.json — P(n), A(n), ρ(Δu) stats, runtime, memory.
- LICENSE — permissive license (MIT/Apache-2.0).
- README.md — how to import into common tools.
Formats & Usage
| Format | Content | Notes |
|---|---|---|
| .OBJ | Polylines | Lightweight; ideal for downstream thickening or meshing |
| .SVG | 2D vectors | Great for print/CNC; preserves quarters and layers |
| .glTF | Runtime-friendly | Embed as lines/triangles for engines and viewers |
| .STEP | CAD solids/surfaces | Produce via downstream thickening/loft from polylines |
| .CSV/.JSON | Metrics & params | Reproducibility and scripts; easy diffs |
Units & Coordinate Frame
- Units: meters by default; set units in config.json.
- Frame: origin at seed; X to the right, Y up; quarter in first quadrant by convention, Z=0.
- Winding: counter-clockwise sampling by increasing u.
Naming Conventions
- grg_{project}_{yyyy-mm-dd}_{commit}/ root folder.
- quarter_M{M}_n{n}.obj and full_M{M}_n{n}.obj for geometry.
- metrics_P_A_{n}.json, strips_{n}.csv for analytics.
Export Pseudocode
GRG_Export(seed, n, rule, weights, adaptive):
Δu ← 2^{-n}; M ← 2^{n-2}
nodes_q ← BuildQuarter(seed, Δu, rule, weights, adaptive)
nodes_f ← Reflect4(nodes_q)
P, A ← Aggregate(nodes_q) # chords & strips
write_obj("nodes_quarter.obj", nodes_q)
write_obj("nodes_full.obj", nodes_f)
write_csv("strips.csv", per_step_values)
write_json("metrics.json", {P, A, rho_stats, runtime, mem})
write_json("config.json", {seed, n, rule, weights, adaptive, units:"m"})
Round-tripping
- To CAD: loft/thicken polylines; convert to NURBS; export STEP.
- To DCC/Engines: glTF with line primitives or triangulated ribbons.
- Back to GRG: keep config.json as the single source of truth.
Checks Before Shipping
- Verify P(n), A(n) stabilization across dyadic refinements.
- Ensure units and frame documented; include LICENSE.
- Attach README with minimal import steps for target tools.