0
Research Papers

# Geometric Constraint Solving With Solution Selectors

[+] Author and Article Information
Bernhard Bettig

Department of Mechanical Engineering,
West Virginia University Institute of Technology,
Montgomery, WV 25136
e-mail: bpbettig@mail.wvu.edu

Vaibhav Kale

Mechanical Engineering-Engineering Mechanics Department,
Michigan Technological University,
Houghton, MI 49931
e-mail: vskale@mtu.edu

For a curve C(u), the forward direction for any point on the curve is the direction in which u is increasing (i.e., forward direction is given by the vector $(∂C(u))/∂u$). For a surface S(u, v), the front direction of any point on the surface is given by the direction of the vector $(∂S(u,v))/∂u×(∂S(u,v))/∂v$.

1Corresponding author.

Contributed by the Computers and Information Division of ASME for publication in the JOURNAL OF COMPUTING AND INFORMATION SCIENCE IN ENGINEERING. Manuscript received December 21, 2011; final manuscript received August 4, 2012; published online September 18, 2012. Assoc. Editor: Xiaoping Qian.

J. Comput. Inf. Sci. Eng 12(4), 041002 (Sep 18, 2012) (12 pages) doi:10.1115/1.4007403 History: Received December 21, 2011; Revised August 04, 2012

## Abstract

Current parametric CAD systems are based on solving equality types of constraints between geometric objects and parameters. This includes algebraic equations constraining the values of variables, and geometric constraints constraining the positions of geometric objects. However, to truly represent design intent, next-generation CAD systems must also allow users to input other types of constraints such as inequality constraints. Inequality constraints are expressed as inequality expressions on variables, or as geometric constraints that force geometric objects to be on specific sides or have specific orientations with respect to other objects. The research presented here investigates whether the frontier algorithm can be extended to solve geometry positioning problems involving systems of equality- and inequality-based declarations in which the inequality-based declarations are used as solution selectors to choose from multiple solutions inherently arising when solving these systems. It is found that these systems can be decomposed by the frontier algorithm in a manner similar to purely equality-based constraint systems, however they require tracking and iterating through multiple solutions and in many cases may require backtracking through the solution sequence. The computational complexity of the new algorithm is found to be the same as the frontier algorithm in the planning phase and linear in the execution phase with respect to the size of the problem but exponential with respect to the distance of solution selection steps from the satisfaction steps they control.

<>
Topics: Algorithms

## References

