Constraints in constructive solid geometry

The success of solid modelling in industrial design depends on facilities for specifying and editing parameterized models of solids through user-friendly interaction with a graphical front-end. Systems based on a dual representation, which combines Constructive Solid Geometry (CSG) and Boundary representation (BRep), seem most suitable for modelling mechanical parts. Typically they accept a CSG-compatible input (Boolean combinations of solid primitives) and offer facilities for parameterizing and editing part definitions. The user need not specify the topology of the boundary, but often has to solve three-dimensional trigonometric problems to compute the parameters of rigid motions that specify the positions of primitive solids. A front-end that automatically converts graphical input into rigid motions may be easily combined with boundary-oriented input, but its integration in dual systems usually complicates the editing process and limits the possibilities of parameterizing solid definitions. This report proposes a solution based on three main ideas: (1) enhance the semantics of CSG representations with rigid motions that operate on arbitrary collections of sub-solids regardless of their position in the CSG tree, (2) store rigid motions in terms of unevaluated constraints on graphically selected boundary features, (3) evaluate constraints independently, one at a time, in user-specified order. The third idea offers an alternative to known approaches, which convert all constraints into a large system of simultaneous equations to be solved by iterative numerical methods. The resulting front-end is inadequate for solving problems where multiple constraints must be met simultaneously, but provides a powerful tool for specifying and interactively editing parameterized models of mechanical parts and mechanisms. The order in which constraints are evaluated may also be used as a language for specifying the sequence of assembly and set-up operations. An implementation under way is based on the interpreter of a new object oriented programming language, enhanced with geometric classes. Constraint evaluation results in the activation of methods which compute rigid motions from surface information. The set of available methods may be extended by the users, and methods may be integrated in higher level functions whose algorithmic nature simplifies the treatment of degenerate cases. Graphic interaction is provided through a geometrical engine which lets the user manipulate shaded images produced efficiently from the CSG representation of solid models.

[1]  David C. Gossard,et al.  Variational geometry in computer-aided design , 1981, SIGGRAPH '81.

[2]  Donald Meagher,et al.  Geometric modeling using octree encoding , 1982, Comput. Graph. Image Process..

[3]  S. A. Cameron,et al.  Determining the minimum translational distance between two convex polyhedra , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[4]  Brown,et al.  PADL-2: A Technical Summary , 1982, IEEE Computer Graphics and Applications.

[5]  Aristides A. G. Requicha,et al.  Offsetting operations in solid modelling , 1986, Comput. Aided Geom. Des..

[6]  Lalit M. Patnaik,et al.  GEODERM: Geometric shape design system using an entity-relationship model , 1986 .

[7]  Herbert B. Voelcker,et al.  An introduction to MPL - A new machining process/Programming language , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[8]  Farhad Arbab,et al.  Geometric Reasoning: A New Paradigm for Processing Geometric Information , 1985 .

[9]  Russell H. Taylor,et al.  AML/X: A Programming Language for Design and Manufacturing , 1986, FJCC.

[10]  Michael A. Wesley,et al.  AUTOPASS: An Automatic Programming System for Computer Controlled Mechanical Assembly , 1977, IBM J. Res. Dev..

[11]  Aristides A. G. Requicha,et al.  Representation of Tolerances in Solid Modeling: Issues and Alternative Approaches , 1984 .

[12]  Mantyla,et al.  GWB: A Solid Modeler with Euler Operators , 1982, IEEE Computer Graphics and Applications.

[13]  Kunwoo Lee,et al.  A hierarchical data structure for representing assemblies: part I , 1985 .

[14]  Ivan E. Sutherland,et al.  Sketchpad a Man-Machine Graphical Communication System , 1899, Outstanding Dissertations in the Computer Sciences.

[15]  Gilchrist,et al.  GMSolid: Interactive Modeling for Design and Analysis of Solids , 1982, IEEE Computer Graphics and Applications.

[16]  David D. Grossman,et al.  Procedural Representation of Three-Dimensional Objects , 1976, IBM J. Res. Dev..

[17]  Aristides A. G. Requicha,et al.  Depth-Buffering Display Techniques for Constructive Solid Geometry , 1986, IEEE Computer Graphics and Applications.

