[X3D-Public] [Cad] CAD examples errors; CAD working group call today

Don Brutzman brutzman at nps.edu
Thu Apr 25 15:28:15 PDT 2013


On 4/25/2013 6:18 AM, Don Brutzman wrote:
> cc: CAD
>
> we have another weekly call planned for today, 1400 pacific/1700 eastern.

attendees: Hyo, Dick, and Don

> am hoping we can review progress on X3DOM CAD component readiness and
> QuadSet/IndexedQuadSet strategies.

not addressed... Vince we miss you!

Hyo reported a new problem:  Transform validation is not accepting 
CADPart as a child.

According to the specification, that should be OK.  I will review 
DOCTYPE and Schema validation for the apparent omission error.

	32.4.4 CADPart
	CADPart : X3DGroupingNode, X3DProductStructureChildNode {
	http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/CADGeometry.html#CADPart

> would also like to review Michalis' excellent comments.
> [...]

Michalis there are a number of good fixes here to apply to our example 
scenes... I will make them as appropriate and check them into the Basic 
CAD archive.

It is further great to hear that
- the CAD spec looks good, and
- you have a new implementation for X3D CAD!

So thanks.  Steady progress today, more work to follow.  8)


> On 4/24/2013 11:33 AM, Michalis Kamburelis wrote:
>> Hi,
>>
>> I noticed a link to CAD component examples on
>> http://www.web3d.org/x3d/content/examples/Basic/CAD/ . It seems there
>> are a couple of errors in the test files, i.e. they do not conform to
>> the X3D specification (they declare in header X3D 3.0 or 3.1 spec
>> versions).
>>
>> 1. "Cad Design Pattern Examples": contains Transform node inside
>> CADFace. This is invalid, X3D spec (checked 3.1 and 3.3 versions) says
>> that CADFace can only contain (inside "shape" field) the [X3DShapeNode,
>> LOD] nodes. So, Transform is not allowed there.

fixed

>> 2. "Cad Geometry Extern Prototypes": it indirectly (though
>> http://www.web3d.org/x3d/content/examples/Basic/CAD/CadGeometryPrototypes.wrl
>>
>> ) links to
>> http://www.web3d.org/x3d/content/examples/Basic/development/MetadataPrototypes.wrl
>>
>> , and MetadataPrototypes.wrl is invalid: the manner in which it uses
>> DEF/USE of "HideWarnings" is invalid. It makes "DEF HideWarnings" inside
>> a PROTO MetadataDouble, and then inside another PROTO MetadataFloat it
>> does "USE HideWarnings".
>>
>> This is incorrect, as each PROTO has a separate namespace for DEF/USE
>> names. See X3D 3.3 spec:
>> http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/concepts.html#PROTOdefinitionsemantics
>>
>> : "Nodes given a name by a DEF construct inside the prototype may not be
>> referenced in a USE construct outside of the prototype's scope.".
>>
>> The simplest fix would be to update MetadataPrototypes.wrl to always do
>> "DEF HideWarnings ... { }" instead of trying to reUSE the HideWarnings
>> name.

sounds correct, I will investigate

>> 3. "Cad Geometry Prototypes": the example in classic encoding
>> (CadGeometryPrototypes.x3dv) has a parsing error: on line 110, within a
>> url with ecmascript: contents, the double quotes should be escaped.
>> There is:
>>
>> //colorPerVertex ignored in IndexedQuadSet, and always treated as "true"
>>
>> but it should be
>>
>> //colorPerVertex ignored in IndexedQuadSet, and always treated as
>> \"true\"
>>
>> The version in XML encoding seems Ok, so it's probably some bug in
>> (probably automatic) generation of the classic version.

sounds correct, I will investigate

>> 4. "CADPart Child Transformation Alternative A": same problem as 1.,
>> Transform node is used inside CADFace. The comments inside say
>>
>>    "Developer scene to explore Mantis Issue 528 Alternative A for
>> transformation of CADFace children: allow Transform node as child of
>> CADFace."
>>
>> and links to member-only
>> http://www.web3d.org/membership/login/mantis/view.php?id=528 . I guess
>> you guys are working on it :) Either the testcase should be fixed, or
>> the spec should be updated to allow Transform as child of CADFace in
>> next X3D version. This example declares X3D 3.1 in the header.
>>
>> I see that "CADPart Child Transformation Alternative B" and "CADPart
>> Child Transformation Alternative C" are exploring other ideas for
>> putting transformations inside.

yes this is expected to fail, i will check that the warnings are adequate

>> Everything else seems working perfectly :) I tested with view3dscene,
>> simply opening the files in XML and classic encoding with view3dscene
>> (from snapshots http://michalis.ii.uni.wroc.pl/castle-engine-snapshots/
>> , since the CAD level 2 support in view3dscene is new).
>>
>> See X3D specification "CAD geometry component": for X3D 3.1:
>> http://www.web3d.org/files/specifications/19775-1/V3.1/Part01/components/CADGeometry.html
>>
>> , for latest X3D 3.3:
>> http://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/CADGeometry.html
>>
>> . I think that my comments above are true regardless of X3D spec version.

agreed, 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