Automatically ballooning an assembly drawing of a computer aided design
First Claim
Patent Images
1. A method for attaching balloons to anchor points. comprising:
- performing the following operations using a computing device;
receiving a set of balloons arranged along a substantially straight line;
receiving a set of anchors points positioned on either or both sides of the substantially straight line;
iterating through the balloons in the set of balloons, selecting an outermost balloon for a first iteration and progressively selecting a next adjacent balloon for each successive iteration until all balloons in the set of balloons have been iterated through. and for each balloon;
iterating through the anchor points that are not already attached to a balloon by a leader, and for each such anchor point calculating a value of an angle formed by an intersection of a line extending between the balloon and the anchor point and the substantially straight line;
comparing the calculated values for each such anchor point; and
attaching the balloon to an anchor point using a leader based on the comparison of the calculated values;
wherein upon completion of one iteration through the balloons no two leaders intersect, and wherein;
calculating the value of an angle comprises calculating a non-reflex angle formed between a segment connecting the balloon to the anchor point and a ray that originates at the balloon and extends along the straight line in a direction away from a second outermost balloon situated on the substantially straight line;
comparing the calculated values for each such anchor point comprises determining the smallest non-reflex angle; and
attaching the balloon to an anchor point based on the comparison of the calculated values comprises attaching the balloon to an anchor point corresponding to the smallest non-reflex angle.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus, including computer program products, are described for ballooning an assembly drawing of a computer aided design. In one implementation, a set of anchor points is received and a set of balloons is arranged along a polygon enclosing a region including the set of anchor points. The set of balloons is iterated through, and the balloons in the set of balloons are attached to anchor points in the set of anchor points by leaders. Upon completion of one iteration no two leaders intersect.
-
Citations
14 Claims
-
1. A method for attaching balloons to anchor points. comprising:
-
performing the following operations using a computing device; receiving a set of balloons arranged along a substantially straight line; receiving a set of anchors points positioned on either or both sides of the substantially straight line; iterating through the balloons in the set of balloons, selecting an outermost balloon for a first iteration and progressively selecting a next adjacent balloon for each successive iteration until all balloons in the set of balloons have been iterated through. and for each balloon; iterating through the anchor points that are not already attached to a balloon by a leader, and for each such anchor point calculating a value of an angle formed by an intersection of a line extending between the balloon and the anchor point and the substantially straight line; comparing the calculated values for each such anchor point; and
attaching the balloon to an anchor point using a leader based on the comparison of the calculated values;wherein upon completion of one iteration through the balloons no two leaders intersect, and wherein; calculating the value of an angle comprises calculating a non-reflex angle formed between a segment connecting the balloon to the anchor point and a ray that originates at the balloon and extends along the straight line in a direction away from a second outermost balloon situated on the substantially straight line; comparing the calculated values for each such anchor point comprises determining the smallest non-reflex angle; and attaching the balloon to an anchor point based on the comparison of the calculated values comprises attaching the balloon to an anchor point corresponding to the smallest non-reflex angle. - View Dependent Claims (5, 6, 7)
-
-
2. A method for attaching balloons to anchor points, comprising:
-
performing the following operations using a computing device; receiving a set of balloons arranged along a substantially straight line; receiving a set of anchors points positioned on either or both sides of the substantially straight line; iterating through the balloons in the set of balloons. selecting an outermost balloon for a first iteration and progressively selecting a next adjacent balloon for each successive iteration until all balloons in the set of balloons have been iterated through. and for each balloon; iterating through the anchor points that are not already attached to a balloon by a leader, and for each such anchor point calculating a value of an angle formed by an intersection of a line extending between the balloon and the anchor point and the substantially straight line; comparing the calculated values for each such anchor point; and
attaching the balloon to an anchor point using a leader based on the comparison of the calculated values;wherein upon completion of one iteration through the balloons no two leaders intersect, and wherein; calculating the value of an angle comprises calculating a reflex angle formed between a segment connecting the balloon to the anchor point and a ray that originates at the balloon and extends along the straight line in a direction away from a second outermost balloon situated on the substantially straight line; comparing the calculated values for each such anchor point comprises determining the largest reflex angle; and
attaching the balloon to an anchor point based on the comparison of the calculated values comprises attaching the balloon to an anchor point corresponding to the largest reflex angle.
-
-
3. A method for attaching balloons to anchor points. comprising:
-
performing the following operations using a computing device; receiving a set of balloons arranged along a substantially straight line; receiving a set of anchors points positioned on either or both sides of the substantially straight line; iterating through the balloons in the set of balloons. selecting an outermost balloon for a first iteration and progressively selecting a next adjacent balloon for each successive iteration until all balloons in the set of balloons have been iterated through. and for each balloon; iterating through the anchor points that are not already attached to a balloon by a leader, and for each such anchor point calculating a value of an angle formed by an intersection of a line extending between the balloon and the anchor point and the substantially straight line; comparing the calculated values for each such anchor point; and
attaching the balloon to an anchor point using a leader based on the comparison of the calculated values;wherein upon completion of one iteration through the balloons no two leaders intersect, and wherein; calculating the value of an angle comprises calculating a non-reflex angle formed between a segment connecting the balloon to the anchor point and a ray that originates at the balloon and extends along the straight line in a direction toward a second outermost balloon situated on the substantially straight line; comparing the calculated values for each such anchor point comprises determining the largest non-reflex angle; and attaching the balloon to an anchor point based on the comparison of the calculated values comprises attaching the balloon to an anchor point corresponding to the largest non-reflex angle.
-
-
4. method for attaching balloons to anchor points. comprising:
-
performing the following operations using a computing device; receiving a set of balloons arranged along a substantially straight line; receiving a set of anchors points positioned on either or both sides of the substantially straight line; iterating through the balloons in the set of balloons. selecting an outermost balloon for a first iteration and progressively selecting a next adjacent balloon for each successive iteration until all balloons in the set of balloons have been iterated through. and for each balloon; iterating through the anchor points that are not already attached to a balloon by a leader, and for each such anchor point calculating a value of an angle formed by an intersection of a line extending between the balloon and the anchor point and the substantially straight line; comparing the calculated values for each such anchor point; and
attaching the balloon to an anchor point using a leader based on the comparison of the calculated values;wherein upon completion of one iteration through the balloons no two leaders intersect, and wherein; calculating the value of an angle comprises calculating a reflex angle formed between a segment connecting the balloon to the anchor point and a ray that originates at the balloon and extends along the straight line in a direction toward a second outermost balloon situated on the substantially straight line; comparing the calculated values for each such anchor point comprises determining the smallest reflex angle; and attaching the balloon to an anchor point based on the comparison of the calculated values comprises attaching the balloon to an anchor point corresponding to the smallest reflex angle.
-
-
8. A computer program product. tangibly stored on a computer-readable medium, for attaching balloons to anchor points. comprising:
-
instructions operable to cause a programmable processor to; receive a set of balloons arranged along a substantially straight line; receive a set of anchors points positioned on either or both sides of the substantially straight line; iterate through the balloons, in the set of balloons. selecting an outermost balloon for a first iteration and progressively selecting a next adjacent balloon for each successive iteration until all balloons in the set of balloons have been iterated through, and for each balloon; iterate through the anchor points that are not already attached to a balloon by a leader, and for each such anchor point calculating a value of an angle formed by an intersection of a line extending between the balloon and the anchor point and the substantially straight line; compare the calculated values for each such anchor point; and attach the balloon to an anchor point using a leader based on the comparison of the calculated values; wherein upon completion of one iteration through the balloons no two leaders intersect, and wherein; instructions operable to calculate the value of an angle comprise instructions operable to calculate a non-reflex angle formed between a segment connecting the balloon to the anchor point and a ray that originates at the balloon and extends along the straight line in a direction away from a second outermost balloon situated on the substantially straight line; instructions operable to compare the calculated values for each such anchor point comprise instructions operable to determine the smallest non-reflex angle; and instructions operable to attach the balloon to an anchor point based on the comparison of the calculated values comprise instructions operable to attach the balloon to an anchor point corresponding to the smallest non-reflex angle.
-
-
9. A computer program product, tangibly stored on a computer-readable medium, for attaching balloons to anchor points, comprising:
-
instructions operable to cause a programmable processor to; receive a set of balloons arranged along a substantially straight line; receive a set of anchors points positioned on either or both sides of the substantially straight line; iterate through the balloons in the set of balloons. selecting an outermost balloon for a first iteration and progressively selecting a next adjacent balloon for each successive iteration until all balloons in the set of balloons have been iterated through. and for each balloon; iterate through the anchor points that are not already attached to a balloon by a leader, and for each such anchor point calculating a value of an angle formed by an intersection of a line extending between the balloon and the anchor point and the substantially straight line; compare the calculated values for each such anchor point; and attach the balloon to an anchor point using a leader based on the comparison of the calculated values; wherein upon completion of one iteration through the balloons no two leaders intersect, and wherein; instructions operable to calculate the value of an angle comprise instructions operable to calculate a reflex angle formed between a segment connecting the balloon to the anchor point and a ray that originates at the balloon and extends along the straight line in a direction away from a second outermost balloon situated on the substantially straight line; instructions operable to compare the calculated values for each such anchor point comprise instructions operable to determine the largest reflex angle; and instructions operable to attach the balloon to an anchor point based on the comparison of the calculated values comprise instructions operable to attach the balloon to an anchor point corresponding to the largest reflex angle.
-
-
10. A computer program product, tangibly stored on a computer-readable medium, for attaching balloons to anchor points, comprising:
-
instructions operable to cause a programmable processor to; receive a set of balloons arranged along a substantially straight line; receive a set of anchors points positioned on either or both sides of the substantially straight line; iterate through the balloons in the set of balloons, selecting an outermost balloon for a first iteration and progressively selecting a next adjacent balloon for each successive iteration until all balloons in the set of balloons have been iterated through, and for each balloon; iterate through the anchor points that are not already attached to a balloon by a leader, and for each such anchor point calculating a value of an angle formed by an intersection of a line extending between the balloon and the anchor point and the substantially straight line; compare the calculated values for each such anchor point; and attach the balloon to an anchor point using a leader based on the comparison of the calculated values; wherein upon completion of one iteration through the balloons no two leaders intersect, and wherein; instructions operable to calculate the value of an angle comprise instructions operable to calculate a non-reflex angle formed between a segment connecting the balloon to the anchor point and a ray that originates at the balloon and extends along the straight line in a direction toward a second outermost balloon situated on the substantially straight line; instructions operable to compare the calculated values for each such anchor point comprise instructions operable to determine the largest non-reflex angle; and instructions operable to attach the balloon to an anchor point based on the comparison of the calculated values comprise instructions operable to attach the balloon to an anchor point corresponding to the largest non-reflex angle. - View Dependent Claims (12, 13, 14)
-
-
11. A computer program product, tangibly stored on a computer-readable medium, for attaching balloons to anchor points, comprising:
-
instructions operable to cause a programmable processor to; receive a set of balloons arranged along a substantially straight line; receive a set of anchors points positioned on either or both sides of the substantially straight line; iterate through the balloons in the set of balloons. selecting an outermost balloon for a first iteration and progressively selecting a next adjacent balloon for each successive iteration until all balloons in the set of balloons have been iterated through, and for each balloon; iterate through the anchor points that are not already attached to a balloon by a leader, and for each such anchor point calculating a value of an angle formed by an intersection of a line extending between the balloon and the anchor point and the substantially straight line; compare the calculated values for each such anchor point; and attach the balloon to an anchor point using a leader based on the comparison of the calculated values; wherein upon completion of one iteration through the balloons no two leaders intersect, and wherein; instructions operable to calculate the value of an angle comprise instructions operable to calculate a reflex angle formed between a segment connecting the balloon to the anchor point and a ray that originates at the balloon and extends along the straight line in a direction toward a second outermost balloon situated on the substantially straight line; instructions operable to compare the calculated values for each such anchor point comprise instructions operable to determine the smallest reflex angle; and instructions operable to attach the balloon to an anchor point based on the comparison of the calculated values comprise instructions operable to attach the balloon to an anchor point corresponding to the smallest reflex angle.
-
Specification