[X3D-Public] [Cad] revising CADInterchange profile

Don Brutzman brutzman at nps.edu
Sat Aug 18 11:56:51 PDT 2012


Thanks for your review and summary of past design goals.  Yes I also think
that we are building a larger profile than before.

Dick has been advocating creation of a different profile - those points
are at the bottom of the page.  That design approach is making increasing
sense to me.

I've continued editing the wiki page to try capturing these discussion points
appropriately.

	http://www.web3d.org/x3d/wiki/index.php/X3D_v3.4_CAD_Improvements

Reactions follow.

On 8/17/2012 10:53 AM, Alan Hudson wrote:
> [...]
> In general the first cad interchange profile was designed to be as minimal as possible to exchange geometry between systems.  You proposing a pretty big increase in the requirements to implement this profile.  As I thought about the problem you just wanted geometric interchange.

Focusing on geometry:
- Adding geometric primitives can significantly reduce export file size
	without a significant increase in player requirements
- Adding circular geometric primitives can further reduce export file size
	and improve tesselation matching, at all scales, with higher fidelity

>  So things like anchor, fill properties, other viewpoint, viewpoint group etc were not needed.

Excellent point.  These are now listed separately under the new subheading
'Nodes to add CAD interactivity' since their shared purpose is different.

FillProperties seems fundamental to effective presentation and is
getting implemented with little apparent difficulty.

> I also avoided having IndexedFaceSet because its a relatively expensive node to implement in comparison to the native IndexedTri* nodes.

Is IndexedFaceSet really that difficult to implement after all this time?
Reduction of IFS to triangle nodes would be helpful if it were more widespread,
but that process might obfuscate the construction of the original content.
Or not... hmmm, wondering if IFS is actually used in any CAD systems.

I think we can safely include IndexedFaceSet, especially since that is
consistent with the already-existing X3D Interchange profile.

> Same argument for leaving out box, cylinder, 2D primitives etc.

I don't think the complexity issue applies for them.
- simple and inexpensive to implement
- likely a good match for CAD constructs that an exporter may encounter
- significant reduction in output file size
- Very precise geometric results at all scales, independent of tessellation
	quality which can vary from use to use (and viewpoint to viewpoint)
- Allows automation of geometry alignment and identification of collinearity
	constraints within a CADPart to avoid cracks/gaps
- Analogous to vector graphics versus pixel graphics

> The smaller the profile to better chance you have of people implementing the profile.  I wouldn't think about how hard it is to implement for a current X3D player but consider what a cad package would need in order to add this.

Excellent point.  More to follow..

> I don't have a lot of focus on this area any more but wanted to get across some of the design principals we had in mind for this profile. If successful we figured a larger profile with stuff like this might be layered on top of this base profile.

Hopefully we are now following that trail, with greater experience
and resources at our disposal.

Here is the current rewrite of the top section, improvements welcome:

=========================================================
X3D CADInterchange or CADInteractive Profile?

The existing CADInterchange profile definition was designed to be as minimal as possible to exchange geometry between systems.

    Existing specification: X3D v3.3 CADInterchange profile 

Improvements and additions are possible to match the evolved understanding and improved practices of CAD to X3D export.

    Primary discussion: revising CADInterchange profile email thread 

We also want to be sensitive to the possible addition of X3D export within CAD tools, making that implementation step practical for them. Construction of exporters is a good estimate of complexity for those efforts.

Planned improvements to a CAD profile require a number of changes to the list of supported nodes. 
=========================================================

Further rationale:

=========================================================
Nodes to add for improved CAD interactivity

Tools can take advantage of the semantics provide by the CAD product structure to provide many interaction techniques that do not require author scripting.

    Such advantages indicate that the wide variety of functionality in the X3D Interactive Profile may (or may not) be needed 

A variety of use cases exist for Web publication of CAD models, such as viewing or maintenance or checking availability or ordering. The working group probably needs to explore them in further detail. 
=========================================================

A variety of other editorial improvements were made to the page.
Continued review and discussion appreciated, again thanks.

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman



More information about the X3D-Public mailing list