CAD-To-X3D Conversion with Product Structure and External Geometry Referencing

CAD-To-X3D Conversion with Product Structure and External Geometry Referencing

CAD-to-X3D Conversion with product structure and external geometry referencing Hyokwang Lee PartDB Co., Ltd. and Web3D Korea Chapter [email protected] Engineering IT & VR solutions based on International Standards CATIA Hub_Assembly model Hub_AssemblyH (1) disc_with_holes(2) cap(3) sleeve_sub_assemblyH (4) gasket(5) cylinder(6) CATIA Hub Assembly (6 Files) Simple Conversion of Hub_Assembly into X3D Save as VRML/X3D http://web3d.org/x3d/content/examples/Basic/CAD/ Simple Conversion of Hub_Assembly into X3D Save as VRML/X3D Simple Conversion of Hub_Assembly into X3D Save as VRML Product Structure disappeared!! Representing a CAD assembly in X3D . Hub_Assembly represented in a single X3D file . Assembly structure : CADAssembly, CADPart . Geometry : CADFace CatiaHubAssembly.X3D Hub_AssemblyH (1) <CADAssembly name=“Hub_Assembly”> (1) T disc_with_holes(2) <CADPart name=“disc_with_holes” ...> <CADFace> ... </CADFace> cap(3) </CADPart> <CADPart name=“cap” ...> sleeve_sub_assemblyH (4) T(2) <CADFace> ... </CADFace> (3) T(4) </CADPart> T gasket(5) CAD2X3D cylinder(6) conversion <CADAssembly name=“sleeve_sub_assembly”> <CADPart name=“gasket” ...> T(6) T(5) <CADFace> ... </CADFace> </CADPart> . Transform information is applied to the leaf node <CADPart name=“cylinder” ...> which includes geometry. <CADFace> ... </CADFace> CATIA Hub Assembly ex) Tcylinder = T(1)*T(4)*T(6) </CADPart> (6 Files) </CADAssembly> </CADAssembly> Representing a CAD assembly in X3D . Hub_Assembly represented in a single X3D file . Assembly structure : CADAssembly, CADPart . Geometry : CADFace CatiaHubAssembly.X3D Hub_AssemblyH (1) <CADAssembly name=“Hub_Assembly”> (1) T disc_with_holes(2) <CADPart name=“disc_with_holes” ...> • Partial change <CADFace > ... </CADFace> cap(3) </CADPart> • Reusability <CADPart name=“cap” ...> sleeve_sub_assemblyH (4) T(2) <CADFace> ... </CADFace> (3) T(4) </CADPart> T gasket(5) CAD2X3D cylinder(6) conversion <CADAssembly name=“sleeve_sub_assembly”> <CADPart name=“gasket” ...> T(6) T(5) <CADFace> ... </CADFace> </CADPart> . Transform information is applied to the leaf node <CADPart name=“cylinder” ...> which includes geometry. <CADFace> ... </CADFace> CATIA Hub Assembly ex) Tcylinder = T(1)*T(4)*T(6) </CADPart> (6 Files) </CADAssembly> </CADAssembly> Heavyweight CAD Data • Size (CATIA) : 1,154 MB Format # of files Size(MB) • # of files : 4054 3DXML 1 136 HOOPS 1 105 VRML 1 1,136 IGES 1 1,934 STEP 1 1,287 Representing a CAD assembly in X3D . Hub_Assembly represented in multipe X3D files . An assembly structure file with transforms conserved separate . Externally referenced geometry files CatiaHubAssembly.X3D Reusable geometry files Transform <CADAssembly name=“Hub_Assembly”> CatiaHubDiscWithHoles.x3d T(1) Transform --- <CADPart name=“disc_with_holes” ...> --- <CADFace> ... </CADFace> --- </CADPart> Transform CatiaHubCap.x3d T(2) <CADPart name=“cap” ...> T(3) T(4) <CADFace> ... </CADFace> --- </CADPart> --- --- Transform <CADAssembly name=“sleeve_sub_assembly”> T(6) CatiaHubGasket.x3d T(5) Transform <CADPart name=“gasket” ...> --- --- <CADFace> ... </CADFace> --- </CADPart> Transform CatiaHubCylinder.x3d <CADPart name=“cylinder” ...> <CADFace> ... </CADFace> --- </CADPart> --- --- </CADAssembly> </CADAssembly> CatiaHubAssembly.X3D <Transfrom DEF=“T(1)”> <CADAssembly name=“Hub_Assembly”> Suggestions <Transform DEF=“T(2)”> <CADAssembly name=“disc_with_holes”> <CADPart name=“disc_with_holes” ...> <CADFace> ... </CADFace> . Conserving transform information </CADPart> separate for each assembly </CADAssembly> </Transform> . Transform parent for each CADAssembly <Transform DEF=“T(3)”> . A dummy CADAssembly for a CADPart <CADAssembly name=“cap”> <CADPart name=“cap” ...> <CADFace> ... </CADFace> </CADPart> </CADAssembly> (1) T </Transform> <Transform DEF=“T(4)”> <CADAssembly name=“sleeve_sub_assembly”> <Transform DEF=“T(5)”> <CADAssembly name=“gasket”> T(2) (4) <CADPart name=“gasket” ...> T(3) T <CADFace> ... </CADFace> </CADPart> </CADAssembly> </Transform> T(6) T(5) <Transform DEF=“T(6)”> <CADAssembly name=“cylinder”> <CADPart name=“cylinder” ...> <CADFace> ... </CADFace> </CADPart> </CADAssembly> </Transform> </CADAssembly> </Transform> </CADAssembly> </Transform> BS Contact X3D Validation & Viewers VRML/X3D Instant Reality Octaga Player Xj3D Viewer Suggestions . External referencing of geometry files A. Prototype with Inline B. Inline CatiaHubAssembly.X3D Reusable geometry files <Transfrom DEF=“T(1)”> <CADAssembly name=“Hub_Assembly”> T(1) <Transform DEF=“T(2)”> <CADAssembly name=“disc_with_holes”> CatiaHubDiscWithHoles.x3d <CADPart name=“disc_with_holes” ...> --- <CADFace> ... </CADFace> --- (2) T </CADPart> --- (4) T(3) T </CADAssembly> </Transform> <Transform DEF=“T(3)”> (6) (5) T T <CADAssembly name=“cap”> CatiaHubCap.x3d <CADPart name=“cap” ...> --- <CADFace> ... </CADFace> --- </CADPart> --- </CADAssembly> </Transform> Suggestions . External referencing of geometry files A. Prototype with Inline B. Inline CatiaHubAssembly.X3D Reusable geometry files <ProtoDeclare name="CADGeometry"> <ProtoInterface> <Transfrom DEF=“T(1)”> <field type="MFString" accessType="inputOutput" <CADAssembly name=“Hub_Assembly”> name="url" value="" /> </ProtoInterface> <Transform DEF=“T(2)”> <ProtoBody> <CADAssembly name=“disc_with_holes”> CatiaHubDiscWithHoles.x3d <Inline> <IS> <CADPart name=“disc_with_holes” ...> --- <connect nodeField="url" protoField="url" /> <CADFace> ... </CADFace> --- --- </IS> </CADPart> </Inline> </ProtoBody> </CADAssembly> </ProtoDeclare> </Transform> Suggestions . External referencing of geometry files A. Prototype with Inline B. Inline CatiaHubAssembly.X3D Reusable geometry files <ProtoDeclare name="CADGeometry"> <ProtoInterface> <Transfrom DEF=“T(1)”> <field type="MFString" accessType="inputOutput" <CADAssembly name=“Hub_Assembly”> name="url" value="" /> </ProtoInterface> <Transform DEF=“T(2)”> <ProtoBody> <CADAssembly name=“disc_with_holes”> CatiaHubDiscWithHoles.x3d <Inline> <IS> <ProtoInstance name="CADGeometry"> --- <connect nodeField="url" protoField="url" /> <fieldValue name="url" --- value='"disc_with_holes.x3d"'/> --- </IS> </ProtoInstance> </Inline> </ProtoBody> </CADAssembly> </ProtoDeclare> </Transform> CatiaHubAssembly.X3D Reusable geometry files <ProtoDeclare name="CADGeometry"> <ProtoInterface> <Transfrom DEF=“T(1)”> <field type="MFString" accessType="inputOutput" <CADAssembly name=“Hub_Assembly”> name="url" value="" /> <Transform DEF=“T(2)”> CatiaHubDiscWithHoles.x3d </ProtoInterface> <CADAssembly name=“disc_with_holes”> <ProtoBody> <Inline> <ProtoInstance name="CADGeometry"> --- <IS> <fieldValue name="url“ --- <connect nodeField="url" protoField="url" /> value='"disc_with_holes.x3d"' /> --- </IS> </ProtoInstance> </Inline> </ProtoBody> </CADAssembly> </ProtoDeclare> </Transform> <Transform DEF=“T(3)”> <CADAssembly name=“cap”> CatiaHubCap.x3d <ProtoInstance name="CADGeometry"> --- <fieldValue name="url“ --- value='"cap.x3d"' /> --- </ProtoInstance> (1) </CADAssembly> T </Transform> <Transform DEF=“T(4)”> <CADAssembly name=“sleeve_sub_assembly”> <Transform DEF=“T(5)”> (2) <CADAssembly name=“gasket”> CatiaHubGasket.x3d T (4) T(3) T <ProtoInstance name="CADGeometry"> <fieldValue name="url“ --- --- value='"gasket.x3d"' /> </ProtoInstance> --- </CADAssembly> </Transform> T(6) T(5) <Transform DEF=“T(6)”> <CADAssembly name=“cylinder”> CatiaHubCylinder.x3d <ProtoInstance name="CADGeometry"> --- <fieldValue name="url“ --- value='"cylinder.x3d"' /> --- </ProtoInstance> </CADAssembly> </Transform> </CADAssembly> </Transform> </CADAssembly> </Transform> BS Contact X3D Validation & Viewers VRML/X3D Instant Reality Octaga Player Suggestions . External referencing of geometry files A. Prototype with Inline B. Inline CatiaHubAssemblyInline.X3D Reusable geometry files <Transfrom DEF=“T(1)”> <CADAssembly name=“Hub_Assembly”> CatiaHubDiscWithHoles.x3d <Transform DEF=“T(2)”> <CADAssembly name=“disc_with_holes”> --- --- <Inline url='"disc_with_holes.x3d"'/> --- </CADAssembly> </Transform> CatiaHubAssemblyInline.X3D Reusable geometry files <Transfrom DEF=“T(1)”> <CADAssembly name=“Hub_Assembly”> CatiaHubDiscWithHoles.x3d <Transform DEF=“T(2)”> <CADAssembly name=“disc_with_holes”> --- --- <Inline url='"disc_with_holes.x3d"'/> --- </CADAssembly> </Transform> <Transform DEF=“T(3)”> CatiaHubCap.x3d <CADAssembly name=“cap”> --- <Inline url='" cap.x3d "'/> --- --- </CADAssembly> </Transform> T(1) <Transform DEF=“T(4)”> <CADAssembly name=“sleeve_sub_assembly”> (2) <Transform DEF=“T(5)”> CatiaHubGasket.x3d T <CADAssembly name=“gasket”> T(3) T(4) --- <Inline url='" gasket.x3d "'/> --- --- </CADAssembly> </Transform> (6) (5) T T <Transform DEF=“T(6)”> CatiaHubCylinder.x3d <CADAssembly name=“cylinder”> --- <Inline url='" cylinder.x3d "'/> --- --- </CADAssembly> </Transform> </CADAssembly> </Transform> </CADAssembly> </Transform> Heavyweight CAD Data • Size (CATIA) : 1,154 MB Format # of files Size(MB) • # of files : 4054 3DXML 1 136 HOOPS 1 105 VRML 1 1,136 IGES 1 1,934 STEP 1 1,287 VRML’s 3890 491 VRML’s 3890 427 (reduced) X3D’s 3890 455 X3DB’s 3890 65 Thank you! Hyokwang Lee [email protected] http://www.partdb.com Engineering IT & VR solutions based on International Standards .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    20 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us