[18]  Herbert B. Voelcker,et al.  Active Zones in Constructive Solid Geometry for Redundancy and Interference Detection , 1986 .

[19]  Aristides A. G. Requicha,et al.  Algorithms for computing the volume and other integral properties of solids. I. known methods and open issues , 1982, CACM.

[20]  H. Voelcker,et al.  Solid modeling: current status and research directions , 1983, IEEE Computer Graphics and Applications.

[21]  Dwight D. Freund An Interactive Procedure for Constructing Line and Circle Tangencies , 1986, IEEE Computer Graphics and Applications.

[22]  ARISTIDES A. G. REQUICHA,et al.  Representations for Rigid Solids: Theory, Methods, and Systems , 1980, CSUR.

[23]  Donald L. Vossler Sweep-to-CSG Conversion Using Pattern Recognition Techniques , 1985, IEEE Computer Graphics and Applications.

[24]  NelsonGreg Juno, a constraint-based graphics system , 1985 .

[25]  Alan Borning,et al.  The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory , 1981, TOPL.

[26]  John W. Boyse,et al.  Solid Modeling by Computers , 1984, Springer US.

[27]  Scott D. Roth,et al.  Ray casting for modeling solids , 1982, Comput. Graph. Image Process..

[28]  Gerald Jay Sussman,et al.  CONSTRAINTS - A Language for Expressing Almost-Hierarchical Descriptions , 1980, Artif. Intell..

[29]  Kevin Weiler,et al.  Edge-Based Data Structures for Solid Modeling in Curved-Surface Environments , 1985, IEEE Computer Graphics and Applications.

[30]  Kyoji Kawagoe,et al.  A parametric man/machine interaction with semantic data , 1983, Comput. Graph..

[31]  Jaroslaw Roman Rossignac Blending and offsetting solid models (cad/cam, computational geometry, representations, curves, surfaces, approximation) , 1985 .

[32]  A. Requicha,et al.  CONSTANT-RADIUS BLENDING IN SOLID MODELLING , 1984 .

[33]  Tomás Lozano-Pérez,et al.  A Geometric Modeling System for Automated Mechanical Assembly , 1980, IBM J. Res. Dev..

[34]  Wolfgang Böhm,et al.  A survey of curve and surface methods in CAGD , 1984, Comput. Aided Geom. Des..

[35]  Robert F. Sproull,et al.  Principles in interactive computer graphics , 1973 .

[36]  Maurice V. Wilkes Constraint-type statements in programming languages , 1964, CACM.

[37]  David C Anderson Closing the gap: A workstation-mainframe connection , 1986 .

[38]  I. C. Braid,et al.  Characterizing non-ideal shapes in terms of dimensions and tolerances , 1978, SIGGRAPH.

[39]  Charles M. Eastman,et al.  Geometric Modeling Using the Euler Operators , 1979 .

[40]  Ramon F. Sarraga,et al.  Free-Form Surfaces in GMSolid: Goals and Issues , 1984 .

[41]  Aristides A. G. Requicha,et al.  Representation of geometric features, tolerances, and attributes in solid modelers based on constructive geometry , 1986, IEEE J. Robotics Autom..

[42]  William J Fitzgerald Using axial dimensions to determine the proportions of line drawings in computer graphics , 1981 .

[43]  A.A.G. Requicha,et al.  Boolean operations in solid modeling: Boundary evaluation and merging algorithms , 1985, Proceedings of the IEEE.

[44]  Ann Patricia Fothergill,et al.  Inferring the Positions of Bodies from Specified Spatial Relationships , 1974, Artif. Intell..

[45]  Kunwoo Lee,et al.  Inference of the positions of components in an assembly: part 2 , 1985 .

[46]  Charles M. Eastman The Design of Assemblies , 1981 .

[47]  Ramon F. Sarraga,et al.  Algebraic methods for intersections of quadric surfaces in GMSOLID , 1983, Comput. Vis. Graph. Image Process..

[48]  Robert B. Tilove,et al.  Set Membership Classification: A Unified Approach to Geometric Intersection Problems , 1980, IEEE Transactions on Computers.

[49]  Hiroaki Chiyokura,et al.  Design of solids with free-form surfaces , 1983, SIGGRAPH.

[50]  Greg Nelson,et al.  Juno, a constraint-based graphics system , 1985, SIGGRAPH.