[X3D-Public] Fwd: [Cad] Comments on the CAD implementation discussions

Don Brutzman brutzman at nps.edu
Wed Feb 8 19:35:38 PST 2012


forwarded with permission, very interesting!

-------- Original Message --------
Subject: [Cad] Comments on the CAD implementation discussions
Date: Thu, 12 Jan 2012 09:26:44 -0500
From: Vincent Marchetti <vmarchetti at ameritech.net>
To: <Cad at web3d.org>

To the X3D CAD working group:

These are additional thoughts on the topics of the CAD WG conference call of Jan 11, 2012, in which we discussed the pros and cons of different routes to improving CAD support by X3D. Our discussion was based on the idea of creating X3D content from a STEP (ISO 10303) file, but I think the issues and conclusions would be the same if a X3D generator was using the native file format or internal data structures of a commercial CAD package; as long as the underlying geometric model was expressed as a boundary representation.

The X3D content could be delivered in one of three levels:

1. As a collection of X3D B-REP nodes, from the proposed B-REP extensions to X3D.

2. As a collection of NURBS nodes from the NURBS Components of X3D (and triangle based X3D nodes for the planar surfaces, as appropriate)

3. As a tesselatated model, providing an IndexedFaceSet or similar nodes, the model already broken up into lots of little triangles.

The trends, going from 1 to 3 are:

Going from 1 to 3 involves greater support among existing browsers; that is as far as I know implementations of the B-REP nodes are incomplete, a few browsers currently support NURBS nodes; I think they all can handle IndexedFaceSet. Not surprisingly, implementing 1 will also require the greatest effort among browser developers, as you will have to do more geometric computation to render all the geometries supported in the X3D B-REP component.

Going from 1 to 3 provides less information on the model structure (arrangements of faces and edges) which would be useful if X3D were to be used as an interchange mechanism  in addition to rendering.

Going from 1 to 3 provides less flexibility to the user of the X3D content, even for rendering. If you provide a tesselated model as in level 3 the content generator has already chosen the greatest level of resolution possible, while if you provide NURBS or  B-REPS the browser and renderer can adjust the resolution based on hardware capability.

My intuition is that going from 2 to 3 would involve larger file sizes, although this depends on the  resolution of a model delivered at level 3.



The working group members may be interested in this work by STEPTools Inc in Troy, New York (the president of STEPTools, Martin Hardwick, is also on the faculty of Rensselaer Polytechnic Institute):  http://www.steptools.com/demos

This is not an X3D based project, but in my opinion it could be and should be. They are working with STEP-NC data (STEP-NC is the part of STEP that concentrates on computer-aided manufacturing). Their geometry includes the geometry of a workpiece (something being made in a CNC machine), cutting tools, and the machine tool itself. They deliver this geometry as a XML encoded file in a custom format, but it is essentially triangle data, and could be converted to X3D data as a "level 3" content from the discussion above. This data is rendered in a WebGL capable web browser using Javascript to read the XML data and make the WebGL calls. It is possible to control animations of a machining process using typical web page controls.

I see this demo example as a target to be reached, I think that X3D could provide all the functionality that this demo achieves, and more, with the advantage of being based on an open standard.

Thanks to all for the interesting discussions last night

Vince Marchetti

Vincent Marchetti
vmarchetti at ameritech.net

_______________________________________________
Cad mailing list
Cad at web3d.org
http://web3d.org/mailman/listinfo/cad_web3d.org



More information about the X3D-Public mailing list