IP Library Granted Patent US 9,679,410
Granted Patent B1
US 9,679,410 · App. 12/196,759 · Granted Jun 13, 2017

Systems and methods for parametric modeling of three dimensional objects

Inventors: Peter L. Saal (Boulder, CO); Scott E. Lininger (Boulder, CO)
Assignee: Trimble Inc.
G06T17/20G06T17/00G06T17/005G06T17/10G06T19/00
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 9,679,410
App. No.
12/196,759
Granted
Jun 13, 2017
Kind
B1
Abstract

Systems and methods described herein can efficiently define parametric models across a wide range of fields, using a library of elements and variables with standardized meanings, such that the models can be used by various people and computer systems. In one embodiment, a system for parametric modeling of a three-dimensional object has a processor running a software program operable to configure the object by defining a zone comprising a root of a tree hierarchy, the zone having a three-dimensional region defining an outer dimension of the object to be modeled; a part comprising a child of the zone, the part also having a component object to be modeled, wherein the component object is an element of the object; and a variable comprising a child of the part, wherein variable has data defining characteristics of the zone or part. A user interface can display a representation of the three-dimensional object.

Claims (32)

1. A system for parametric modeling of a three dimensional object, the system comprising:

a processor running a software program, wherein the software program is operable to configure the three-dimensional object by defining:

a zone comprising a root of a tree hierarchy, the zone further comprising a three-dimensional boxed region defining an outer dimension of the three-dimensional object to be modeled, the zone defining a size, location and rotation in space of the three-dimensional object to be modeled, and the three-dimensional boxed region defining a maximum height, a maximum length, and a maximum width of the three-dimensional object to be modeled;

a part comprising a child of the zone, the part further comprising a component object to be modeled, wherein the component object is an element of the three-dimensional object;

a variable comprising a child of the part, the variable comprising data defining characteristics of the zone or the part, wherein the variable includes a variable formula that modifies the data of the variable according to a mathematical expression, the mathematical expression containing operators that act upon dynamic values from other variables inside the tree hierarchy;

a plurality of options comprising children of the variable, wherein each of the plurality of options correspond to a specific value that is applied to the data of the variable upon one of the plurality of options being selected by an end user; and

a user interface operable by the software program for displaying a representation of the three-dimensional object, the user interface comprising three simultaneous views of the three-dimensional object including a three-dimensional view, a tree view, and a text view;

wherein the tree view displays a hierarchy between the zone, the part, and the variable;

wherein the text view displays information describing the zone, the part, and the variable.

2. The system of claim 1 , wherein the software program further defines a second zone nested within the zone.

3. The system of claim 1 , wherein the part comprises multiple variables.

4. The system of claim 1 , wherein the variable comprises a reserved variable.

5. The system of claim 4 , wherein the reserved variable comprises a variable distinguishing a length of the part.

6. The system of claim 1 , wherein the variable further comprises a name and a value, the value being configurable by a user.

7. The system of claim 1 , wherein the software program is further operable to configure the three-dimensional object by defining an array, wherein the array comprises a collection of variables contained within a part or a zone.

8. The system of claim 7 , wherein the array comprises an associative property.

9. The system of claim 7 , wherein the array comprises a linear property.

10. The system of claim 1 , wherein the software program is further operable to configure the three-dimensional object by defining an include element, the include element operable to access data across multiple parts or three-dimensional objects.

11. The system of claim 10 , wherein the software program substitutes the include element with underlying tree hierarchy data associated with the include element in the zone tree hierarchy.

12. The system of claim 1 , wherein a change to a parameter associated with the zone results in a proportional change to the part.

13. The system of claim 1 , wherein a reserved library is stored in a database functionally associated with the software program.

14. A computer-implemented method carrying out instructions on a computer processor for modeling a three-dimensional product comprising:

defining a zone, in at least one storage device accessible to the computer processor, as a root of a tree hierarchy, the zone comprising a three-dimensional boxed space defining a size, location and rotation in space of the three-dimensional object to be modeled, the three-dimensional boxed space defining a maximum height, a maximum length, and a maximum width of the three-dimensional object to be modeled;

defining a part, in at least one storage device accessible to the computer processor, as a child of the zone, the part defining a three-dimensional element of the product;

defining a variable, in at least one storage device accessible to the computer processor, as a nested child of the product or the part, the variable comprising data relating to the product or the part, wherein the variable includes a variable formula that modifies the data of the variable according to a mathematical expression, the mathematical expression containing operators that act upon dynamic values from other variables inside the tree hierarchy;

defining a plurality of options, in at least one storage device accessible to the computer processor, as children of the variable, wherein each of the plurality of options correspond to a specific value that is applied to the data of the variable upon one of the plurality of options being selected by an end user; and

modeling, on a display associated with the computer, the three-dimensional product based on the defined zone, part, and variable, wherein the modeling comprises displaying three simultaneous views of the three-dimensional object including a three-dimensional view, a tree view, and a text view;

wherein the tree view displays a hierarchy between the zone, the part, and the variable;

wherein the text view displays information describing the zone, the part, and the variable.

15. The method of claim 14 , further comprising the step of defining a library of reserved variables for use with the part.

16. The method of claim 14 , further comprising the step of defining an array as a collection of variables related to the part or the zone.

17. The method of claim 14 , further comprising the step of defining an include element, the include element operable to access data across multiple parts or three-dimensional products.

Assignments (4)
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044142/0357 →
MERGER AND CHANGE OF NAME Recorded Apr 26, 2017
From: TRIMBLE NAVIGATION LIMITED; TRIMBLE INC.
To: TRIMBLE INC.
Reel/Frame 042148/0526 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2012
From: GOOGLE, INC.
To: TRIMBLE NAVIGATION LIMITED
Reel/Frame 028435/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2008
From: SAAL, PETER L.; LININGER, SCOTT E.
To: GOOGLE INC.
Reel/Frame 021438/0910 →
Continuity (1)
Provisional Application 60957404 · Aug 22, 2007