WO2006105505A2 - System and method to determine a visibility solution of a model - Google Patents
System and method to determine a visibility solution of a model Download PDFInfo
- Publication number
- WO2006105505A2 WO2006105505A2 PCT/US2006/012377 US2006012377W WO2006105505A2 WO 2006105505 A2 WO2006105505 A2 WO 2006105505A2 US 2006012377 W US2006012377 W US 2006012377W WO 2006105505 A2 WO2006105505 A2 WO 2006105505A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- rendering
- computer
- parts
- corresponding surface
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating three-dimensional [3D] models or images for computer graphics
- G06T19/20—Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2012—Colour 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
- invention provides a method to determine a visibility solution of a model
- composite image comprised of said exterior parts and lacking said plurality of
- the method further comprising the step of preparing said model to
- the method further comprising the step of preparing
- said model to adjust accuracy of a rendering operation wherein said accuracy is
- the computer-program product further comprising the
- the computer-program product further comprising the instructions for displaying
- said composite image comprised of said exterior parts and lacking said plurality
- the computer-program product further comprising the instructions
- 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
- said instructions for rendering operates to depict said model as a tessellated
- operation encodes a plurality of parts with at least one color value to at least one
- the product comprising a rendering operation that receives a prepared model
- said preparation adjusts accuracy of said rendering operation; at least
- a further advantage of the presently preferred embodiment is a
- the visibility solution comprising a
- FIG. 1 is a block diagram of a computer environment in which the
- FIG. 2 is a logic flow diagram for a visibility solution in the
- FIG. 3 is an illustration of a detailed logic flow diagram of the
- FIG. 4 is a 3D housing in an axonometric orientation
- FIG. 5 is an illustration of an orthogonal plane view of a shaft
- FIG. 6 is a design representation of a 3D assembly model in
- FIG. 7 is a 3D assembly model in axonometric orientation in one
- FIG. 8 is an illustration of an orthogonal orientation of the gear
- FIG. 8 is an illustration of a partial view of a gear reducer
- FIG. 9 is an illustration of a close-up view of a bolt, showing
- FIG. 10 is an illustration of an axonometric orientation of the gear reducer assembly in simplified representation
- FIG. 11 is an illustration of a close-up view of a gear reducer
- 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
- Figure 2 is a logic flow diagram for a visibility solution in the
- SolidEdge® by UGS Corp, whereby a user, also referred to as a designer, displays a 3D assembly model that includes at least one part, component and/or
- the 3D assembly model can be created natively on
- the 3D CAD software application can be copied into the current application.
- the 3D assembly model can be designed and/or constructed by other
- assembly model is prepared for display to improve rendering accuracy, and if the
- 3D assembly model contains simplified geometry from a prior simplified
- the user can utilize the 3D software application to
- 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 varies the quality of the analysis by ignoring interior faces that
- the preferred embodiment utilizes a visibility solution to continue the process of simplification (Step 210). Following the visibility solution, the resulting
- composite image is returned for further processing and/or integration by the
- orientations where those orientations are orthogonal and/or axonometric
- Step 305 The designer can also define additional orientations by freely
- Step 310 the industry and commonly known by users of 3D design applications.
- rendering for example, optimizing zoom scale to increase model coverage
- a width and height can be reduced to improve
- displayed information is identified as one color for exterior processed surfaces
- OpenGL is an open source graphics
- Depth buffering is a technique to
- depth value is compared with the values stored in the depth buffer.
- the pixel's depth value is less than the stored value
- depth value is written to the depth buffer, and its color is written to the color
- the depth buffering could occur via hardware instead of
- 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
- rendered image contains colored pixels that can be decoded and mapped back
- the speckle removal filter prevents speckles from affecting
- the visibility solution extracts the rasterized surfaces (Step 330) and
- the designer models a housing 400 having a shaft 405
- interior face 500 and identify the interior face 500 as exterior and/or visible.
- Figure 8 illustrates an orthogonal orientation of the
- Figure 10 is a close-up view of a bolt and shows the
- Figure 11 illustrates an axonometric orientation of the
- 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
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
A system, method, and computer program for determining a visibility solution of a model comprising 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 and appropriate means and computer-readable instructions.
Description
SYSTEM AND METHOD TO DETERMINE A VISIBILITY SOLUTION 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
visibility solution 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
invention provides a method to determine a visibility solution of a model
comprising 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] Another 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 visibility solution of a model,
comprising 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 a
data processing system having at least a processor and accessible memory to
implement a method to determine a visibility solution of a 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 a
computer-program product for determining a visibility solution of a model, the
solution comprising a rendering operation on a model, wherein said rendering
operation encodes a plurality of parts with at least one color value to at least one
corresponding surface identity; a plurality of exterior parts distinguished from a
plurality of interior parts based on said at least one corresponding surface
identity; whereby said model displays a composite image of said exterior parts.
[Para 1 2] And yet another advantage of the presently preferred embodiment
is a computer-program product for determining a visibility solution of a model,
the product comprising a rendering operation that receives a prepared model,
wherein said preparation adjusts accuracy of said rendering operation; at least
one filtering algorithm to adjust a quality of analysis following said rendering
operation; whereby said model is a tessellated version of a geometric
representation of a plurality of surfaces.
[Para 1 3] A further advantage of the presently preferred embodiment is a
visibility solution of a model embodied on a computer-readable medium on a
computer in conjunction with a application, the visibility solution comprising a
reduced form of said model derived from a designed form of said model, having
a plurality of exterior faces, wherein said exterior faces consist of a plurality of
components from said design form.
[Para 14] And a further advantage of the presently preferred embodiment is
a method to determine a visibility solution of a model comprising the steps of
implementing at least one filtering algorithm to adjust a quality of analysis of
said rendering; preparing said model to adjust accuracy of a rendering operation
wherein said accuracy is adjusted by tessellating said model; rendering a model
having a plurality of parts with at least one color value encoded for an at least
one corresponding surface identity, operating to depict said model as a
tessellated version of a geometrical representation of a plurality of surfaces;
distinguishing a plurality of exterior parts from a plurality of interior parts based
on said at least one corresponding surface identity; identifying a plurality of
features in said model not copied into a composite image; displaying said
plurality of parts from at least one orientation; and displaying said composite
image comprised of said exterior parts and lacking said plurality of features.
[Para 1 5] 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 16] 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 1 7] A presently preferred embodiment will hereinafter be described in
conjunction with the appended drawings, wherein like designations denote like
elements, and:
[Para 18] FIG. 1 is a block diagram of a computer environment in which the
presently preferred embodiment may be practiced;
[Para 1 9] FIG. 2 is a logic flow diagram for a visibility solution in the
presently preferred embodiment;
[Para 20] FIG. 3 is an illustration of a detailed logic flow diagram of the
visibility solution in the presently preferred embodiment;
[Para 21 ] FIG. 4 is a 3D housing in an axonometric orientation;
[Para 22] FIG. 5 is an illustration of an orthogonal plane view of a shaft
extended through a hole;
[Para 23] FIG. 6 is a design representation of a 3D assembly model in
axonometric orientation;
[Para 24] FIG. 7 is a 3D assembly model in axonometric orientation in one
solid color with each part initially identified as interior;
[Para 25] FIG. 8 is an illustration of an orthogonal orientation of the gear
reducer assembly;
[Para 26] FIG. 8 is an illustration of a partial view of a gear reducer
assembly;
[Para 27] FIG. 9 is an illustration of a close-up view of a bolt, showing
exterior faces as white, and an interior face as magenta;
[Para 28] FIG. 10 is an illustration of an axonometric orientation of the gear
reducer assembly in simplified representation; and
[Para 29] FIG. 11 is an illustration of a close-up view of a gear reducer
assembly following a visibility solution where a hole and a plurality of bolts are
missing from a design representation.
Detailed Description of the Preferred Embodiments
[Para 30] 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 to determine a visibility solution of a computer aided design
(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 31 ] 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 32] 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 33] 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 34] 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 35] Figure 2 is a logic flow diagram for a visibility solution in the
presently preferred embodiment. The present application describes an
innovative visibility solution practiced on a 3D CAD software application such as
SolidEdge® by UGS Corp, whereby a user, also referred to as a designer,
displays a 3D assembly model that includes at least one part, component and/or
sub-assembly (Step 200). The 3D assembly model can be created natively on
the 3D CAD software application, or can be copied into the current application.
Likewise, the 3D assembly model can be designed and/or constructed by other
methods commonly known in the art of 3D assembly design.
[Para 36] Following the display of the 3D assembly model, next the 3D
assembly model is prepared for display to improve rendering accuracy, 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
(Step 205). 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 37] Further to preparing the 3D assembly model for display, 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 38] 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 designer 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 designer cannot modify the definition of small
as compared to the surface area of the assembly and/or component.
[Para 39] 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 varies the quality of the analysis by ignoring interior faces that
would otherwise be considered visible.
[Para 40] Once the 3D assembly model is prepared for display, the presently
preferred embodiment utilizes a visibility solution to continue the process of
simplification (Step 210). Following the visibility solution, the resulting
composite image is returned for further processing and/or integration by the
same or different 3D CAD software application (Step 215).
[Para 41 ] Turning to Figure 3, a logic flow diagram of the visibility solution
disclosed in greater detail, where it accepts as input the prepared 3D assembly
model (Step 300). The disclosed preferred embodiment defaults to providing
24 orientations, where those orientations are orthogonal and/or axonometric
(Step 305). The designer can also define additional orientations by freely
rotating the 3D assembly model or using other means known in the 3D CAD
industry and commonly known by users of 3D design applications (Step 310).
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 42] Next the visibility solution applies the orientation designated by the
designer (Step 315). At that time, the designer can use further known
techniques to manipulate the 3D assembly model to improve the quality of the
rendering, for example, optimizing zoom scale to increase model coverage,
optimizing depth buffer attributes, and adjusting orientation to decrease the
amount of viewed surface area. In selecting said orientation, the designer can
further adjust the quality of analysis by modifying the dimensions for the
rendering process. For example, a width and height can be reduced to improve
speed of the visibility solution but reduce the accuracy of the rendering.
[Para 43] Next, the resulting rendered image of the the 3D assembly model
displays information that is used to determine the identify 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 320). The presently preferred
embodiment employs the depth buffering feature of OpenGL to assign unique
colors to each of the rendered 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 44] 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 designer
by changing all processed faces identified as exterior of the various components
to a solid color.
[Para 45] The quality of the rendering thus far can be further scrutinized and
controlled by applying a plurality of filtering algorithms to the resulting image
that removes rendering artifacts common with various rendering techniques.
One such rendering artifact is called a speckle. The visibility solution can ignore
these speckle anomalies by applying a commonly used speckle removal tool
(Step 325). 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 46] Following the application of filters to remove the rendering
artifacts, the visibility solution extracts the rasterized surfaces (Step 330) and
merges the resulting surfaces (Step 335) with a first visibility solution (Step
340). If the designer requires multiple orientations, then the visibility solution is
not complete (Step 345) and the visibility solution returns to selecting the next
orientation (Step 305) The 3D assembly model rendered from multiple
orientations and the results from each orientation are accumulated to represent
a composite visibility solution (Step 350) and whose result is returned for
further processing and/or integration (Step 215)
[Para 47] Following the return for further processing, the designer has the
ability to identify insignificant components by rotating, zooming in/out, etc., to
inspect what the visibility solution identified as interior/exterior and re-run the
solution 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, still participate in the visibility solution.
[Para 48] By way of example and not limitation, in Figure 4, a 3D housing in
axonometric orientation, the designer models a housing 400 having a shaft 405
extending outside the housing 400 through a hole 410 as further detailed in
Figure 5, an illustration of an orthogonal plane view of a shaft extended
through a hole. During coarse granularity tessellation, a plurality of gaps can
occur in the tessellated surfaces, e.g., the shaft 405 and the hole 410. The
presently preferred embodiment calculates through the gaps to find at least one
interior face 500 and identify the interior face 500 as exterior and/or visible.
The designer then notes the interior face 500, and excludes it from the
rendering.
[Para 49] The presently preferred embodiment is illustrated, by way of
example and not limitation, when the designer starts with Figure 6, an
axonometric orientation of a gear reducer assembly in design representation,
and determines to create a simplified representation of a gear reducer assembly
600 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 7, a 3D assembly model in axonometric
orientation in one uniform color with each part initially identified as interior. In
an alternative embodiment, Figure 8 illustrates an orthogonal orientation of the
gear reducer assembly with unique colors assigned to the various visible surfaces
for each component.
[Para 50] Prior to initiating the visibility solution, the user determines to
ignore a small hole 900 and a plurality of small bolts 905 as illustrated in
Figure 9, a partial view of the gear reducer assembly, that will not be included
in the complete simplified representation. The presently preferred embodiment
allows the designer 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 51 ] Following the rendering (Step 320) the designer views a gear
reducer assembly, where Figure 10 is a close-up view of a bolt and shows the
exterior faces as white, and the interior faces as magenta, but illustrated in with
a diagonal-line. While the visibility solution resolved the exterior faces, it
calculates a bolt face 1000 as being interior, when in fact the bolt face 1000 is
exterior to the gear reducer assembly 600. Utilizing the 3D software application,
the designer then selects the bolt face 1000 as a member of the exterior faces
that comprise the gear reducer assembly 600 by use of a mouse click or other
known selection ability. Figure 11 illustrates an axonometric orientation of the
gear reducer assembly in simplified representation, the designer excluded the
small hole 900 and the small bolts 905 that are not present as seen at 1100 and
1105, respectively.
[Para 52] 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 53] 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 54] 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 55] 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
1. A method to determine a visibility solution of a model comprising 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.
2. The method of Claim 1, further comprising the step of displaying said
plurality of parts from at least one orientation.
3. The method of Claim 1, further comprising the step of displaying said
composite image comprised of said exterior parts and lacking said
plurality of features.
4. The method of Claim 1, further comprising the step of preparing said
model to improve accuracy of a rendering operation.
5. The method of Claim 1, further comprising the step of implementing at
least one filtering algorithm to adjust a quality of analysis of said
rendering.
6. The method of Claim 1, further comprising the step of preparing said
model to adjust accuracy of a rendering operation wherein said
accuracy is adjusted by tessellating said model.
7. The method of Claim 1, wherein said step of rendering operates to depict said model as a tessellated version of a geometrical representation
of a plurality of surfaces.
8. A computer-program product tangibly embodied in a machine readable
medium to perform a method to determine a visibility solution of a
model, comprising:
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.
9. The computer-program product of Claim 8, further comprising the
instructions for displaying said plurality of parts from at least one
orientation.
10. The computer-program product of Claim 8, further comprising the
instructions for displaying said composite image comprised of said
exterior parts and lacking said plurality of features.
11. The computer-program product of Claim 8, further comprising the
instructions for preparing said model to improve accuracy of a
rendering operation.
12. The computer-program product of Claim 8, further comprising the
instructions for implementing at least one filtering algorithm to adjust a quality of analysis of said rendering.
13. The computer-program product of Claim 8, further comprising the
instructions for preparing said model to adjust accuracy of a
rendering operation wherein said accuracy is adjusted by
tessellating said model.
14. The computer-program product of Claim 8, wherein said instructions for
rendering operates to depict said model as a tessellated version of
a geometrical representation of a plurality of surfaces.
15. A data processing system having at least a processor and accessible
memory to implement a method to determine a visibility solution
of a 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.
16. A computer-program product for determining a visibility solution of a
model, the solution comprising:
a rendering operation on a model, wherein said rendering operation
encodes a plurality of parts with at least one color value to
at least one corresponding surface identity; a plurality of exterior parts distinguished from a plurality of interior parts
based on said at least one corresponding surface identity;
whereby said model displays a composite image of said exterior parts.
17. A computer-program product for determining a visibility solution of a
model, the product comprising:
a rendering operation that receives a prepared model, wherein said
preparation adjusts accuracy of said rendering operation;
at least one filtering algorithm to adjust a quality of analysis following
said rendering operation;
whereby said model is a tessellated version of a geometric representation
of a plurality of surfaces.
18. A visibility solution of a model embodied on a computer-readable medium
on a computer in conjunction with a application, the visibility
solution comprising:
a reduced form of said model derived from a designed form of said
model, having a plurality of exterior faces, wherein said
exterior faces consist of a plurality of components from said
design form.
19. A method to determine a visibility solution of a model comprising the
steps of:
implementing at least one filtering algorithm to adjust a quality of
analysis of said rendering;
preparing said model to adjust accuracy of a rendering operation wherein
said accuracy is adjusted by tessellating said model; rendering a model having a plurality of parts with at least one color value
encoded for an at least one corresponding surface identity,
operating to depict said model as a tessellated version of a
geometrical representation of a plurality of surfaces;
distinguishing a plurality of exterior parts from a plurality of interior parts
based on said at least one corresponding surface identity;
identifying a plurality of features in said model not copied into a
composite image; and
displaying said composite image comprised of said exterior parts and
lacking said plurality of features.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP06740435A EP1864257A2 (en) | 2005-03-31 | 2006-03-31 | System and method to determine a visibility solution 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,100 | 2006-03-30 | ||
| US11/278,100 US20060250421A1 (en) | 2005-03-31 | 2006-03-30 | System and Method to Determine a Visibility Solution of a Model |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2006105505A2 true WO2006105505A2 (en) | 2006-10-05 |
| WO2006105505A3 WO2006105505A3 (en) | 2007-03-15 |
Family
ID=37054223
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2006/012377 Ceased WO2006105505A2 (en) | 2005-03-31 | 2006-03-31 | System and method to determine a visibility solution of a model |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20060250421A1 (en) |
| EP (1) | EP1864257A2 (en) |
| WO (1) | WO2006105505A2 (en) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8471853B2 (en) * | 2007-10-26 | 2013-06-25 | Via Technologies, Inc. | Reconstructable geometry shadow mapping method |
| US8244507B2 (en) * | 2008-11-05 | 2012-08-14 | The Boeing Company | Method and apparatus for deriving associations between parts and fasteners |
| US8890867B2 (en) * | 2010-10-28 | 2014-11-18 | Parametric Technology Corporation | Methods and systems for dynamically loading portions of a computer-aided design model on demand |
| US8818769B2 (en) | 2010-10-28 | 2014-08-26 | Parametric Technology Corporation | Methods and systems for managing synchronization of a plurality of information items of a computer-aided design data model |
| US8892404B2 (en) | 2010-10-28 | 2014-11-18 | Parametric Technology Corporation | Methods and systems for consistent concurrent operation of a plurality of computer-aided design applications |
| US20130046511A1 (en) * | 2011-08-15 | 2013-02-21 | Honeywell International Inc. | Method, apparatus and computer program product for simplifying a representative of a computer-aided design model |
| US10657721B2 (en) * | 2018-02-09 | 2020-05-19 | Paccar Inc | Systems and methods for providing augmented reality support for vehicle service operations |
| CN115880436B (en) * | 2022-12-26 | 2024-02-13 | 上海新迪数字技术有限公司 | CAD model visibility determination method, system and electronic equipment |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5448686A (en) * | 1992-01-02 | 1995-09-05 | International Business Machines Corporation | Multi-resolution graphic representation employing at least one simplified model for interactive visualization applications |
| US6335732B1 (en) * | 1998-05-08 | 2002-01-01 | Mohammad Salim Shaikh | External recognition and rendering method |
| US6313837B1 (en) * | 1998-09-29 | 2001-11-06 | Schlumberger Technology Corporation | Modeling at more than one level of resolution |
| WO2002054351A2 (en) * | 2000-12-06 | 2002-07-11 | Sun Microsystems, Inc. | Using ancillary geometry for visibility determination |
| US6897863B2 (en) * | 2001-11-30 | 2005-05-24 | Caterpillar Inc | System and method for hidden object removal |
| US20040165776A1 (en) * | 2002-09-20 | 2004-08-26 | Albert-Jan Brouwer | Means of matching 2D motion vector fields in a render, match, and refine iterative 3D scene model refinement system so as to attain directed hierarchical convergence and insensitivity to color, lighting, and textures |
| US20050017968A1 (en) * | 2003-07-21 | 2005-01-27 | Stephan Wurmlin | Differential stream of point samples for real-time 3D video |
| US7012615B2 (en) * | 2004-02-12 | 2006-03-14 | Pixar | Using polynomial texture maps for micro-scale occlusions |
| US7990374B2 (en) * | 2004-06-29 | 2011-08-02 | Sensable Technologies, Inc. | Apparatus and methods for haptic rendering using data in a graphics pipeline |
| US7212204B2 (en) * | 2005-01-27 | 2007-05-01 | Silicon Graphics, Inc. | System and method for graphics culling |
-
2006
- 2006-03-30 US US11/278,100 patent/US20060250421A1/en not_active Abandoned
- 2006-03-31 WO PCT/US2006/012377 patent/WO2006105505A2/en not_active Ceased
- 2006-03-31 EP EP06740435A patent/EP1864257A2/en not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| US20060250421A1 (en) | 2006-11-09 |
| EP1864257A2 (en) | 2007-12-12 |
| WO2006105505A3 (en) | 2007-03-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7646384B2 (en) | System and method to determine a simplified representation of a model | |
| EP3673463B1 (en) | Rendering an image from computer graphics using two rendering computing devices | |
| US8581902B2 (en) | Reducing the size of a model using visibility factors | |
| US9471996B2 (en) | Method for creating graphical materials for universal rendering framework | |
| EP3379495B1 (en) | Seamless fracture in an animation production pipeline | |
| US8134551B2 (en) | Frontend for universal rendering framework | |
| Nienhaus et al. | Edge-Enhancement-An Algorithm for Real-Time Non-Photorealistic Rendering. | |
| Cignoni et al. | MagicSphere: an insight tool for 3D data visualization | |
| EP3355279A1 (en) | Method and computer programs for identifying differences between 3-dimensional scenes | |
| US20060250421A1 (en) | System and Method to Determine a Visibility Solution of a Model | |
| Jeschke et al. | Rendering surface details with diffusion curves | |
| Sun | A digital mock-up visualization system capable of processing giga-scale CAD models | |
| US20040080506A1 (en) | System and method for image-based rendering with proxy surface animation | |
| Lin et al. | Progressive mesh metamorphosis | |
| US20080100615A1 (en) | Sweep with guide surface | |
| Sußner et al. | High quality realtime tessellation of trimmed NURBS surfaces for interactive examination of surface quality on car bodies | |
| Tang et al. | Real-Time shadow volume algorithm for subdivision surface based models | |
| Santina | Resolution independent nurbs curves rendering using programmable graphics pipeline | |
| Walton et al. | Interacting with volume data: Deformations using forward projection | |
| Benolken et al. | INTERACTIVE VISUALIZATION TECHNIQUES FOR A VIRTUAL REALITY BASED ANALSYIS OF SIMULATION RESULTS | |
| Schwärzler | Accurate soft shadows in real-time applications | |
| Choudhari et al. | A Survey Paper on OpenGL ES | |
| Geng | Expressive Rendering | |
| Shinkovich | Feature preserving continuous level-of-detail for terrain rendering | |
| und Algorithmen et al. | Shadow Mapping of Large Environments |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2006740435 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: RU |