forked from 1b-agent/opencadstudio-upstream
feat(scene): render 3D surface entities (loft/sweep/extrude/etc.)
ACAD_SURFACE entities now load and render. Their NURBS faces are tessellated by building a truck BSplineSurface from the ACIS `spline-surface` control net and knot vectors, then sampling its parametric grid — reusing the same NURBS kernel the Model tab already builds on. Analytic faces (plane/cone/sphere/torus) continue through the existing tessellator. - New spline_tess.rs: parse the ACIS `nubs` block (degrees, knots with the clamped end-multiplicity fix, control grid) into a truck BSplineSurface and mesh it. - tessellate_surface + Surface wired through the mesh-build, fallback-wire, and entity-classification paths. - Bump acadrust to the commit that adds the Surface entity. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
1 parent
b173f32d5a
commit
9d823363f1
9 files changed
+235
-7
No files matched your search
@@ -245,6 +245,7 @@ pub(super) fn entity_type_key(entity: &acadrust::EntityType) -> String {
|
||||
Solid3D(_) => "solid3d",
|
||||
Region(_) => "region",
|
||||
Body(_) => "body",
|
||||
Surface(_) => "surface",
|
||||
Mesh(_) => "mesh",
|
||||
Ray(_) => "ray",
|
||||
XLine(_) => "xline",
|
||||
|
||||
Reference in new issue
Block a user