IP Library Granted Patent US 8,700,361
Granted Patent B2
US 8,700,361 · App. 12/725,804 · Granted Apr 15, 2014

Auto-transpose replication

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,700,361
App. No.
12/725,804
Granted
Apr 15, 2014
Kind
B2
Abstract

A system and method for auto-transpose replication is provided. Auto-transpose replication may be considered the ability to automatically create copies of a given prototype model. Auto-transpose replication may include receiving a first list of data values and determining a total number of levels of the first list. Auto-transpose may also include creating a rectangularized list, where the rectangularized list is a rectangularized copy of the first list based on the determined total number of levels of the first list. Further, auto-transpose may include creating a return list, detecting an item at the deepest level of the rectangularized list, calculating an index trail of the item, rotating the values in the index trail, and storing the item into the return list according to the rotated index trail.

Claims (66)

1. A computer-implemented method for modeling an engineering or architectural design in a computer aided design (CAD) environment, the method comprising:

receiving, using a computer, a first list of data values, wherein the data values represent one or more geometric elements in the CAD environment;

determining a total number of levels of the first list using the computer;

creating, using the computer, a rectangularized list, wherein the rectangularized list is a rectangularized copy of the first list based on the determined total number of levels of the first list;

creating a return list using the computer;

detecting, using the computer, an item at the deepest level of the rectangularized list;

calculating an index trail of the item using the computer;

rotating the values in the index trail using the computer; and

storing, using the computer, the item into the return list according to the rotated index trail.

2. The computer-implemented method of claim 1 , wherein the rotating the values in the index trail further comprises: rotating the values in the index in accordance with a received starting nest level.

3. The computer-implemented method of claim 1 , wherein the method steps of calculating, rotating, and storing are performed for every item at the deepest level of the rectangularized list.

4. The computer-implemented method of claim 1 , wherein the determining a total number of levels of the list further comprises determining a total number of levels of the list in accordance with a received starting nest level and a received level count.

5. A non-transitory computer-readable medium storing computer readable program code for causing a computer to perform a method for modeling an engineering or architectural design in a computer aided design (CAD) environment, the method comprising:

receiving a property type and a value list, wherein the value list represents one or more geometric elements in the CAD environment;

calculating a first nest level from the value list;

calculating a second nest level from the value list;

calculating a starting nest level from the second nest level;

calculating a level count from the first nest level and the second nest level; and

rotating the level count number of members from the starting nest level to a topmost level and pushing down all intervening levels between them.

6. The non-transitory computer-readable medium of claim 5 , wherein the calculating the first nest level from the value list further comprises:

traversing recursively through the value list to determine a deepest nest level at which there resides an item that is compatible with the property type.

7. The non-transitory computer-readable medium of claim 5 , wherein the calculating the second nest level from the value list further comprises:

traversing recursively through the value list to determine a deepest nest level at which there resides a literal list that is compatible with the property type.

8. The non-transitory computer-readable medium of claim 5 , wherein the calculating the starting nest level from the second nest level further comprises:

adding one to the second nest level.

9. The non-transitory computer-readable medium of claim 5 , wherein the calculating the level count from the first nest level and the second nest level further comprises:

subtracting the second nest level from the first nest level.

10. The non-transitory computer-readable medium of claim 5 , further comprising:

determining the starting nest level is greater than one; and

determining the level count is greater than zero.

11. A non-transitory computer-readable medium comprising computer-executable instructions for modeling an engineering or architectural design in a computer aided design (CAD) environment, the medium comprising:

one or more instructions for receiving a first list of data values, wherein the data values represent one or more geometric elements in the CAD environment;

one or more instructions for determining a total number of levels of the first list;

one or more instructions for creating a rectangularized list, wherein the rectangularized list is a rectangularized copy of the first list based on the determined total number of levels of the first list;

one or more instructions for creating a return list;

one or more instructions for detecting an item at the deepest level of the rectangularized list;

one or more instructions for calculating an index trail of the item;

one or more instructions for rotating the values in the index trail; and

one or more instructions for storing the item into the return list according to the rotated index trail.

12. The non-transitory computer-readable medium of claim 11 , wherein the one or more instructions for calculating, rotating, and storing are performed for every item at the deepest level of the rectangularized list.

13. A parametric modeling system for modeling an engineering or architectural design in a computer aided design (CAD) environment, the system comprising:

a non-transitory storage; and

one or more processors configured to:

receive a first list of data values, wherein the data values represent one or more geometric elements in the CAD environment;

determine a total number of levels of the first list;

create a rectangularized list, wherein the rectangularized list is a rectangularized copy of the first list based on the determined total number of levels of the first list;

create a return list;

detect an item at the deepest level of the rectangularized list;

calculate an index trail of the item;

rotate the values in the index trail; and

store the item into the return list according to the rotated index trail.

14. The parametric modeling system of claim 13 , wherein the calculate, rotate, and store are performed for every item at the deepest level of the rectangularized list.

15. A parametric modeling system for modeling an engineering or architectural design in a computer aided design (CAD) environment, the system comprising:

a non-transitory computer readable medium storage to hold one or more geometric elements in the CAD environment; and

one or more processors configured to:

receive a property type and a value list, wherein the value list represents the one or more geometric elements in the CAD environment;

calculate a first nest level from the value list;

calculate a second nest level from the value list;

calculate a starting nest level from the second nest level;

calculate a level count from the first nest level and the second nest level;

rotate the level count number of members from the starting nest level to a topmost level and pushing down all intervening levels between them; and

store a result of the rotate in the non-transitory computer readable medium storage.

16. The parametric modeling system of claim 15 , wherein the calculate a first nest level from the value list further comprises:

traversing recursively through the value list to determine a deepest nest level at which there resides an item that is compatible with the property type.

17. The parametric modeling system of claim 15 , wherein the calculate a second nest level from the value list further comprises:

traversing recursively through the value list to determine a deepest nest level at which there resides a literal list that is compatible with the property type.

Assignments (7)
SECURITY INTEREST Recorded Oct 25, 2024
From: BENTLEY SYSTEMS, INCORPORATED
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 069268/0042 →
SECURITY INTEREST Recorded Dec 21, 2017
From: BENTLEY SYSTEMS INCORPORATED
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 044938/0083 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY FROM BENTLEY SYSTEM, INC. TO BENTLEY SYSTEMS, INC. PREVIOUSLY RECORDED ON REEL 024204 FRAME 0103. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 12, 2014
From: BROWN, JEFFREY
To: BENTLEY SYSTEMS, INC.
Reel/Frame 032437/0404 →
SECURITY AGREEMENT Recorded Mar 2, 2012
From: BENTLEY SYSTEMS, INCORPORATED
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 027794/0026 →
RELEASE OF SECURITY INTERESTS Recorded Feb 9, 2012
From: JPMORGAN CHASE BANK, N.A.
To: BENTLEY SYSTEMS, INCORPORATED
Reel/Frame 027682/0012 →
SECURITY AGREEMENT Recorded Mar 4, 2011
From: BENTLEY SYSTEMS INCORPORATED
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 025902/0806 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2010
From: BROWN, JEFFREY
To: BENTLEY SYSTEM, INC.
Reel/Frame 024204/0103 →