Bettig, B., and Shah, J., 2003, “Solution Selectors: A User-Oriented Answer to the Multiple Solution Problem in Constraint Solving,” Trans. ASME J. Mech. Des., 125(3), pp. 443–451.
Hoffman, C. M., Lomonosov, A., and Sitharam, M., 2001, “Decomposition Plans for Geometric Constraint Systems, Part I: Performance Measures for CAD,” J. Symb. Comput., 31(4), pp. 367–408.
Hoffmann, C. M., Sitharam, M., and Yuan, B., 2004, “Making Constraint Solvers More Usable: Overconstraint Problem,” Comput.-Aided Des., 36(4), pp. 377–399.
Bettig, B., 2011, “MAE455: Computer Aided Design and Drafting Course Notes,”
Hoffmann, C. M., and Joan-Arinyo, R., 2005, “A Brief on Constraint Solving,” Comput.-Aided Des. Appl., 2(5), pp. 655–663.
Fudos, I., 1995, “Constraint Solving for Computer Aided Design,” Ph.D. thesis, Purdue University, West Lafayette, IN.
Hsu, C., 1996, “Graph-Based Approach for Solving Geometric Constraint Problems,” Ph.D. thesis, Department of Computer Science, University of Utah, Salt Lake City, UT.
Lomonosov, A., 2004, “Graph and Combinatorial Algorithms for Geometric Constraint Solving,” Doctoral Dissertation, University of Florida, Gainesville, FL.
van Emmerik, M., 1991, “Interactive Design of 3D Models With Geometric Constraints,” Visual Comput., 7(5), pp. 309–325.
Solano, L., and Brunet, P., 1993, “A System for Constructive Constraint-Based Modeling,” Modeling in Computer Graphics Methods and Applications, B.Falcidieno and T.Kunii, eds., Springer Verlag, New York, NY, pp. 61–83.
Kramer, G. A., 1992, Solving Geometric Constraint Systems: A Case Study in Kinematics, MIT Press, Cambridge, MA.
Fudos, I., and Hoffmann, C. M., 1996, “Correctness Proof of a Geometric Constraint Solver,” Int. J. Comput. Geom. Appl., 6(4), pp. 405–420.
Fudos, I., and Hoffmann, C. M., 1997, “A Graph-Constructive Approach to Solving Systems of Geometric Constraints,” ACM Trans. Graphics, 16(2), pp. 179–216.
Aldefeld, B., 1988, “Variation of Geometrics Based on a Geometric-Reasoning Method,” Comput.-Aided Des., 20(3), pp. 117–126.
Shimizu, S., Inoue, K., and Numao, M., 1991, “An ATMS-Based Geometric Constraint Solver for 3D CAD,” Tools for Artificial Intelligence, TAI'91, Third International Conference on, pp. 282–290.
Suzuki, H., Ando, H., and Kimura, F., 1990, “Geometric Constraints and Reasoning for Geometrical CAD Systems,” Comput. Graph., 14(2), pp. 211–224.
Buchanan, S. A., and de Pennington, A., 1993, “Constraint Definition System: A Computer-Algebra Based Approach to Solving Geometric-Constraint Problems,” Comput.-Aided Des., 25(12), pp. 741–750.
Bouma, W., Fudos, I., Hoffmann, C., Cai, J., and Paige, R., 1995, “Geometric Constraint Solver,” Comput.-Aided Des., 27(6), pp. 487–501.
Sohrt, W., and Brüderlin, B. D., 1991, “Interaction With Constraints in 3D Modeling,” Proceedings of the First ACM Symposium on Solid Modeling Foundations and CAD/CAM Applications, pp. 387–396.
van der Meiden, H. A., and Bronsvoort, W. F., 2005, “An Efficient Method to Determine the Intended Solution for a System of Geometric Constraints,” Int. J. Comput. Geom. Appl., 15(3), pp. 279–298.
Joan-Arinyo, R., Luzón, M. V., and Soto, A., 2003, “Genetic Algorithms for Root Multiselection in Constructive Geometric Constraint Solving,” Comput. Graphics, 27(1), pp. 51–60.
Durand, C., and Hoffmann, C. M., 2000, “A Systematic Framework for Solving Geometric Constraints Analytically,” J. Symb. Comput., 30(5), pp. 493–519.
Essert-Villard, C., Schreck, P., and Dufourd, J. F., 2000, “Sketch-Based Pruning of a Solution Space Within a Formal Geometric Constraint Solver,” Artif. Intell., 124(1), pp. 139–159.
Essert-Villard, C., 2002, “Helping the Designer in Solution Selection: Applications in CAD,” Proceedings of the International Conference on Computational Science-Part II, pp. 151–160.
Sitharam, M., Sitharam, M., Arbree, A., Zhou, Y., and Kohareswaran, N., 2006, “Solution Space Navigation for Geometric Constraint Systems,” ACM Trans. Graphics, 25(2), pp. 194–213.
Hoffman, C. M., Lomonosov, A., and Sitharam, M., 2001, “Decomposition Plans for Geometric Constraint Problems, Part II: New Algorithms,” J. Symb. Comput., 31(4), pp. 409–427.
Chaubal, S., “Implementation of Modified Frontier Algorithm for Constraint Solving,” Masters Thesis, Michigan Technological University, Houghton, MI.
Complexity, Big-O Notation, 2007,
Hoffmann, C. M., Lomonosov, A., and Sitharam, M., 1997, “Finding Solvable Subsets of Constraint Graphs,” Proceedings Principles and Practice of Constraint Programming-CP97: Third International Conference, CP'97, Linz, Austria, Oct. 29–Nov. 1.
Astrachan, O. L., 2003, Big-Oh for Recursive Functions: Recurrence Relations, Duke University, Durham, NC,
Bettig, B., and Bapat, V., 2006, “Integrating Multiple Information Representations in a Single CAD/CAM/CAE Environment,” Eng. Comput.,. 22(1), pp. 11–23.
Bettig, B., and Shah, J., 1999, “An Object-Oriented Program Shell for Integrating CAD Software Tools,” Adv. Eng. Software, 30(8), pp. 529–541.
Bettig, B. P., and Han, R. P. S, 1996, “An Object-Oriented Framework for Interactive Numerical Analysis in a Graphical User Interface Environment,” Int. J. Numer. Methods Eng., 39(17), pp. 2945–2971.

## Figures

Fig. 1

A multiple solution problem that cost a designer much aggravation [1]

Fig. 2

(a) A geometric constraint problem and (b) its constraint graph [3]

Fig. 3

(a) Initial subsystem identified and (b) final cluster [27]

Fig. 4

(a) Constrained geometry and (b) two possible solutions

Fig. 5

Constraint graph for problem from Fig. 4

Fig. 6

Step by step operation shown in constraint graphs

Fig. 7

Parallel lines example

Fig. 8

The windows implementation

Fig. 9

Representation and solving with two different design intents (Note change in step across figures): (a) keep circles to left of vertical line and (b) keep circles on same side as step

Fig. 10

Execution time for backtracking algorithm for problem of Fig. 9

Fig. 11

A problem with increasing d

Fig. 12

Execution time for backtracking algorithm for problem of Fig. 11

Fig. 13

Increasing d values estimates for problem of Fig. 11

Fig. 14

A more realistic example with automatically generated constraints (not shown)

## Errata

Some tools below are only available to our subscribers or users with an online account.

### Related Content

Customize your page view by dragging and repositioning the boxes below.

Related Journal Articles
Related Proceedings Articles
Related eBook Content
Topic Collections