Macro-Parametrics Approach for CAD Translation to X3D Yuna Kang, Pranveer Singh Rathore, Soonhung Han iCAD Lab KAIST http://icad.kaist.ac.kr Contents • • • • • Background Macro-Parametrics Approach (MPA) X3D Translator Experiments Conclusion 2 CAD Modeling Approach Protrusion Extrude Operation or feature Protrusion Extrude Protrusion Extrude Procedural model Protrusion Cut Protrusion Cut Explicit model (B-rep) Boundary evaluation Protrusion Cut 3 Modeling Approaches Explicit modeling Procedural modeling Representation B-rep The sequence of operations (features) used in constructing the model Access to geometric information Easy Difficult Editability Difficult Easy Purpose Engineering analysis, visualization Engineering design change, design optimization • Commercial CAD systems support a mixture of two modeling approaches 4 Example: As-Is Intelligent Model (Procedural Model) Dumb Model (B-rep Model) T W • T=4.1*W Current STEP File Lost of design intents (feature, constraints, parametric information) * From slide file, PDES, Inc 5 Example: To-Be Intelligent Model Intelligent Model (Procedural Model) (Procedural Model) T T W • T=4.1*W Feature and Parametric Information W T=4.1*W Final goal – Feature-based or history-based exchange * From slide file, PDES, Inc 6 Macro-Parametrics Approach(MPA) • MPA is a methodology of exchange of CAD model data between CAD systems using macro file • Macro file contains the modeling operation history of each commercial CAD system • http://www.macro-parametrics.org Pro/E CATIA UG common set Neutral Macro File Inventor SolidWorks 7 XML Macro File CAD model XML macro file 8 Implementation Team at KAIST 3ds Max - UG H. Lee I. Kim UG Macro D. Kim Pro/E S. Lee SKETCH - Post Abaqus I. Song M A CATIA H. Cho TransCAD S. Shin J. Li M A A A M Inventor H. Kim Persistent Naming (B.C. I. Song Kim) Microstation J. Hwang A RapidForm G. Cho A Tribon/PDMS M M AVEVA J. Li SolidWorks X3D P. Singh Y. Kang M 9 CAD Modeling & Exchange Polygonal Representation (Mesh) Explicit model Final shape X3D Others Features MPA Procedural model Procedure Modeling Commands Constraints 10 Mesh Processing Pipeline Facet High Resolution Mesh Multi-Resolution Mesh • Mesh Processing Pipeline modified from Mario Botsch(2006)* Phase 1. Export Facet data from ACIS kernel Phase 2. Get the high resolution mesh using TetGen Phase 3. Reduce mesh for getting multiresolution using MeshLab * Mario Botsch, Mark Pauly, Christian Rossl, Stephan Bischoff, Leif Kobbelt. “Geometric Modeling Based on Triangle Meshes”, EUROGRAPHICS 2006 Tutorials, Vienna, Austria, 2006. 11 X3D Translation Scenario DT: Delaunay Triangulated 12 Test Cases Set I (KAIST) K1: L-Block K5: Engine Air-Filter Housing K2: Y-Model K3: Gas Spring K6: Pneumatics Cylinder K4: Linear Sensor K7: Chisel 13 Test Cases Set II (ACIS models with complex surfaces) 14 Experiments 15 Test Case : Y-model (KAIST) Y-model (KAIST) after (a) Phase I (b) Phase II (c), (d), (e), (f) Phase III 16 Test Case : Bracket (ACIS model) Bracket (ACIS) after (a) Phase I (b) Phase II (c), (d), (e), (f) Phase III 17 Test Cases Set I (KAIST) High Resolution models after Phase II 18 Test Cases Set II (ACIS models with complex surfaces) High Resolution models after Phase II 19 Conclusion • CAD translation to X3D using Macro-Parametric Approach • The CAD models of several commercial CAD systems can be transfer to X3D • If X3D can contain history information in the future, it is possible to translate CAD to X3D with history information also, using Macro-Parametrics Approach 20 Resources for further Information • • • • www.macro-parametrics.org www.tetgen.berlios.de www.meshlab.org W3C member resources on www.web3d.org – “Members only Wiki” X3D CAD Working Group – “Documents” CAD Macro 21 Thank You 22 References 1. 2. 3. 4. 5. 6. 7. 8. 9. Guk-Heon Choi, Duhwan Mun, Soonhung Han. Exchange of CAD Part Models Based on the Macro-Parametric Approach. International Journal of CAD/CAM, Vol. 2, No. 1, pp. 13~21, 2002. P.Cignoni, C. Montani and R. Scopigno. A Comparison of Mesh Simplification Algorithms. Computer & Graphics, Vol. 22, No. 1, pp. 37-54, 1998. L. Kobbelt, S. Campagna, H.P. Siedel. A General Framework for Mesh Decimation. Computer Science Department, University of Erlangen-Nurnberg. William J. Schroeder et al, Kok Lim et al. Decimation of Triangle Meshes & Model Simplification Using Vertex-Clustering. J.Y.H. Fuha, W.D. Lib. Advances in collaborative CAD: the-state-of-the art. www.macro-parametrics.org www.tetgen.berlios.de www.meshlab.org ACIS Models from: http://www.opencascade.org/showroom/shapegallery/gal5/ 23 References 10. Steven J. Owen. “A Survey of Unstructured Mesh Generation Technology”. ANSYS Inc., Canonsburg, PA. 11. Jonathan Richard Shewchuk. “Triangle: Engineering a 2D Quality Mesh Generator and Delaunay Triangulator”. School of Computer Science, Carnegie Mellon University. 12. Steven J. Owen, David R. White, Timothy J. Tautges. “FACET-BASED SURFACES FOR 3D MESH GENERATION”. 13. A. Ciampalini, P. Cignoni, C. Montani, R. Scopigno. Multiresolution decimation based on global error. The Visual Computer (1997) 14. Leila De Floriani and Paola Magillo. Multiresolution Mesh Representation: Models and Data Structures. 15. P. Alliez, G. Ucelli, C. Gotsman, and M. Attene. Recent advances in remeshing of surfaces. State-of-the-art report, 2005. 24 Appendix 25 Neutral Modeling Command ENTITY SOLID_Create_Protrusion_Extrude; result_object_name : STRING; profile_sketch : STRING; flip : BOOLEAN; start_condition : end_type; start_depth : length_measure; end_condition : end_type; end_depth : length_measure; END_ENTITY; start_condition start_depth profile_sketch end_condition end_depth 26 Classification of Neutral Modeling Commands No. of CC No. of NCC Sum Sketch commands 30 27 57 Surface commands 17 6 23 Solid commands 22 18 40 Constraint commands 21 3 24 90 54 144 CC: Core commands NCC: Non-core commands 27 XML Schema Neutral macro schema XML macro schema ENTITY SOLID_Create_Protrusion_Extrude; result_object_name : STRING; profile_sketch : STRING; flip : BOOLEAN; start_condition : end_type; start_depth : length_measure; end_condition : end_type; end_depth : length_measure; END_ENTITY; 28 L-Block (K1) Neutral XML X3D 29 Y-model (K2) Neutral XML X3D 30 Gas Spring (K3) Neutral XML X3D 31 Linear Sensor (K4) Neutral XML X3D 32 Engine Air-Filter Housing (K5) X3D Neutral XML 33 Effect of Normal Tolerance on Faceting NT = 5 NT = 10 NT = 20 NT = 40 34