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 <noreply@anthropic.com>
This commit is contained in:
1 parent
b173f32d5a
commit
9d823363f1
9 files changed
+235
-7
No files matched your search
@@ -129,6 +129,7 @@ pub fn entity_type_name(et: &EntityType) -> &'static str {
|
||||
EntityType::Solid3D(_) => "Solid3D",
|
||||
EntityType::Region(_) => "Region",
|
||||
EntityType::Body(_) => "Body",
|
||||
EntityType::Surface(_) => "Surface",
|
||||
EntityType::Table(_) => "Table",
|
||||
EntityType::Tolerance(_) => "Tolerance",
|
||||
EntityType::PolyfaceMesh(_) => "PolyfaceMesh",
|
||||
|
||||
Reference in new issue
Block a user