Difference between revisions of "X3D v4.0 CAD Improvements"
From Web3D.org
m |
(→X3D CADInterchange Profile: add nodes) |
||
Line 26: | Line 26: | ||
* Existing specification: [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html X3D v3.3 CADInterchange profile] | * Existing specification: [http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/CADInterchange.html X3D v3.3 CADInterchange profile] | ||
+ | * Primary discussion: [http://web3d.org/mailman/private/cad_web3d.org/2012-August/000191.html revising CADInterchange profile] email thread | ||
=== Improved nodeset === | === Improved nodeset === | ||
Nodes to add: | Nodes to add: | ||
+ | |||
+ | * Anchor | ||
+ | ** Needed for description and Viewpoint selection (level 1) | ||
+ | ** Also needed for linking to other networked resources (level 2) | ||
+ | |||
+ | * Inline | ||
+ | ** Needed for modular re-use of CAD-model files | ||
+ | |||
+ | Concern: possibility of short-circuiting CAD product structure within an extended file. Related future specification change: | ||
+ | ** Any node children created by Inline, ProtoInstance or Script (via a createX3D method ) | ||
+ | need to follow the CAD product structure defined by their parent nodes. | ||
+ | |||
+ | * FillProperties | ||
+ | ** Definitely needed for proper display to distinguish different parts or selected parts. Related to definition of component levels in the profile. | ||
+ | |||
+ | * OrthoViewpoint | ||
+ | ** The primary purpose of OrthoViewpoint is to support common use cases for CAD model viewing. (This node was probably added after the initial CAD profile.) | ||
+ | |||
+ | * ViewpointGroup | ||
+ | ** Allows nesting of Viewpoints within models without exploding or overloading the Viewpoint list, which is an essential tool for user navigation. | ||
+ | |||
Nodes to remove: | Nodes to remove: |
Revision as of 14:24, 17 August 2012
These are proposed changes for a future X3D v3.4 Specification 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
- Primary discussion: revising CADInterchange profile email thread
Improved nodeset
Nodes to add:
- Anchor
- Needed for description and Viewpoint selection (level 1)
- Also needed for linking to other networked resources (level 2)
- Inline
- Needed for modular re-use of CAD-model files
Concern: possibility of short-circuiting CAD product structure within an extended file. Related future specification change:
- Any node children created by Inline, ProtoInstance or Script (via a createX3D method )
need to follow the CAD product structure defined by their parent nodes.
- FillProperties
- Definitely needed for proper display to distinguish different parts or selected parts. Related to definition of component levels in the profile.
- OrthoViewpoint
- The primary purpose of OrthoViewpoint is to support common use cases for CAD model viewing. (This node was probably added after the initial CAD profile.)
- ViewpointGroup
- Allows nesting of Viewpoints within models without exploding or overloading the Viewpoint list, which is an essential tool for user navigation.
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?