SOLVING NETWORKS OF GEOMETRIC CONSTRAINTS
First Claim
1. A computer-implemented method for solving geometric constraints between geometric entities in a drawing, comprising:
- accepting a request to move a first geometric entity in a plurality of geometric entities, the first geometric entity being geometrically constrained to at least one other geometric entity in the plurality of geometric entities, and where the plurality of geometric entities are constrained by a plurality of geometric constraints including at least one one-way constraint and at least one two-way constraint;
identifying a set of affected geometric entities in the plurality of geometric entities that need to be repositioned or otherwise changed based on the request;
classifying the set of affected geometric entities and the geometric constraints into a plurality of groups;
solving the groups using a variational geometric constraint solver; and
if the geometric constraints cannot be satisfied, restricting the movement of the first geometric entity;
otherwise updating the affected geometric entities.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems, program products and program products for accepting a request to move a first geometric entity that is constrained to other geometric entities in a drawing that may contain both one-way and two-way geometric constraints. A set of affected geometric entities that need to be repositioned or otherwise changed as the result of moving the first geometric entity is identified. The affected geometric entities and the geometric constraints are classified into groups which are solved using a variational geometric constraint solver. If the geometric constraints cannot be satisfied, the movement of the first geometric entity is restricted. Otherwise the affected geometric entities are updated.
33 Citations
17 Claims
-
1. A computer-implemented method for solving geometric constraints between geometric entities in a drawing, comprising:
-
accepting a request to move a first geometric entity in a plurality of geometric entities, the first geometric entity being geometrically constrained to at least one other geometric entity in the plurality of geometric entities, and where the plurality of geometric entities are constrained by a plurality of geometric constraints including at least one one-way constraint and at least one two-way constraint; identifying a set of affected geometric entities in the plurality of geometric entities that need to be repositioned or otherwise changed based on the request; classifying the set of affected geometric entities and the geometric constraints into a plurality of groups; solving the groups using a variational geometric constraint solver; and if the geometric constraints cannot be satisfied, restricting the movement of the first geometric entity; otherwise updating the affected geometric entities. - View Dependent Claims (2, 3, 4)
-
-
5. A computer program product, encoded on a computer-readable medium, operable to cause data processing apparatus to perform operations comprising:
-
accepting a request to move a first geometric entity in a plurality of geometric entities, the first geometric entity being geometrically constrained to at least one other geometric entity in the plurality of geometric entities, and where the plurality of geometric entities are constrained by a plurality of geometric constraints including at least one one-way constraint and at least one two-way constraint; identifying a set of affected geometric entities in the plurality of geometric entities that need to be repositioned or otherwise changed based on the request; classifying the set of affected geometric entities and the geometric constraints into a plurality of groups; solving the groups using a variational geometric constraint solver; and if the geometric constraints cannot be satisfied, restricting the movement of the first geometric entity; otherwise updating the affected geometric entities. - View Dependent Claims (6, 7, 8)
-
-
9. A computer program product, encoded on a computer-readable medium, operable to cause data processing apparatus to perform operations comprising:
-
accepting first user input selecting a first and a second geometric entity in a drawing; accepting second user input specifying a geometric constraint between the first selected geometric entity and the second selected geometric entity; and accepting third user input specifying the directionality of the geometric constraint, where the directionality is one-way or two-way. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A system comprising processor electronics configured to perform operations comprising:
-
accepting a request to move a first geometric entity in a plurality of geometric entities, the first geometric entity being geometrically constrained to at least one other geometric entity in the plurality of geometric entities, and where the plurality of geometric entities are constrained by a plurality of geometric constraints including at least one one-way constraint and at least one two-way constraint; identifying a set of affected geometric entities in the plurality of geometric entities that need to be repositioned or otherwise changed based on the request; classifying the set of affected geometric entities and the geometric constraints into a plurality of groups; solving the groups using a variational geometric constraint solver; and if the geometric constraints cannot be satisfied, restricting the movement of the first geometric entity; otherwise updating the affected geometric entities. - View Dependent Claims (15, 16, 17)
-
Specification