IP Library › Granted Patent US 8,581,902
Granted Patent B2
US 8,581,902 · App. 12/354,290 · Granted Nov 12, 2013

Reducing the size of a model using visibility factors

Inventors: Olivier Zegdoun (Tyngsborough, MA); Bruce W. Holway (Brewster, MA); Amit Mandloi (Acton, MA); Adarsh Krishnamurthy (Berkeley, CA)
Assignee: Dassault Systems SolidWorks Corporation
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,581,902
App. No.
12/354,290
Granted
Nov 12, 2013
Kind
B2
Abstract

A computer-implemented method and system reduces size of a data structure of a computer-aided design (CAD) model. Given a CAD model formed of a plurality of modeling elements, the method and system provide one or more geometric entities defining modeling elements of the CAD model. The geometric entities have corresponding graphical entities configured to display the CAD model. For each modeling element, the method and system determine visibility of the modeling element and produce a reduced data structure by storing in the structure graphic data representing the graphical entities and geometric data of only certain ones of the geometric entities determined as a function of visibility of the corresponding modeling elements.

Claims (63)

1. A computer-implemented method for reducing a size of a data structure of a computer-aided design model, the method comprising:

given a computer-aided design model comprised of a plurality of modeling elements, providing one or more geometric entities defining each of the plurality of modeling elements of the computer-aided design model, the geometric entities having corresponding graphical entities configured to display the computer-aided design model;

for each modeling element, determining visibility of the modeling element; and

producing a reduced data structure in a computer memory by storing in the reduced data structure:

i) graphic data representing the graphical entities corresponding to the geometric entities defining each of the plurality of modeling elements of the computer-aided design model; and

ii) geometric data of only certain ones of the geometric entities, each of the certain geometric entities being determined by at least one of: (a) a function of visibility of the corresponding modeling elements defined by said certain geometric entity, and (b) the certain geometric entity supporting a set of computer-aided design operations,

after said storing of the graphic data of i) and the geometric data of ii), the reduced data structure resulting from said producing, and

wherein:

the resulting reduced data structure excludes geometric data of other ones of the geometric entities corresponding to modeling elements that are unnecessary to support the set of computer-aided design operations; and

the computer-aided design model is efficiently updated by rendering entire said computer-aided design model while storing only the certain ones of the geometric entities in the resulting reduced data structure, and

wherein determining the visibility includes determining a respective visibility factor for the modeling element including:

generating viewing vectors that emanate from points that form a bounding enclosure around the computer-aided design model toward a center of the bounding enclosure; and

for each viewing vector, determining a number of pixels corresponding to the modeling elements that are visible when the modeling element is viewed in a direction of the viewing vector from a point along the viewing vector, the visibility of the modeling element being a sum of the number of pixels determined for each viewing vector.

2. The computer-implemented method of claim 1 , wherein determining the visibility factor includes considering any one or combination of size of the modeling element, level of obscurity of the modeling element, distance from the modeling element to the bounding enclosure, surface type of the modeling element, density of the modeling element, translucency of the modeling element, mass of the modeling element, whether the modeling element is a mating candidate, and whether the modeling element is a reference modeling element.

3. The computer-implemented method of claim 1 , wherein for each modeling element, said storing in the reduced data structure includes storing of the geometric data of the corresponding modeling element as a function of the visibility factor of said corresponding modeling element relative to a predefined threshold.

4. The computer-implemented method of claim 3 , wherein the certain ones of the geometric entities are further determined based on any one or combination of physical size of the corresponding modeling element, selection of the corresponding modeling element by a user, and modification of the predefined threshold by the user.

5. The computer-implemented method of claim 1 , wherein the certain ones of the geometric entities are further determined based on a modeling operation and visibility of each corresponding modeling element required to support the modeling operation.

6. The computer-implemented method of claim 5 , wherein the modeling operation is a mating operation and the certain ones of the geometric entities are associated with exterior faces.

7. The computer-implemented method of claim 1 , further comprising:

filtering the computer-aided design model to display only in an area, graphical entities corresponding to the certain ones of the geometric entities; and

enabling user selection of the certain ones of the geometric entities.

8. The computer-implemented method of claim 1 , wherein each modeling element is any one or combination of a face and a part.

9. A computer-aided design system to reduce a size of a data structure of a computer-aided design model, the system comprising:

a processor operatively coupled to a data storage system, the data storage system storing in the data structure, a computer-aided design model comprised of a plurality of modeling elements; and

a data storage memory operatively coupled to the processor and comprising instructions to configure the processor to:

provide one or more geometric entities defining each of the plurality of modeling elements of the computer-aided design model, the geometric entities having corresponding graphical entities configured to display the computer-aided design model; and

determine for each modeling element a visibility factor of the modeling element; and

create a reduced data structure by storing:

i) graphic data representing the graphical entities corresponding to the geometric entities defining each of the plurality of modeling elements of the computer-aided design model; and

ii) geometric data of only certain ones of the geometric entities, each of the certain geometric entities being determined by at least one of:

(a) a function of the visibility factor of the corresponding modeling elements defined by said certain geometric entity, and (b) the certain geometric entity supporting a set of computer-aided design operations,

the reduced data structure resulting after said storing of the graphic data of i) and the geometric data of ii), and

wherein:

the created reduced data structure excludes geometric data of other ones of the geometric entities corresponding to modeling elements that are unnecessary to support the set of computer-aided design operations; and

the computer-aided design model is efficiently updated by rendering entire said computer-aided design model while storing only the certain ones of the geometric entities in the reduced data structure, and

wherein the visibility factor of the modeling element is determined by:

generating viewing vectors that emanate from points that form a bounding enclosure around the computer-aided design model toward a center of the bounding enclosure; and

for each viewing vector, determining a number of pixels corresponding to the modeling elements that are visible when the modeling element is viewed in a direction of the viewing vector from a point along the viewing vector, the visibility of the modeling element being a sum of the number of pixels determined for each viewing vector.

10. The computer-aided design system of claim 9 , wherein the visibility factor of the modeling element is calculated by viewing the modeling element from a plurality of directions.

11. The computer-aided design system of claim 10 , wherein the visibility factor also depends on any one or combination of size of the modeling element, level of obscurity of the modeling element, surface type of the modeling element, density of the modeling element, translucency of the modeling element, mass of the modeling element, and whether the modeling element is a mating candidate.

12. The computer-aided design system of claim 9 , further comprising instructions to configure the processor to:

filter the computer-aided design model to display only in an area, graphical entities corresponding to the certain ones of the geometric entities; and

enable user selection of the certain ones of the geometric entities.

13. The computer-aided design system of claim 12 , further comprising instructions to configure the processor to display graphical entities in a manner that contrasts the graphical entities corresponding to the certain ones of the geometric entities.

14. The computer-aided design system of claim 12 , further comprising instructions to configure the processor to one of transparently display and remove display of the graphical entities corresponding to the certain ones of the geometric entities.

15. The computer-aided design system of claim 9 , wherein the modeling element is any one or combination of face and a part.

16. A non-transitory computer-readable data storage medium comprising:

executable programming instructions stored on the non-transitory computer-readable data storage medium, said instructions for causing a computer to:

given a computer-aided design model comprised of a plurality of modeling elements, provide one or more geometric entities defining each of the plurality of modeling elements of the computer-aided design model, the geometric entities having corresponding graphical entities configured to display the computer-aided design model;

for each modeling element, determine a visibility factor of the modeling element; and

produce a reduced data structure by storing in the reduced data structure:

i) graphic data representing the graphical entities corresponding to the geometric entities defining each of the plurality of modeling elements of the computer-aided design model; and

ii) geometric data of only certain ones of the geometric entities, each of the certain geometric entities being determined by at least one of:

(a) a function of visibility of the corresponding modeling elements defined by said certain geometric entity, and (b) the certain geometric entity supporting a set of computer-aided design operations,

the reduced data structure resulting from said storing of the graphic data of i) and the geometric data of ii), and

wherein:

excluded from the produced reduced data structure are geometric data of other ones of the geometric entities corresponding to modeling elements that are unnecessary to support the set of computer-aided design operations; and

wherein the computer-aided design model is efficiently updated by rendering entire said computer-aided design model while storing only the certain geometric entities in the reduced data structure, and

wherein the visibility factor of the modeling element is determined by:

generating viewing vectors that emanate from points that form a bounding enclosure around the computer-aided design model toward a center of the bounding enclosure; and

for each viewing vector, determining a number of pixels corresponding to the modeling elements that are visible when the modeling element is viewed in a direction of the viewing vector from a point along the viewing vector, the visibility of the modeling element being a sum of the number of pixels determined for each viewing vector.

17. The non-transitory computer-readable data storage medium of claim 16 , further comprising instructions for causing a computer to display graphical entities in a manner that contrasts the graphical entities corresponding to the certain ones of the geometric entities.

18. The non-transitory computer-readable data storage medium of claim 16 , further comprising instructions to configure the processor to one of transparently display and remove display of the graphical entities corresponding to the certain ones of the geometric entities.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2009
From: ZEGDOUN, OLIVIER; KRISHNAMURTHY, ADARSH; HOLWAY, BRUCE W.; MANDLOI, AMIT
To: DASSAULT SYSTEMES SOLIDWORKS CORPORATION
Reel/Frame 022301/0212 →
Continuity (2)
Provisional Application 61021775 · Jan 17, 2008
Related Publication 20090187385A1 · Jul 23, 2009