X3D v4.0 CAD Improvements
From Web3D.org
These are proposed changes under consideration by the X3D CAD Working Group.
Contents
X3D CAD Component
- Existing specification: X3D v3.3 CAD Geometry Component
Child-node relationships more explicit
- Many parent-child node relationships are vague, leading to difficulty deciding which children are allowed. For example, X3DGroupingNode is implemented by many candidate nodes.
- These relationships are strictly captured in the X3D DTD and X3D Schema, with further support in X3D Schematron
- In order to best support model export and interoperability, the child nodes are limited to those listed in the CADInterchange Profile
Proposed specification prose: needed.
Tesselation consistency
- Exporters can significantly reduce file size using primitive-geometry nodes (e.g. Cylinder, Disk2D, etc.)
- Tesselation quality is not strictly defined in X3D
- In order to match polygonal tessellation strictly and avoid "cracks" between adjactent geometry, some form of association is needed (similar to the NURBSet node)
- CADPart semantics can be improved to include this constraint
Proposed specification prose: needed.
X3D CADInterchange Profile
- Existing specification: X3D v3.3 CADInterchange profile
Improved nodeset
Nodes to add:
Nodes to remove:
Renaming necessary?
Extensive changes to this profile may make backwards compatibility difficult. X3D profiles do not support a concept of level as components do.
- Should the profile be renamed for clarity, maintaining the old profile separately?
- Alternatively should the old profile be deprecated?
- Is there a better way to express this evolution, simply noting that the v3.4 profile is different?