WO2006105416A2 - System and method to determine a simplified representation of a model - Google Patents

System and method to determine a simplified representation of a model Download PDF

Info

Publication number
WO2006105416A2
WO2006105416A2 PCT/US2006/011959 US2006011959W WO2006105416A2 WO 2006105416 A2 WO2006105416 A2 WO 2006105416A2 US 2006011959 W US2006011959 W US 2006011959W WO 2006105416 A2 WO2006105416 A2 WO 2006105416A2
Authority
WO
WIPO (PCT)
Prior art keywords
model
representation
computer
instructions
assembly
Prior art date
Application number
PCT/US2006/011959
Other languages
French (fr)
Other versions
WO2006105416A3 (en
Inventor
Timothy R. Anderson
Ronald T. Conerly
Aditya Gurushankar
Daniel C. Staples
Mallikarjuna Gandikota
Prasad Pringali
Original Assignee
Ugs Corp.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ugs Corp. filed Critical Ugs Corp.
Priority to JP2008504428A priority Critical patent/JP5074379B2/en
Priority to EP06740221A priority patent/EP1864259A2/en
Publication of WO2006105416A2 publication Critical patent/WO2006105416A2/en
Publication of WO2006105416A3 publication Critical patent/WO2006105416A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Definitions

  • the invention relates to a system and method of determining a
  • CAD computer aided design and drafting
  • program products provide three dimensional editing and visualization capabilities.
  • complex high-level assembly that can comprise one or more constituent 3D solid
  • a table assembly could comprise a solid shape for each leg
  • each leg is an identical design placed relative to each other
  • CPU central processing unit
  • RAM random access memory
  • manufacturing entities have a need to reduce rendering times of each of the individual sub-assemblies that comprise the higher-level assembly while
  • assembly model comprising the steps of saving a plurality of display states
  • solution further comprises the steps of rendering a model having a plurality of
  • the method further comprising the step of preparing
  • the method further comprising the step of preparing said model to adjust accuracy of a rendering operation wherein said
  • model comprising instructions for saving a plurality of display states
  • program product further comprising the instructions for displaying said plurality
  • the computer-program product further comprising the instructions for displaying said composite image comprised of
  • assembly model comprising means for rendering a model having a plurality of
  • the simplified representation comprising a reduced form of an assembly model derived from a designed form of said assembly model, having a plurality of
  • exterior faces wherein said exterior faces consist of a plurality of components
  • FIG. 1 is a block diagram of a computer environment in which the
  • FIG. 2 is an isometric representation of two gear reducer
  • FIG. 3 a logic flow diagram of the presently preferred
  • FIG. 3 is an illustration of a detailed logic flow diagram of the
  • FIG. 4 is a 3D assembly model in an axonometric orientation
  • FIG. 5 is an axonometric orientation of a gear reducer assembly in
  • FIG. 6 is an illustration of an orthogonal plane view of a shaft
  • FIG. 7 is a partial view of a gear box assembly having a hole
  • FIG. 8 is a close-up view of a bolt
  • FIG.9 is an axonometric orientation of the gear reducer assembly
  • FIG. 10 is a design representation of a CPU rack assembly and a
  • FIG. 11 is a portion of a computer room with multiple network
  • the presently preferred embodiment provides, among other things, a
  • an operating system executes on a computer, such as a general-
  • program modules include routines,
  • a device in the form of a computer 100, such as a desktop or laptop computer,
  • the computer including a plurality of related peripheral devices (not depicted).
  • the computer including a plurality of related peripheral devices (not depicted).
  • microprocessor 105 includes a microprocessor 105 and a bus 110 employed to connect and enable communication between the microprocessor 105 and a plurality of bus 110.
  • bus 110 may be any of several types of bus structures including a memory bus
  • the computer 100 typically includes a user interface adapter
  • interface devices such as a keyboard 120, mouse 125, and/or other interface
  • the bus 110 also connects a display device
  • the bus 110 also connects the microprocessor 105 to a memory
  • 145 which can include ROM, RAM, etc.
  • the computer 100 further includes a drive interface 150 that
  • the storage device 155 can include a hard disk drive, not shown, for
  • optical drive 160 or writing to a removable magnetic disk drive. Likewise the optical drive 160
  • optical disk drive for reading from or writing to a
  • removable optical disk such as a CD ROM or other optical media.
  • the computer 100 can communicate via a communications channel
  • the computer 100 may be associated with such other computers in a local area network (LAN) or a wide LAN (LAN) or a wide LAN (WAN)
  • WAN wide area network
  • modules may be located in both local and remote memory storage devices. All
  • embodiment is typically stored in the memory 145 of the computer 100.
  • such software programming code may be stored with
  • the software programming code may also be
  • non-volatile data storage device such as a hard-
  • the code may be distributed on such media, or
  • SolidEdge® by UGS Corp., that enables a user, also referred to as a designer, to
  • a first gear reducer assembly 200 is in the simplified
  • assemblies are placed in a higher level assembly and positioned relative to a
  • gear reducer assemblies (200,205) are constrained to the mounting plate, and a
  • the 3D assembly model can be created natively on the
  • 3D CAD software application or the 3D assembly model can be designed and/or
  • Step 330 By associating the simplified representation with the design representation, the
  • the display color of the 3D assembly model is adjusted such that it is uniform
  • slider value can be adjusted to exclude a hole with a size of 0.05% of the area
  • the granularity of tessellation can vary from fine to coarse, where coarse
  • tessellation forms larger polygons such as triangles, squares or hexagons, while
  • assembly model improves the quality of the analysis by ignoring interior faces
  • Figure 4 is a logic flow diagram of a visibility solution as
  • the visibility solution accepts as input the prepared 3D assembly model (Step 400).
  • the disclosed preferred embodiment defaults
  • the user can also define additional orientations by freely rotating the prepared
  • the user can further adjust the quality of analysis by modifying the dimensions
  • width and height of the 3D assembly model can be increased to improve
  • displayed information is identified as one color for exterior processed surfaces
  • Step 420 The presently preferred
  • embodiment employs the depth buffering feature of OpenGL to assign unique colors to differentiate the exterior surfaces from the interior surfaces.
  • OpenGL is
  • buffering is a technique to determine which primitives in a model are occluded
  • depth value is compared with the values stored in the depth
  • pixel's depth value is written to the depth buffer, and its color is written to the
  • the depth buffering could occur via hardware instead of
  • rendered image contains colored pixels that can be decoded and mapped back
  • speckle anomalies by applying a common speckle removal tool, e.g., a
  • the speckle removal filter prevents speckles from
  • the visibility solution extracts the rasterized surfaces (Step 430)
  • Step 435 merges the resulting surfaces (Step 435) with a plurality of visibility
  • Step 440 If the user requires multiple orientations to distinguish
  • Step 450
  • the user determines to ignore a small hole 700 and a plurality
  • the presently preferred embodiment also provides the user the ability to cancel and review or modify the visibility solution when appropriate.
  • Figure 8 is a close-up view of a bolt and shows the exterior faces
  • bolt face 800 as being interior, when in fact the bolt face 800 is exterior to the
  • gear reducer assembly 500 by use of a mouse click or other known selection
  • Figure 9 illustrates an axonometric orientation of the gear reducer
  • the network communications system 1000 can then be multiplied and
  • An apparatus of the presently preferred embodiment may
  • programmable system including at least one programmable processor coupled to
  • data storage system at least one input device, and at least one output device.
  • the application program may be implemented in a high-level procedural or
  • the language may be a compiled or interpreted
  • a processor will receive instructions and data from a
  • Storage devices suitable for tangibly embodying computer program instructions and data include all forms of
  • nonvolatile memory including by way of example semiconductor memory
  • Direct3D library by Microsoft® could be used instead of the OpenGL library.
  • edges can be further refined using various filtering schemes known in the art.

Abstract

A system, method, and computer program for determining a simplified representation of an assembly model comprising the steps of saving a plurality of display states and configuration settings of an assembly model in a design representation; translating said design representation into a simplified representation by use of a visibility solution; and storing said simplified representation and said design representation in an assembly document and appropriate means and computer-readable instructions.

Description

SYSTEM AND METHOD TO DETERMINE A SIMPLIFIED REPRESENTATION OF A MODEL
Priority of Application
[Para 1 ] The present application claims priority of U.S. Provisional
Application Serial No. 60/666,973 filed March 31, 2005, which is incorporated
herein by reference.
Technical Field
[Para 2] This invention relates generally to computer graphics. More
specifically, the invention relates to a system and method of determining a
simplified representation of a CAD assembly.
Background
[Para 3] The computer has greatly affected essentially all forms of
information management, including computer aided design and drafting (CAD)
tools. Some simpler geometric modeling computer program products can only
model in two dimensions at a time, while more complex and powerful computer
program products provide three dimensional editing and visualization capabilities.
[Para 4] Three dimensional geometric modeling programs can generate a
complex high-level assembly that can comprise one or more constituent 3D solid
shapes. For example, a table assembly could comprise a solid shape for each leg
of the table, where each leg is an identical design placed relative to each other,
as well as a solid shape for a flat table top. Today, however, CAD
representations are becoming more and more complex; typically combining
numerous intricate 3D drawings to create a final product like an airplane, a car
or even a factory. Each level of abstraction requires various degree of
granularity, particularly when it comes to comparing manufacturing versus bill of
material information versus conceptual design. Likewise, when rendering a 3D
model in its entirety, a computer requires considerable resources from its central
processing unit (CPU) and/or random access memory (RAM), for example. In
the industry, it is common to spend hours to days of computing time to render a
highly complex structure.
[Para 5] The increased rendering time places a burden on computer
systems and organizations that desire rapid progression from design to
development. Therefore, when designing the 3D model of the high-level
structure, manufacturing entities have a need to reduce rendering times of each of the individual sub-assemblies that comprise the higher-level assembly while
maintaining the design integrity of the entire design concept.
[Para 6] Furthermore, users of CAD systems require various levels of
product structure where at one end there is a need for detailed design
information, and at the other end, a simplified representation is needed. That
being said, those users have to easily switch between simplified and design
representations throughout the product design process, while maintaining
constant product definition. Those same users want to balance the ability to
freely deliver to third parties a simplified representation of 3D models that does
not divulge potential intellectual property with sufficient detail to communicate
the product design.
[Para 7] There is a need for a solution that can efficiently and effectively
simplify the 3D representation of a designed product particularly at various levels
of design when various needs for detailed information is required. There is also
a need for a solution that can provide the ability for a user to deliver some level
of product detail to prospective customers and clients without unintentionally
divulging proprietary information.
Summary
[Para 8] To achieve the foregoing, and in accordance with the purpose of
the presently preferred embodiment as broadly described herein, the present
application provides a method to determine a simplified representation of an
assembly model comprising the steps of saving a plurality of display states and
configuration settings of an assembly model in a design representation;
translating said design representation into a simplified representation by use of a
visibility solution; and storing said simplified representation and said design
representation in an assembly document. The method, wherein the integrity of
the association of at least said simplified representation and said design
representation is maintained. The method, wherein said step of translating said
design representation into said simplified representation by use of said visibility
solution, further comprises the steps of rendering a model having a plurality of
parts with at least one color value encoded for an at least one corresponding
surface identity; distinguishing a plurality of exterior parts from a plurality of
interior parts based on said at least one corresponding surface identity; and
identifying a plurality of features in said model not copied into a composite
image. The method, further comprising the step of displaying said plurality of
parts from at least one orientation. The method, further comprising the step of
displaying said composite image comprised of said exterior parts and lacking
said plurality of features. The method, further comprising the step of preparing
said model to improve accuracy of a rendering operation. The method, further
comprising the step of implementing at least one filtering algorithm to adjust a
quality of analysis of said rendering. The method, further comprising the step of preparing said model to adjust accuracy of a rendering operation wherein said
accuracy is adjusted by tessellating said model. The method, wherein said step
of rendering operates to depict said model as a tessellated version of a
geometrical representation of a plurality of surfaces.
[Para 9] An advantage of the presently preferred embodiment is to provide
a computer-program product tangibly embodied in a machine readable medium
to perform a method to determine a simplified representation of an assembly
model, comprising instructions for saving a plurality of display states and
configuration settings of an assembly model in a design representation;
instructions for translating said design representation into a simplified
representation by use of a visibility solution; and instructions for storing said
simplified representation and said design representation in an assembly
document. The computer-program product, wherein the integrity of the
association of at least said simplified representation and said design
representation is maintained. The computer-program, wherein said instructions
for translating said design representation into said simplified representation by
use of said visibility solution, further comprises instructions for rendering a model
having a plurality of parts with at least one color value encoded for an at least
one corresponding surface identity; instructions for distinguishing a plurality of
exterior parts from a plurality of interior parts based on said at least one
corresponding surface identity; and instructions for identifying a plurality of
features in said model not copied into a composite image. The computer-
program product, further comprising the instructions for displaying said plurality
of parts from at least one orientation. The computer-program product, further comprising the instructions for displaying said composite image comprised of
said exterior parts and lacking said plurality of features. The computer-program
product, further comprising the instructions for preparing said model to improve
accuracy of a rendering operation. The computer-program product, further
comprising the instructions for implementing at least one filtering algorithm to
adjust a quality of analysis of said rendering. The computer-program product,
further comprising the instructions for preparing said model to adjust accuracy of
a rendering operation wherein said accuracy is adjusted by tessellating said
model. The computer-program product, wherein said instructions for rendering
operates to depict said model as a tessellated version of a geometrical
representation of a plurality of surfaces.
[Para 10] Another advantage of the presently preferred embodiment is to
provide a data processing system having at least a processor and accessible
memory to implement a method to determine a simplified representation of an
assembly model, comprising means for rendering a model having a plurality of
parts with at least one color value encoded for an at least one corresponding
surface identity; means for distinguishing a plurality of exterior parts from a
plurality of interior parts based on said at least one corresponding surface
identity; and means for identifying a plurality of features in said model not
copied into a composite image.
[Para 1 1 ] Still another advantage of the presently preferred embodiment is to
provide a simplified representation of an assembly model embodied on a
computer-readable medium on a computer in conjunction with an application,
the simplified representation comprising a reduced form of an assembly model derived from a designed form of said assembly model, having a plurality of
exterior faces, wherein said exterior faces consist of a plurality of components
from said design form; and said reduced form is associatively coupled with said
designed form, accessible from a common assembly document.
[Para 1 2] Other advantages of the presently preferred embodiment will be
set forth in part in the description and in the drawings that follow, and, in part
will be learned by practice of the invention.
[Para 1 3] The presently preferred embodiment will now be described with
reference made to the following Figures that form a part hereof. It is
understood that other embodiments may be utilized and changes may be made
without departing from the scope of the present invention.
Brief Description of the Drawings
[Para 14] A presently preferred embodiment will hereinafter be described in
conjunction with the appended drawings, wherein like designations denote like
elements, and:
[Para 1 5] FIG. 1 is a block diagram of a computer environment in which the
presently preferred embodiment may be practiced;
[Para 1 6] FIG. 2 is an isometric representation of two gear reducer
assemblies;
[Para 1 7] FIG. 3, a logic flow diagram of the presently preferred
embodiment;
[Para 1 8] FIG. 3 is an illustration of a detailed logic flow diagram of the
visibility solution algorithm in the presently preferred embodiment;
[Para 1 9] FIG. 4 is a 3D assembly model in an axonometric orientation;
[Para 20] FIG. 5 is an axonometric orientation of a gear reducer assembly in
design representation;
[Para 21 ] FIG. 6 is an illustration of an orthogonal plane view of a shaft
extended through a hole;
[Para 22] FIG. 7 is a partial view of a gear box assembly having a hole;
[Para 23] FIG. 8 is a close-up view of a bolt;
[Para 24] FIG.9 is an axonometric orientation of the gear reducer assembly
in simplified representation;
[Para 25] FIG. 10 is a design representation of a CPU rack assembly and a
network communication machine; and [Para 26] FIG. 11 is a portion of a computer room with multiple network
communication machines.
Detailed Description of the Preferred Embodiments
[Para 27] The numerous innovative teachings of the present application will
be described with particular reference to the presently preferred embodiments.
It should be understood, however, that this class of embodiments provides only
a few examples of the many advantageous uses of the innovative teachings
herein. The presently preferred embodiment provides, among other things, a
system and method of determining a simplified representation of a CAD
assembly. Now therefore, in accordance with the presently preferred
embodiment, an operating system executes on a computer, such as a general-
purpose personal computer. Figure 1 and the following discussion are intended
to provide a brief, general description of a suitable computing environment in
which the presently preferred embodiment may be implemented. Although not
required, the presently preferred embodiment will be described in the general
context of computer-executable instructions, such as program modules, being
executed by a personal computer. Generally program modules include routines,
programs, objects, components, data structures, etc., that perform particular
tasks or implementation particular abstract data types, and the presently
preferred embodiment may be performed in any of a variety of known computing
environments.
[Para 28] With reference to Figure 1, an exemplary system for implementing
the presently preferred embodiment includes a general-purpose computing
device in the form of a computer 100, such as a desktop or laptop computer,
including a plurality of related peripheral devices (not depicted). The computer
100 includes a microprocessor 105 and a bus 110 employed to connect and enable communication between the microprocessor 105 and a plurality of
components of the computer 100 in accordance with known techniques. The
bus 110 may be any of several types of bus structures including a memory bus
or memory controller, a peripheral bus, and a local bus using any of a variety of
bus architectures. The computer 100 typically includes a user interface adapter
115, which connects the microprocessor 105 via the bus 110 to one or more
interface devices, such as a keyboard 120, mouse 125, and/or other interface
devices 130, which can be any user interface device, such as a touch sensitive
screen, digitized pen entry pad, etc. The bus 110 also connects a display device
135, such as an LCD screen or monitor, to the microprocessor 105 via a display
adapter 140. The bus 110 also connects the microprocessor 105 to a memory
145, which can include ROM, RAM, etc.
[Para 29] The computer 100 further includes a drive interface 150 that
couples at least one storage device 155 and/or at least one optical drive 160 to
the bus. The storage device 155 can include a hard disk drive, not shown, for
reading and writing to a disk, a magnetic disk drive, not shown, for reading from
or writing to a removable magnetic disk drive. Likewise the optical drive 160
can include an optical disk drive, not shown, for reading from or writing to a
removable optical disk such as a CD ROM or other optical media. The
aforementioned drives and associated computer-readable media provide non¬
volatile storage of computer readable instructions, data structures, program
modules, and other data for the computer 100.
[Para 30] The computer 100 can communicate via a communications channel
165 with other computers or networks of computers. The computer 100 may be associated with such other computers in a local area network (LAN) or a wide
area network (WAN), or it can be a client in a client/server arrangement with
another computer, etc. Furthermore, the presently preferred embodiment may
also be practiced in distributed computing environments where tasks are
performed by remote processing devices that are linked through a
communications network. In a distributed computing environment, program
modules may be located in both local and remote memory storage devices. All
of these configurations, as well as the appropriate communications hardware and
software, are known in the art.
[Para 31 ] Software programming code that embodies the presently preferred
embodiment is typically stored in the memory 145 of the computer 100. In the
client/server arrangement, such software programming code may be stored with
memory associated with a server. The software programming code may also be
embodied on any of a variety of non-volatile data storage device, such as a hard-
drive, a diskette or a CD-ROM. The code may be distributed on such media, or
may be distributed to users from the memory of one computer system over a
network of some type to other computer systems for use by users of such other
systems. The techniques and methods for embodying software program code on
physical media and/or distributing software code via networks are well known
and will not be further discussed herein.
[Para 32] The present application describes an innovative simplified assembly
representation solution practiced on a 3D CAD software application, such as
SolidEdge® by UGS Corp., that enables a user, also referred to as a designer, to
create a simplified representation from a design representation of a 3D assembly model. For example referring to Figure 2, an isometric representation of two
gear reducer assemblies, a first gear reducer assembly 200 is in the simplified
representation and a second gear reducer assembly 205 is in design
representation where in practice the design representations of both gear reducer
assemblies are placed in a higher level assembly and positioned relative to a
mounting plate 210. That is, faces of the two gear reducer assemblies
(200,205) are used to constrain and position in the higher level assembly that
includes the mounting plate 210. Or put another way, the bottom faces of the
gear reducer assemblies (200,205) are constrained to the mounting plate, and a
plurality of bolt holes (not depicted) are axial aligned to position the two gear
reducer assemblies (200,205) onto the mounting plate 210. The user changes
the first gear reducer assembly 200 from design representation to simplified
representation, while keeping the second gear reducer assembly 205 in design
representation view.
[Para 33] Turning to Figure 3, a logic flow diagram of the presently
preferred embodiment, the 3D assembly model can be created natively on the
3D CAD software application, or the 3D assembly model can be designed and/or
constructed by other methods commonly known in the art of 3D assembly
design. (Step 300) Next, display states and configuration settings of the
design representation are stored (Step 305) for recall following a simplified
representation mode. Following the simplified representation mode (Step 310),
the previously stored display states and configuration settings are returned for
application. (Step 325) The simplified representation is associated with the
design representation by known means in the 3D CAD industry. (Step 330) By associating the simplified representation with the design representation, the
presently preferred embodiment maintains an integrity that at a minimum
maintains design intent and at a maximum rigidly constrains the model. Both
representations are stored in a CAD assembly document (Step 335), and the
software application displays results for further application. (Step 340)
[Para 34] Next, upon beginning the simplified representation mode, the 3D
assembly model is prepared for display (Step 315) prior to beginning a visibility
solution (Step 320) and if the 3D assembly model contains simplified geometry
from a prior simplified representation operation, then the simplified geometry is
displayed along with the other components of the 3D assembly model that have
not been simplified. Simplified geometry is a generic term to identify any
part/component that has been simplified pursuant to the methods and teachings
disclosed herein. Likewise, components not shown in the design representation
view do not participate during the simplified representation mode in the creation
of the simplified representation.
[Para 35] Further to preparing the 3D assembly model for display (Step 315),
the display color of the 3D assembly model is adjusted such that it is uniform
throughout and initially characterizes all faces to be simplified as interior. In the
simplified representation mode, the user can utilize the 3D software application
to show/hide parts, activate/inactivate parts, show parts as simplified/designed,
apply configurations, or change part styles using understood techniques. It is
understood that the term "parts" refers to any structural element of the 3D
assembly model, e.g., the face of a hex bolt is a "part" or the entire hex bolt
could be a "part" as identified by the user. [Para 36] Next the user identifies which parts and/or components on the 3D
assembly model the presently preferred embodiment will ignore in the creation
of the simplified representation by using a graphic slider to ignore small parts
based on a slider value, and if desirable can manually select parts to ignore. The
slider value can be adjusted to exclude a hole with a size of 0.05% of the area
containing the surface, for example. It is understood that the percentage size
could easily be more or less than 0.05%, depending on the design intent of the
user, and that 0.05% is an arbitrary value shown for demonstrative purposes
only. Parts and components the user identifies as "ignored" are not copied into
the resulting simplified assembly representation, and those same ignored parts
and components do not participate in a visibility solution to distinguish exterior
faces from interior faces. Likewise, "small" can be hard-coded into the
application disclosed such that the user cannot modify the definition of small as
compared to the surface area of the assembly and/or component.
[Para 37] Further to the teachings discussed, the user is able to manipulate a
quality of analysis by selecting to render each surface of the 3D assembly model
as a finely tessellated depiction of a geometric representation of each surface.
The granularity of tessellation can vary from fine to coarse, where coarse
tessellation forms larger polygons such as triangles, squares or hexagons, while
fine tessellation forms smaller polygons. Tessellating and re-tessellating the 3D
assembly model improves the quality of the analysis by ignoring interior faces
that would otherwise be considered visible.
[Para 38] Next, Figure 4 is a logic flow diagram of a visibility solution as
disclosed in greater detail. The visibility solution accepts as input the prepared 3D assembly model (Step 400). The disclosed preferred embodiment defaults
to providing 24 orientations involved in refining the simplified representation
mode where those orientations are orthogonal and/or axonometric. (Step 405)
The user can also define additional orientations by freely rotating the prepared
3D assembly model or using other means known in the 3D CAD industry and
commonly known by users of 3D design applications. (Step 410) The only
limit to the number of desired orientations is the amount of time needed to
process the orientations and accumulate the results of the visibility solution.
[Para 39] Next the visibility solution applies the selected orientation. (Step
415) The user can use further known techniques to manipulate the prepared
3D assembly model to improve the quality of the rendering, for example,
optimizing zoom scale to increase model coverage, optimize depth buffer
attributes, and adjust orientation to decrease the amount of viewed surface area.
The user can further adjust the quality of analysis by modifying the dimensions
for the rendering process to affect the accuracy of the rendering. For example, a
width and height of the 3D assembly model can be increased to improve
accuracy, or the width and height can be reduced to improve speed of the
visibility solution but reduce the accuracy of the rendering.
[Para 40] Next, the resulting rendered image of the 3D assembly model
displays information that is used to determine the identity of each visible surface
of each occurrence of each component in the 3D assembly model, where the
displayed information is identified as one color for exterior processed surfaces
and another color for interior surfaces. (Step 420) The presently preferred
embodiment employs the depth buffering feature of OpenGL to assign unique colors to differentiate the exterior surfaces from the interior surfaces. OpenGL is
an open source graphics library that defines a cross-language cross-platform API
for writing applications that produce 3D and 2D computer graphics. Depth
buffering is a technique to determine which primitives in a model are occluded
by other primitives such that as each pixel in a primitive is rasterized, its distance
from the eye-point (depth value) is compared with the values stored in the depth
buffer. Accordingly, if the pixel's depth value is less than the stored value, the
pixel's depth value is written to the depth buffer, and its color is written to the
color buffer.
[Para 41 ] Put another way, the depth buffering works by associating a depth,
or distance, from the view plane with each pixel on the window so that the
distance from the view pane is computed. With depth buffering enabled, before
each pixel is drawn, a comparison is done with the depth value already stored at
the pixel. If the new pixel is closer than what's there, the new pixel's color and
depth values replace those that are currently written into the pixel. If the new
pixel's depth is greater than what's currently there, the new pixel is obscured,
and the color and depth information for the incoming pixel is discarded. In an
alternative embodiment, the depth buffering could occur via hardware instead of
the CAD software as disclosed. It is understood that any comparable graphics
library may be used, provided a feature similar to depth buffering is available.
Likewise, a separate graphics library does not have to be used, but instead can
be integral into the CAD software. Following the depth buffering, the final
rendered image contains colored pixels that can be decoded and mapped back
from the surface rendered to that location in the 3D assembly model, as orientated, with color values encoded with each surface as identified. This
results in the software application providing graphical feedback to the user by
changing all processed faces identified as exterior of the various components to
a solid color
[Para 42] The quality of the rendering is further scrutinized and controlled by
applying a plurality of filtering algorithms to the resulting image that removes
rendering artifacts common with various rendering techniques. (Step 425)
One such rendering artifact is called a speckle. The visibility solution can ignore
these speckle anomalies by applying a common speckle removal tool, e.g., a
speckle removal filter. The speckle removal filter prevents speckles from
affecting surrounding areas in the rendered image, which decreases the number
of surfaces that comprise the final rendered image.
[Para 43] Following the application of filters to remove the rendering artifacts
(Step 425), the visibility solution extracts the rasterized surfaces (Step 430)
and merges the resulting surfaces (Step 435) with a plurality of visibility
solutions. (Step 440) If the user requires multiple orientations to distinguish
the external surfaces from the internal surfaces, then the visibility solution is not
complete (Step 445) and the visibility solution returns to selecting the next
orientation. (Step 405)
[Para 44] In creating the final simplified representation of the detailed
design, the user has the ability to identify insignificant components by rotating,
zooming in/out, etc., to inspect what the visibility solution algorithm identified as
interior/exterior and re-run the algorithm to select additional exterior faces from
that specific orientation. One of the benefits of the presently preferred embodiment is the components chosen to be excluded from the final simplified
representation, like the small bolts, still participate in the visibility solution.
[Para 45] Upon completion of the model-simplified mode the simplified
representation of the assembly is created where ignored parts will not have faces
copied, interior parts/faces will not be copied, view orientations specified by the
user to add more exterior faces are remembered for later reuse, exterior faces
are copied into the assembly associatively and with their corresponding original
part face style, and only the simplified geometry will be displayed with all
components hidden. Upon return, the 3D assembly model reverts to the design
representation and obscures the simplified geometry; after which the display
state and configuration settings previously stored are reapplied. (Step 450)
[Para 46] By way of example and not limitation, the user starts with Figure
5, an axonometric orientation of a gear reducer assembly in design
representation, and determines to create a simplified representation of a gear
reducer assembly 500 by initiating the presently preferred embodiment which
causes the gear reducer assembly to become one solid color with each part
initially identified as interior as illustrated in Figure 6, an illustration of an
orthogonal plane view of a shaft extended through a hole. Prior to initiating the
visibility solution, the user determines to ignore a small hole 700 and a plurality
of small bolts 705 as illustrated in Figure 7, a partial view of the gear reducer
assembly, that will not be included in the complete simplified representation.
The presently preferred embodiment allows the user the ability to determine
when to begin the visibility solution by displaying a process button. While
processing, the presently preferred embodiment also provides the user the ability to cancel and review or modify the visibility solution when appropriate.
[Para 47] Figure 8 is a close-up view of a bolt and shows the exterior faces
as white, and the interior faces in magenta, but illustrated in with a diagonal-
line. Following the rendering (Step 420) the user views a gear reducer
assembly, while the visibility solution resolved the exterior faces, it calculated a
bolt face 800 as being interior, when in fact the bolt face 800 is exterior to the
gear reducer assembly 500. Utilizing the 3D software application, the user then
selects the bolt face 800 as a member of the exterior faces that comprise the
gear reducer assembly 500 by use of a mouse click or other known selection
ability. Figure 9 illustrates an axonometric orientation of the gear reducer
assembly in simplified representation, the user excluded the small hole 700 and
the small bolts 705 that are not present as seen at 900 and 905, respectively.
[Para 48] With the aforementioned disclosed teachings in mind, Figure 10, a
* design representation of a CPU rack assembly and a network communication
machine, and Figure 11, a portion of a computer room with multiple network
communication machines, the user utilizes the presently preferred embodiment
to place a CPU rack assembly into a top-level assembly like a network
communications system 1000. A design representation of the CPU rack
assembly 1005 is constrained within the network communications system 1000
via methods commonly understood in the art. Likewise the CPU rack assembly
can be shown with simplified parts, illustrated at 1010, and is then available for
use. The network communications system 1000 can then be multiplied and
placed in a higher-level assembly like in a computer room, generally shown at
1100. The simplified representation can occur in each sub-assembly, like the Simplified CPU rack assembly 1010, and as well as the top-level assembly, like
the network communications system 1000. All of the foregoing simplifications
benefit the higher-level assembly computer room 1100 in the manners previously
discussed.
[Para 49] The presently preferred embodiment may be implemented in digital
electronic circuitry, or in computer hardware, firmware, software, or in
combinations thereof. An apparatus of the presently preferred embodiment may
be implemented in a computer program product tangibly embodied in a
machine-readable storage device for execution by a programmable processor;
and method steps of the presently preferred embodiment may be performed by
a programmable processor executing a program of instructions to perform
functions of the presently preferred embodiment by operating on input data and
generating output.
[Para 50] The presently preferred embodiment may advantageously be
implemented in one or more computer programs that are executable on a
programmable system including at least one programmable processor coupled to
receive data and instructions from, and to transmit data and instructions to, a
data storage system, at least one input device, and at least one output device.
The application program may be implemented in a high-level procedural or
object-oriented programming language, or in assembly or machine language if
desired; and in any case, the language may be a compiled or interpreted
language.
[Para 51 ] Generally, a processor will receive instructions and data from a
read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of
nonvolatile memory, including by way of example semiconductor memory
devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks
such as internal hard disks and removable disks; magneto-optical disks; and CD-
ROM disks. Any of the foregoing may be supplemented by, or incorporated in,
specially-designed ASICs (application-specific integrated circuits).
[Para 52] A number of embodiments have been described. It will be
understood that various modifications may be made without departing from the
spirit and scope of the presently preferred embodiment, for example the
Direct3D library by Microsoft® could be used instead of the OpenGL library.
Likewise, following rendering, should poor silhouette edges occur, then those
edges can be further refined using various filtering schemes known in the art.
Therefore, other implementations are within the scope of the following claims.

Claims

We claim:
1. A method to determine a simplified representation of an assembly model
comprising the steps of:
saving a plurality of display states and configuration settings of an
assembly model in a design representation;
translating said design representation into a simplified representation by
use of a visibility solution; and
storing said simplified representation and said design representation in an
assembly document.
2. The method of Claim I1 wherein the integrity of the association of at least
said simplified representation and said design representation is
maintained.
3. The method of Claim 1, wherein said step of translating said design
representation into said simplified representation by use of said
visibility solution, further comprises the steps of:
rendering a model having a plurality of parts with at least one color value
encoded for an at least one corresponding surface identity;
distinguishing a plurality of exterior parts from a plurality of interior parts
based on said at least one corresponding surface identity;
and
identifying a plurality of features in said model not copied into a
composite image.
4. The method of Claim 3, further comprising the step of displaying said
plurality of parts from at least one orientation.
5. The method of Claim 3, further comprising the step of displaying said
composite image comprised of said exterior parts and lacking said
plurality of features.
6. The method of Claim 3, further comprising the step of preparing said
model to improve accuracy of a rendering operation.
7. The method of Claim 3, further comprising the step of implementing at
least one filtering algorithm to adjust a quality of analysis of said
rendering.
8. The method of Claim 3, further comprising the step of preparing said
model to adjust accuracy of a rendering operation wherein said
accuracy is adjusted by tessellating said model.
9. The method of Claim 3, wherein said step of rendering operates to depict
said model as a tessellated version of a geometrical representation
of a plurality of surfaces.
10. A computer-program product tangibly embodied in a machine readable
medium to perform a method to determine a simplified
representation of an assembly model, comprising:
instructions for saving a plurality of display states and configuration
settings of an assembly model in a design representation;
instructions for translating said design representation into a simplified
representation by use of a visibility solution; and
instructions for storing said simplified representation and said design
representation in an assembly document.
11. The computer-program product of Claim 10, wherein the integrity of the association of at least said simplified representation and said
design representation is maintained.
12. The computer-program product of Claim 10, wherein said instructions for
translating said design representation into said simplified
representation by use of said visibility solution, further comprises:
instructions for rendering a model having a plurality of parts with at least
one color value encoded for an at least one corresponding
surface identity;
instructions for distinguishing a plurality of exterior parts from a plurality
of interior parts based on said at least one corresponding
surface identity; and
instructions for identifying a plurality of features in said model not copied
into a composite image.
13. The computer-program product of Claim 10, further comprising the
instructions for displaying said plurality of parts from at least one
orientation.
14. The computer-program product of Claim 10, further comprising the
instructions for displaying said composite image comprised of said
exterior parts and lacking said plurality of features.
15. The computer-program product of Claim 10, further comprising the
instructions for preparing said model to improve accuracy of a
rendering operation.
16. The computer-program product of Claim 10, further comprising the
instructions for implementing at least one filtering algorithm to adjust a quality of analysis of said rendering.
17. The computer-program product of Claim 10, further comprising the
instructions for preparing said model to adjust accuracy of a
rendering operation wherein said accuracy is adjusted by
tessellating said model.
18. The computer-program product of Claim 10, wherein said instructions for
rendering operates to depict said model as a tessellated version of
a geometrical representation of a plurality of surfaces.
19. A data processing system having at least a processor and accessible
memory to implement a method to determine a simplified
representation of an assembly model, comprising:
means for rendering a model having a plurality of parts with at least one
color value encoded for an at least one corresponding
surface identity;
means for distinguishing a plurality of exterior parts from a plurality of
interior parts based on said at least one corresponding
surface identity; and
means for identifying a plurality of features in said model not copied into
a composite image.
20. A simplified representation of an assembly model embodied on a
computer-readable medium on a computer in conjunction with an
application, the simplified representation comprising:
a reduced form of an assembly model derived from a designed form of
said assembly model, having a plurality of exterior faces, wherein:
said exterior faces consist of a plurality of components from said
design form; and
said reduced form is associatively coupled with said designed
form, accessible from a common assembly
document.
PCT/US2006/011959 2005-03-31 2006-03-31 System and method to determine a simplified representation of a model WO2006105416A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008504428A JP5074379B2 (en) 2005-03-31 2006-03-31 System and method for determining a simplified representation of a model
EP06740221A EP1864259A2 (en) 2005-03-31 2006-03-31 System and method to determine a simplified representation of a model

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US66697305P 2005-03-31 2005-03-31
US60/666,973 2005-03-31
US11/278,110 US7646384B2 (en) 2005-03-31 2006-03-30 System and method to determine a simplified representation of a model
US11/278,110 2006-03-30

Publications (2)

Publication Number Publication Date
WO2006105416A2 true WO2006105416A2 (en) 2006-10-05
WO2006105416A3 WO2006105416A3 (en) 2007-04-19

Family

ID=37054177

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/011959 WO2006105416A2 (en) 2005-03-31 2006-03-31 System and method to determine a simplified representation of a model

Country Status (5)

Country Link
US (1) US7646384B2 (en)
EP (1) EP1864259A2 (en)
JP (1) JP5074379B2 (en)
KR (1) KR101263040B1 (en)
WO (1) WO2006105416A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2261827A1 (en) * 2009-06-10 2010-12-15 Dassault Systèmes Process, program and apparatus for displaying an assembly of objects of a PLM database
JP2011510398A (en) * 2008-01-17 2011-03-31 ダッソー・システムズ・ソリッドワークス・コーポレーション Reduce model size using visibility
EP2560112A3 (en) * 2011-08-15 2017-06-14 Honeywell International Inc. Method, apparatus and computer program product for simplifying a representation of a computer-aided design model

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7952576B2 (en) * 2006-12-20 2011-05-31 Canon Kabushiki Kaisha Image processing apparatus and method thereof
US8243067B2 (en) * 2008-02-21 2012-08-14 Sap America, Inc PMI data visualization
JP5473566B2 (en) * 2009-11-30 2014-04-16 キヤノン株式会社 Shape simplification device, shape simplification method and program
US8810572B2 (en) * 2011-10-31 2014-08-19 Qualcomm Incorporated Tessellation cache for object rendering
US9870444B2 (en) 2013-03-05 2018-01-16 The Boeing Company Shop order status visualization system
US9492900B2 (en) 2013-03-15 2016-11-15 The Boeing Company Condition of assembly visualization system based on build cycles
US9340304B2 (en) 2013-02-28 2016-05-17 The Boeing Company Aircraft comparison system
US10481768B2 (en) 2013-04-12 2019-11-19 The Boeing Company Nonconformance identification and visualization system and method
US10067650B2 (en) 2013-06-20 2018-09-04 The Boeing Company Aircraft comparison system with synchronized displays
US9880694B2 (en) 2013-05-09 2018-01-30 The Boeing Company Shop order status visualization system
US9182892B2 (en) 2013-02-28 2015-11-10 The Boeing Company Condition of assembly visualization system
US9292180B2 (en) 2013-02-28 2016-03-22 The Boeing Company Locator system for three-dimensional visualization
US10061481B2 (en) 2013-02-28 2018-08-28 The Boeing Company Methods and devices for visually querying an aircraft based on an area of an image
US9110560B1 (en) 2013-02-28 2015-08-18 The Boeing Company Shop order status visualization system
US9612725B1 (en) 2013-02-28 2017-04-04 The Boeing Company Nonconformance visualization system
US20140298216A1 (en) 2013-03-28 2014-10-02 The Boeing Company Visualization of an Object Using a Visual Query System
US10416857B2 (en) 2013-05-09 2019-09-17 The Boeing Company Serial number control visualization system
US10628619B2 (en) * 2013-12-16 2020-04-21 Hitachi, Ltd. Analysis mesh data generating method and analysis mesh data generating device
KR101595303B1 (en) * 2014-09-05 2016-02-19 경북대학교 산학협력단 Apparatus and method for simplifying model preserving connectivity
US10685147B2 (en) 2016-02-29 2020-06-16 The Boeing Company Non-conformance mapping and visualization
US10235493B2 (en) 2016-06-17 2019-03-19 Dassault Systemes Solidworks Corporation Simplifying a computer-aided design model while retaining references
CN111986323B (en) * 2020-08-24 2024-03-22 格兰菲智能科技有限公司 Model simplifying method
US11450077B2 (en) * 2020-11-20 2022-09-20 Nvidia Corporation Appearance-driven automatic three-dimensional modeling

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0549944A2 (en) * 1992-01-02 1993-07-07 International Business Machines Corporation Multi-resolution graphic representation for interactive visualization applications
US20030103048A1 (en) * 2001-11-30 2003-06-05 Caterpillar Inc. System and method for hidden object removal

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574835A (en) * 1993-04-06 1996-11-12 Silicon Engines, Inc. Bounding box and projections detection of hidden polygons in three-dimensional spatial databases
US6570568B1 (en) * 2000-10-10 2003-05-27 International Business Machines Corporation System and method for the coordinated simplification of surface and wire-frame descriptions of a geometric model
JP2002269160A (en) * 2001-03-14 2002-09-20 Mazda Motor Corp Method and device for extracting outer shape from three-dimensional shape data
JP4464657B2 (en) * 2002-11-12 2010-05-19 パナソニック株式会社 Curved image processing apparatus and curved image processing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0549944A2 (en) * 1992-01-02 1993-07-07 International Business Machines Corporation Multi-resolution graphic representation for interactive visualization applications
US20030103048A1 (en) * 2001-11-30 2003-06-05 Caterpillar Inc. System and method for hidden object removal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHANG E ET AL INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS: "Visibility-guided simplification" VIS 2002. IEEE VISUALIZATION 2002. PROCEEDINGS. BOSTON, MA, OCT. 27 - NOV. 1, 2002, ANNUAL IEEE CONFERENCE ON VISUALIZATION, NEW YORK, NY : IEEE, US, 27 October 2002 (2002-10-27), pages 267-274, XP010633302 ISBN: 0-7803-7498-3 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011510398A (en) * 2008-01-17 2011-03-31 ダッソー・システムズ・ソリッドワークス・コーポレーション Reduce model size using visibility
US8581902B2 (en) 2008-01-17 2013-11-12 Dassault Systems Solidworks Corporation Reducing the size of a model using visibility factors
US9153072B2 (en) 2008-01-17 2015-10-06 Dassault Systemes Solidworks Corporation Reducing the size of a model using visibility factors
EP2261827A1 (en) * 2009-06-10 2010-12-15 Dassault Systèmes Process, program and apparatus for displaying an assembly of objects of a PLM database
CN102004809A (en) * 2009-06-10 2011-04-06 达索系统公司 Process, program and apparatus for displaying an assembly of objects of a plm database
US9158865B2 (en) 2009-06-10 2015-10-13 Dassault Systemes Process, program and apparatus for displaying an assembly of objects of a PLM database
EP2560112A3 (en) * 2011-08-15 2017-06-14 Honeywell International Inc. Method, apparatus and computer program product for simplifying a representation of a computer-aided design model

Also Published As

Publication number Publication date
JP5074379B2 (en) 2012-11-14
US7646384B2 (en) 2010-01-12
KR101263040B1 (en) 2013-05-09
EP1864259A2 (en) 2007-12-12
US20060250388A1 (en) 2006-11-09
JP2008536213A (en) 2008-09-04
KR20070116839A (en) 2007-12-11
WO2006105416A3 (en) 2007-04-19

Similar Documents

Publication Publication Date Title
US7646384B2 (en) System and method to determine a simplified representation of a model
US9153072B2 (en) Reducing the size of a model using visibility factors
US9471996B2 (en) Method for creating graphical materials for universal rendering framework
US20060250421A1 (en) System and Method to Determine a Visibility Solution of a Model
Yu et al. Mesh editing with poisson-based gradient field manipulation
US8134551B2 (en) Frontend for universal rendering framework
EP3379495B1 (en) Seamless fracture in an animation production pipeline
Cignoni et al. A simple normal enhancement technique for interactive non-photorealistic renderings
Cignoni et al. MagicSphere: an insight tool for 3D data visualization
JP2002507799A (en) Probabilistic level of computer animation
US20080018665A1 (en) System and method for visualizing drawing style layer combinations
GB2472317A (en) Stroked curve rendering system
Jarabo et al. Effects of approximate filtering on the appearance of bidirectional texture functions
WO2008134147A1 (en) Edge effect
EP3355279A1 (en) Method and computer programs for identifying differences between 3-dimensional scenes
US20210287418A1 (en) Graphics processing unit render mode selection system
Sun A digital mock-up visualization system capable of processing giga-scale CAD models
US8373715B1 (en) Projection painting with arbitrary paint surfaces
Lin et al. Progressive mesh metamorphosis
Lum et al. Interactivity is the key to expressive visualization
Manson et al. Contouring discrete indicator functions
Zhang et al. Versatile 3d texture painting using imaging geometry

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
REEP Request for entry into the european phase

Ref document number: 2006740221

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006740221

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2008504428

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020077022320

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU