Constraints in constructive solid geometry

  • Authors:
  • Jaroslaw R. Rossignac

  • Affiliations:
  • Design Automation Science Project, Manufacturing Research Department, IBM Thomas J. Watson Research Center, Yorktown Heights, NY

  • Venue:
  • I3D '86 Proceedings of the 1986 workshop on Interactive 3D graphics
  • Year:
  • 1987

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.