Generating trimmed representation of computer-aided design three-dimensional model
The system generates cropped CAD model representations by isolating target geometries within 3D models, addressing the lack of effective geometry isolation in MBD environments, enhancing design efficiency and manufacturing accuracy.
Patent Information
- Application Number
- JP2025012228
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-29
- Filing Date
- 2025-01-28
- Publication Date
- 2025-08-26
AI Technical Summary
Current CAD systems lack effective methods for isolating and focusing on specific geometries within 3D models, limiting the ability to create clear, organized, and focused product definitions in Model-Based Definition (MBD) environments, which are essential for efficient design and manufacturing processes.
A computer-based system and method for generating cropped representations of CAD models by selecting target geometry, creating a boundary shape, extending it through the model, and dividing it to separate visible and hidden portions, allowing for focused geometry isolation and display in 3D, similar to traditional 2D detail and crop views.
Enables rapid generation of 3D model presentations that isolate specific geometries, improve design efficiency, and facilitate manufacturing by providing clear, organized product definitions, reducing the need for manual interactions and edits, and ensuring accurate manufacturing processes.
Smart Images

Figure 2025124592000001_ABST
Abstract
Description
Detailed Description of the Invention
[0001] [Technical field] The present disclosure relates to the field of design, and more particularly to a computer-based system and method for generating cropped representations of computer-aided design (CAD) three-dimensional (3D) models.
[0002] [background] Computer-aided design (CAD) software allows users to build, view, and manipulate three-dimensional (3D) models.
[0003] This model can be created using a number of different modeling techniques, including, for example, solid modeling, wireframe modeling, and surface modeling, and CAD software may combine these and / or other modeling techniques, such as parametric modeling techniques.
[0004] CAD systems can support two-dimensional (2D) representations of 3D objects, which can be useful for study at various stages of the design process. Design engineers are typical users of 3D CAD systems. They design the physical and aesthetic aspects that are represented in the 3D model, and are generally skilled in 3D modeling techniques.
[0005] Cropping refers to the process of removing or hiding a first portion of an individual component or product assembly in an image while leaving a second portion of the individual component or product assembly visible in the image. Cropped representations of objects can be useful in exposing design engineers or manufacturers to component or product details that might otherwise be difficult to identify.
[0006] [Summary of the Invention] In one aspect, a computer-based method for creating a trimmed representation of a computer-generated three-dimensional (3D) computer-aided design (CAD) model is disclosed. The method includes displaying the model on a computer display, receiving an indication that an element from the displayed model has been selected as a target geometry, creating a boundary shape on the selected target geometry, extending a perimeter of the boundary shape in a normal direction through the model to establish a boundary, dividing the model at the boundary to separate a first portion of the model inside the boundary from a second portion of the model outside the boundary, and creating a graphical representation of the trimmed representation of the model based on the divided model by visually displaying the first portion of the model inside the boundary and hiding or displaying as transparent with only edges the second portion of the model outside the boundary. In an exemplary embodiment, the method displays the boundary as a solid surface within the graphical representation of the trimmed representation of the computer-generated 3D CAD model.
[0007] In another aspect, a computer-based system for generating a cropped representation of a computer-aided design three-dimensional (3D) model is disclosed. The computer-based system includes one or more computer processing devices and a computer-based memory operably coupled to the one or more processing devices. The computer-based memory stores computer-readable instructions that, when executed by one or more processors, cause the computer-based system to perform a method including displaying the model on a computer display, receiving an indication that an element from the displayed model has been selected as a target geometry, creating a bounding shape on the selected target geometry, extending a perimeter of the bounding shape normally through the model to establish a boundary, dividing the model at the boundary to partition a first portion of the model inside the boundary from a second portion of the model outside the boundary, and creating a pictorial representation of the cropped representation of the model based on the divided model by visually displaying the first portion of the model inside the boundary and by hiding or displaying the second portion of the model outside the boundary as transparent with only edges. In an exemplary embodiment, the method includes displaying the boundary as a solid surface within a pictorial representation of a cropped representation of the computer-generated 3D CAD model.
[0008] In yet another aspect, a non-transitory computer-readable medium is disclosed having stored thereon computer-readable instructions that, when executed by a computer-based processor, cause the computer-based processor to generate a trimmed representation of a computer-aided design three-dimensional (3D) model according to a method that includes: displaying the model on a computer display; receiving an indication that an element from the displayed model has been selected as a target geometry; creating a bounding shape on the selected target geometry; extending a perimeter of the bounding shape in a normal direction through the model to establish a boundary; dividing the model at the boundary to separate a first portion of the model inside the boundary from a second portion of the model outside the boundary; and creating a graphical representation of the trimmed representation of the model based on the divided model by visually displaying the first portion of the model inside the boundary and hiding or displaying the second portion of the model outside the boundary as transparent with only edges. In an exemplary embodiment, the method displays the boundary as a solid surface within the graphical representation of the trimmed representation of the computer-generated 3D CAD model.
[0009] In some embodiments, one or more of the following advantages are present. For example, within a computer-implemented 3D model-based definition (MBD) environment, the systems and techniques disclosed herein focus attention on specific geometries of a computer-generated 3D model of a product (object) and exclude other geometries of the computer-generated 3D model of the product. This helps focus the definition of the product in specific geometries in a manner similar to that traditionally provided using hand-drawn 2D drawings, for example, in the form of detail views and crop views. In various embodiments, the systems and techniques disclosed herein generally enable rapid generation of 3D model presentations for geometry isolation provided by detail views and crop views in accordance with international standards, for example, within a computer-implemented MBD environment. In various embodiments, the systems and techniques disclosed herein apply such presentations of models within 2D drawings, enabling interaction with the isolated geometry during presentation to measure and annotate data referencing the complete geometry of the product.
[0010] Additionally, in various embodiments, the systems and techniques disclosed herein provide control over creating and modifying the geometry of an isolation boundary, which determines isolated geometry (geometry included in the presentation) and excluded geometry (geometry removed from the presentation). By further extension, the systems and techniques disclosed herein can be implemented to show isolated geometry as a separate presentation within a 3D model without interfering with or modifying the geometry of the 3D model. Split or cropped view states showing isolated geometry from a computer-generated 3D model may be shown in a view separate from the unsplit or uncropped view. Typically, when changes are made to a computer-generated 3D model in a split or cropped view state, the corresponding computer-generated 3D model in the split or uncropped view state is updated to reflect the changes, and when changes are made to a computer-generated 3D model in the split or uncropped view state, the computer-generated 3D model in the split or cropped view state is updated to reflect the modifications.
[0011] The systems and techniques disclosed herein, when implemented within a computer-implemented 3D modeling assembly environment, allow for geometry isolation from multiple bodies and components of an assembly of a 3D model. Furthermore, the systems and techniques disclosed herein allow a user to specify dimensions for the presentation of the isolated geometry in a segmented or cropped view of a computer-generated 3D model that are different (e.g., larger) than the dimensions of a corresponding uncropped or uncropped view of the computer-generated 3D model. This improves the efficiency of displaying both segmented or cropped and uncropped or uncropped views of a computer-generated 3D model.
[0012] Additionally, by implementing the systems and techniques disclosed herein, cross-sectional views (e.g., segmented or cropped views) can be generated without the characteristic of cutting the model, and the resulting segmented or cropped views can be saved within the model.
[0013] The ability for design engineers to easily view both the computer-generated 3D model and an exploded or cropped view of the computer-generated 3D model can improve the efficiency of the design process and potentially reduce the number of edits and interactions between the design engineer and the CAD system to create a finished model of the real-world object (or product) that will be manufactured, because the design engineer can better understand all aspects of the product, including those that are clearly visible in the exploded or cropped view but that would otherwise be difficult to discern in the uncropped view.
[0014] Once the model is complete, the real-world object is then manufactured using one or more real-world machines and / or manufacturing technologies. Implementations of the systems and techniques disclosed herein use the results of the design / modeling process to manufacture the real-world object and manufacture the real-world object based on those results. Thus, the design / modeling, when used, influences the physical real-world object and its manufacture. In some embodiments, a manufacturer can consider both the original computer-generated 3D model and any 2D drawings derived therefrom, and / or any cropped views of the original computer-generated 3D model, to fully understand the design, setup, and / or control of manufacturing machines and processes.
[0015] In some embodiments, data relating to and representing the model (including information in its cropped representation) may be input to a CNC machine via an input / output interface on a computer, and the data may be provided to the CNC machine to instruct the CNC machine to manufacture a real-world representation of the object represented by the virtual computer-generated 3D model. CNC stands for "computer numerical control," and a CNC machine is a programmable machine that can perform various manufacturing operations autonomously (e.g., based on a computer-generated 3D model).
[0016] Other features and advantages will become apparent from the following description and drawings, and from the claims. [Brief explanation of the drawings]
[0017] [Figure 1] FIG. 1 is a schematic diagram of an exemplary computer configured to generate a cropped representation of a computer-aided design (CAD) three-dimensional (3D) model. [Figure 2] 2A-2H present a flowchart identifying the computer-implemented processes and functions that generate a cropped representation of a computer-generated 3D CAD model. [Figure 3] 3A-3I include pictorial representations of a computer-generated 3D model or portion thereof (e.g., as may be displayed on the user interface of a CAD program) at various stages of the cropping process. FIG. 3J shows an example of resizing within the context of a 2D cropped representation of the computer-generated 3D model. DETAILED DESCRIPTION OF THE INVENTION
[0018] [Detailed Description of the Invention] Like reference symbols refer to like elements. In this document, various terms are used to describe various concepts. Unless otherwise indicated, the following terms and variations thereof should be understood to have the meaning consistent with what follows:
[0019] For example, as used herein, the term “computer-aided design” (or CAD) refers to the design of, for example, individual components and / or product assemblies, aided by the use of a computer. A computer in a CAD environment may assist in the creation, modification, analysis, and / or optimization of the individual components and / or product assemblies being designed. The individual components and / or product assemblies may be represented in, plans, or specifications, including, for example, three-dimensional models stored in computer-based memory, and may include various manufacturing specifications, for example, within the context of model-based definition (MBD). The SOLIDWORKS® computer program available from the present applicant, Dassault Systèmes SolidWorks, is an example of a software program that facilitates such computer-aided design. However, the term “computer-aided design” (or CAD) should be interpreted broadly to include any computer software, device, or system that incorporates or is capable of incorporating or facilitating the computer-based functionality disclosed herein for generating cropped representations of computer-aided design (CAD) three-dimensional (3D) models.
[0020] The phrase "model editing environment" refers to a computer-implemented environment in which pictorial representations of real-world objects and / or portions thereof, corresponding to virtual 3D models, can be created, displayed, and / or edited through a visual interface on a computer display. In an exemplary embodiment, the model editing environment will include or provide access to user-selectable tools to facilitate model creation and / or editing.
[0021] The term "model-based definition" (or "MBD"), sometimes referred to as digital product definition (DPD), refers to the practice of using 3D models within a 3D CAD software environment to define (specify) individual components and / or product assemblies. The 3D models may include, for example, solid models and / or associated metadata, alone or in combination with 3D product and manufacturing information ("PMI"). The types of information included in MBD may include, for example, geometric dimensioning and tolerancing (GD&T) information, component-level material information, assembly-level material inventory, engineering configuration information, design intent information, and so on. MBD can be contrasted with other approaches that traditionally require the use of accompanying two-dimensional (2D) drawings to provide such information.
[0022] The phrase "model-based definition environment" refers to a computer-implemented environment in which data derived from a 3D virtual model can be accessed in a model-based definition manner, typically through a user interface on a computer display.
[0023] The term "cropping" refers to a process in which a first portion of an individual component or product assembly is removed or hidden from an image while a second portion of the individual component or product assembly remains visible in the image. A "cropped view" is a view produced by cropping. Some cropped views may be considered detail views.
[0024] The phrase "model detail" refers to a pictorial representation of at least a portion of a model, which may be or include a cropped view. The portion of the model may be, for example, an orthographic view, a non-planar (isometric) view, a section view, a cropped view, an assembly exploded view, or other detail view. Model detail views are typically displayed on a computer display via a user interface, but may of course be printed as well. Model detail views may be shown at scale relative to the underlying model.
[0025] The term "processor" or its variants refers to any one or more computer-based processing devices that are physical components capable of performing the functions of a computer by executing computer-readable instructions stored in memory.
[0026] The term "memory" or like terms refers to any one or more computer-based memory devices, which are physical components capable of storing computer-readable instructions that, when executed by a processor, result in computer functionality associated with the execution of the processor.
[0027] [Related Technology] Within a 2D drawing environment, detail and crop views provide a way to isolate geometry from the complete representation of a product, allowing attention to specific geometry to better define the product. Typically, such representations are limited to the 2D environment, and are generally only available within a drawing sheet or similar 2D-constrained environment.
[0028] Dassault Systèmes' SOLIDWORKS® computer software has a concept that allows for the creation of model break views, and this concept has a unique method of representing the traditional 2D concept of a model break view within a 3D environment for viewing and then within the 2D environment on a drawing sheet. This method is specific to break view equivalence, and there is no geometry isolation method provided to meet the need for a 3D equivalent to the concepts of detail and crop view in a model-based definition (MBD) environment. The new system and method disclosed herein supports these other types of views in 3D.
[0029] Current functionality allows drafters to create presentations that preserve a specific orientation, zoom value, and view center. This allows drafters to create presentation states that zoom in and focus on a specific location on the product. However, this approach does not allow for the isolation of specific geometry to clearly focus on its product definition within the MBD environment, as can be achieved with detail and crop views on 2D drawing sheets.
[0030] The systems and techniques disclosed herein differ from prior art in their technical solutions, implementations, and outputs, and overcome or at least significantly minimize the technical limitations of prior systems and techniques. Other technical differences may exist between various prior art and the systems and techniques disclosed herein.
[0031] [Technical disclosure] As CAD modeling evolves, including the field of Model-Based Definition (MBD), new ways of displaying product definition information for 3D models (e.g., of mechanical parts) within environments that exclude or relegate 2D representations to a secondary role are desired. In this regard, MBD implementations are desirable to provide modern 3D equivalents to display concepts previously used with 2D representations.
[0032] A detail view is a type of drawing view typically defined by international standards, such as ISO and ASME, within the context of a 2D representation as a type of drawing view on a drawing sheet. A detail view allows for the isolation and removal of specific portions of a 2D representation from the complete representation of a product. This isolation allows drafters to create drawing views that focus on specific geometry while removing potential distractions from other geometry and elements that may otherwise crowd the 2D representation. A detail view also typically allows for the expansion of the isolated geometry to increase the space the view occupies on the sheet, thereby providing more space for product-defining elements such as visual details, dimensions, and other annotations without crowding these elements. A detail view typically does not exclude the complete representation of a product; rather, it is often a sectioned copy of a portion of the complete representation shown separately on the same drawing sheet, while still retaining a reference to the original drawing view from which it originated. All of this allows drawings to display the product definition (usually in the form of dimensions and other annotations) in a focused, less cluttered, and more organized manner.
[0033] A crop view may be considered a type of drawing view, also defined by international standards such as ISO and ASME within the context of 2D representations. A crop view is similar to a detail view. One difference between a crop view and a detail view is that a crop view is generally used to crop an entire representation of a product without direct reference to any other drawing view. A crop view is typically not enlarged, but achieves the same result as a detail view showing isolated geometry by similarly excluding geometry from the view. This method is often used for elongated components where only one end is necessary to define the product in the view, or for symmetrical components where half of the full representation can be removed and the shown half is understood to represent both sides of the product. In this way, crop views are often used to save space and simplify product representations on drawings.
[0034] While MBD typically applies annotations and other product definitions directly to the 3D CAD model itself (without drawings) and does not require 2D representations, methods for providing geometry isolation and simplification of product representation within an MBD environment (where the 3D model is available for query and where product definitions such as dimensions and other annotations can be applied) are desirable, for example, to enable drafters to provide product definition information that focuses on specific geometry and excludes other geometry that may interfere with or limit the human readability of such product definition. Essentially, within MBD, 3D equivalent representations of 2D representations, known as detail views and crop views, are required.
[0035] 1 is a schematic diagram of an example computer 100 configured to generate a cropped visual representation of a computer-aided design (CAD) three-dimensional (3D) model of an object to be manufactured. There are many ways in which the cropped representation can be displayed on a computer display device. For example, in some embodiments, the cropped representation is displayed with excluded geometry hidden (e.g., as in FIG. 3D ) or with a distinctive appearance (e.g., transparent, with only the edges visible) for any portions of the model that are visible in the cropped representation (which may be shown as solids) (e.g., as in FIG. 3G ). Other variations are possible.
[0036] Referring again to FIG. 1 , computer 100 includes a processor 102, computer-based memory 104, computer-based storage 106, a network interface 108, an input / output device interface 110, and a bus that serves as an interconnect between the components of computer 100. The bus functions as a communication medium through which the various components of computer 100 can communicate and interact with one another. In an exemplary embodiment, computer 100 is configured to perform various functions, including, for example, generating a cropped representation of a portion of a CAD 3D model as disclosed herein. The components of computer 100 typically interact with one another (and possibly with one or more external components) to perform and / or facilitate the performance of such functions.
[0037] Processor 102 is configured to perform various computer-based processing functions disclosed herein, as well as other functions. Generally, processor 102 performs these functions by executing computer-readable instructions stored on a computer-readable medium (e.g., 104 or 106). Generally, processor 102 performs these functions by executing computer-readable instructions stored on a computer-readable medium (e.g., 104 or 106). In various embodiments, some of these functions may be performed with reference to data stored on the computer-readable medium and / or with reference to data received from some external source (e.g., from an input / output (I / O) device via I / O device interface 110 and / or from an external network via network interface 108).
[0038] Computer 100 includes volatile and non-volatile memory. More specifically, in an exemplary embodiment, memory 104 provides a form of volatile storage that stores computer-readable instructions that, when executed by processor 102, cause processor 102 to perform or facilitate some (or all) of the computer-based functions disclosed herein. Furthermore, in an exemplary embodiment, storage 106 provides a form of non-volatile memory that stores computer-readable instructions, such as instructions implementing an operating system, configuration information, etc. The various system memory resources (e.g., 104, 106) may store data and other computer-readable information as well.
[0039] More particularly, in an exemplary embodiment, memory 104 stores computer-readable instructions that, when executed by processor 102, cause computer 100 to present to a user at computer 100 a computer-aided design program incorporating the functionality disclosed herein. An example of a computer-aided design program that can be adapted to incorporate the functionality disclosed herein is the SOLIDWORKS® computer program available from Dassault Systèmes SolidWorks, Inc., the assignee of the present application. Execution of such an adapted computer-aided design program would include the functionality of generating a cropped representation of a CAD three-dimensional model by implementing the processes disclosed herein.
[0040] Network interface 108 is a component that allows computer 100 to connect to any one or more of a variety of external computer-based communication networks (and connected devices), including, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, etc. In various embodiments, network interface 108 may be implemented in hardware, software, or a combination of hardware and software.
[0041] Input / output (I / O) device interface 110 is a component that enables connection between computer 100 and any one or more input or output devices, such as a keyboard, mouse, display, microphone, speakers, printer, manufacturing machinery (e.g., computer numerical control (CNC) machine), etc. In various embodiments, the I / O device interface can be implemented in hardware, software, or a combination of hardware and software. In a representative embodiment, the computer may have one or more I / O devices (e.g., a computer monitor, keyboard, mouse, printer, touchscreen device, CNC machine, etc.) connected to I / O device interface 110. These I / O devices (not shown in FIG. 1 ) function as a human-machine interface (HMI) and are generally configured to allow a human user to interact with computer 100 to access and utilize functionality, particularly functionality related to computer-aided design (CAD) and to generate cropped representations of 3D models within a CAD environment (e.g., as provided in the SOLIDWORKS® computer program).
[0042] In an exemplary embodiment, computer 100 is connected to a display device (e.g., via I / O device interface 110) and configured to present on the display device a visual representation of an interface to a product design environment, such as that provided within the SOLIDWORKS® computer program. The interface and its visual representation on the computer-based display device, in an exemplary embodiment, provides a user with access to the functionality disclosed herein and displays (e.g., on a display device coupled to I / O device interface 110) a visual representation of the original 3D model and a cropped, computer-generated representation of the original 3D model, typically generated according to a user-defined cropping contour. The interface and its visual representation on the computer-based display device also typically provides a user with access to the functionality (e.g., through buttons, menus, pointers, and other on-screen widgets) and facilitates user interaction with computer 100 by activating and executing the functionality disclosed herein.
[0043] In some embodiments, computer 100 and its various components may be contained within a single housing (e.g., a personal laptop) or in a single workstation. In some embodiments, computer 100 and its various components may be distributed across multiple housings, possibly in multiple locations over a network. Each component of computer 100 may include multiple implementations of that component, which may cooperate, and which may be in different physical locations and connected to each other via a network. For example, processor 102 in FIG. 1 may represent multiple individual processors in one or more different physical locations and / or housings operating together to cooperatively perform processes attributed to processor 102. A wide variety of possibilities regarding specific physical implementations are possible.
[0044] In various embodiments, computer 100 may include other elements not shown in Figure 1, which may include, for example, controllers, buffers (caches), drivers, repeaters, receivers, etc. Additionally, interfaces (e.g., 108 and 110) may include elements not specifically shown in Figure 1 to facilitate communication between the illustrated computer components, including, for example, address, control, and / or data connections.
[0045] 2A-2H are flowcharts illustrating exemplary computer-implemented methods that may be incorporated into the design of a modeled object to be manufactured. More specifically, the method illustrated in the illustrated flowcharts generates a cropped representation of the modeled object from a 3D model of the object, thereby providing easy access to the manufacturing details of the modeled object and facilitating its manufacture. In an exemplary embodiment, the illustrated method may be implemented using computer 100 of FIG. 1.
[0046] 2A, the illustrated method begins at a start, where a three-dimensional (3D) CAD model of the object to be manufactured has already been generated and stored in memory on computer 100. According to the illustrated flowchart, at this point in the process, one of two possible preconditions exists: either a 3D model is displayed on a computer display within model editing environment 202a, or a 3D model is displayed on a computer display within model-based definition (MBD) environment 202b.
[0047] FIG. 3A shows an example of an image depiction 300 of an exemplary object represented by a virtual 3D model. The virtual 3D model is an example of a model stored in computer memory at the start of the process of FIG. 2A and may be displayed on a screen during the process represented by the flowchart of FIG. 2A, for example, as shown in FIG. 3A. The object represented by the virtual 3D model is an object created based on the modeled information. The object has a square-shaped outline with chamfered corners, a large circular opening in the center, and four smaller countersunk circular openings, one at each corner of the object. On the top surface of the object (as seen in FIG. 3A), a diamond-shaped base with rounded corners surrounds the large circular opening. Additionally, four recesses are provided, each located along a corresponding one of the edges between adjacent corners of the object. Two of the interior corners of each recess are rounded, and the outer edge of the recess extends to the outer edge of the object.
[0048] In an exemplary embodiment, the object shown in FIG. 3A may be a 3D model that is represented as a pictorial representation on a computer monitor (at 202a or 202b in FIG. 2A).
[0049] Next, according to the process represented by the flowchart in Figure 2A, a human user initiates (at 204) an operation to create a model detail (e.g., a cropped view of the visible objects) by entering a command in a user interface presented on a computer display. In some embodiments, the user may enter a command to initiate the illustrated operation by interacting with the computer or by selecting an on-screen graphical control element (e.g., a button, an option in a context menu, etc.).
[0050] Next, upon user initiation, computer 100 prompts (at 206) the user to select target geometry (e.g., from modeled objects displayed on the computer display) from which a model detail will be generated. There are various ways in which computer 100 may prompt the user in this regard. In some embodiments, for example, the user interface may present a text message on the computer display instructing the user to select target geometry (e.g., from objects displayed on the screen).
[0051] Referring now to FIG. 2B , a user receives (at 208) an on-screen request to select an element from the visible CAD model or within the MBD environment. In various embodiments, the user may be able to select a target geometry (e.g., an element from the model) in any one or more of a variety of possible ways. In one example, the user would operate a mouse to position an on-screen cursor at a particular on-screen location corresponding to a particular geometry (e.g., a flat surface) that forms part of the visible model. Once positioned, computer 100 may indicate to the user that the particular geometry is to be selected as the target geometry by presenting the particular geometry in a visually distinct manner relative to the rest of the graphical representation 300 of the modeled object. The user may then press a button or other touch sensor (e.g., on the mouse) to select the particular geometry associated with the on-screen cursor location, thereby designating the particular geometry as the target geometry. Once designated, computer 100 may provide feedback to the user (e.g., as an on-screen message or visually within the graphical representation 300 of the modeled object) that the particular geometry has been so designated. In an exemplary embodiment, computer 100 also stores the designation in memory.
[0052] In an exemplary embodiment, the designated target geometry selected by the user at 208 becomes the reference geometry for the modeled object on the screen, from which the model detail is created during the next steps of the illustrated process. More specifically, this reference geometry may define a reference plane along which the user may define boundaries (e.g., location, orientation, shape, and dimensions) to use in defining the portion of the model to be isolated.
[0053] In a representative embodiment, computer 100 is configured to check whether the geometry selected by the user (at 208) is a valid selection for the purpose of serving its intended role within the depicted process. In one exemplary embodiment, the selected geometry may be treated as a valid selection by computer 100 if it is a planar surface or geometric plane on the modeled geometry in the CAD model. Otherwise, the selected geometry may be treated as an invalid selection. In various embodiments, computer 100 may apply various criteria to validate or invalidate the user-selected geometry as a target geometry for the depicted process.
[0054] 2B, computer 100 determines whether the selected geometry is valid using the selection criteria described above. If computer 100 determines (see 210) that the selection is an invalid geometry selection (e.g., the user-selected element is neither a planar surface on the CAD-modeled geometry nor a reference geometric plane that defines the shape or form of a surface or solid, for example, within a model editing or MBD environment), computer 100 ignores or rejects (at 212) the selection.
[0055] If computer 100 ignores (at 212), computer 100 does not respond to the user's selection, but simply waits until the user selects (at 208) a different geometry, after which it determines whether the different geometry is a valid selection. If computer 100 rejects (at 212), computer 100 notifies the user (e.g., with an on-screen error message) that the selection is invalid and requests the user to make another selection. The process then returns to 208, where computer 100 waits for further user selections and determines their validity.
[0056] 3A identifies an example of a selected geometry (at 301) that computer 100 may consider valid. The selected geometry 301 in the illustrated example is a flat top surface surrounding one of the corner holes in the illustrated 3D model.
[0057] Referring again to the flowchart of FIG. 2B , if the computer 100 determines (at 208) that the user-selected geometry is valid (e.g., the user selected a planar surface on the modeled geometry in a CAD model at 214 or a reference geometry plane within a model editing or MBD environment at 216), the computer 100 then (at 218) determines a normal direction based on the selected geometry. More specifically, in an exemplary embodiment, the computer 100 determines (at 218) a direction normal to the planar surface plane or reference geometry plane selected by the user (at 208) and activated by the computer 100 (at 214, 216). In an exemplary embodiment, the computer 100 may request a “normal” function that identifies a normal (e.g., in one or both directions) to the surface / plane. If the normal is in only one direction, the “normal” direction is considered to be the determined normal direction extending into the modeled object.
[0058] 2C , the user interface of computer 100 prompts (at 220) the user to select a boundary shape for defining the portion of the model to be isolated. Computer 100 may prompt the user in this regard in any number of possible ways. In one example, computer 100 may present a list of user-selectable elements on the screen (e.g., as part of an on-screen menu), each element recognizing and corresponding to a particular type of boundary shape the user can select for defining the portion of the model to be isolated. Available boundary shapes may include, for example, circular, rectangular, or irregular shapes. In various embodiments, other shapes and / or combinations of available shapes may be presented to the user on the screen at 220.
[0059] To satisfy the request posed by the computer at 220, the user selects (at 222) one of the bounding shapes presented to the user by computer 100. If the user selects (at 222) the circular option, a drawing tool on the computer is activated (at 224). This allows the user to create (draw) a circle on the geometry selected by the user (at 208) and deemed valid by computer 100. The user then creates (at 226) the circle. According to the illustrated embodiment, the user performs this function by specifying two points on the screen (e.g., by manipulating an on-screen cursor with a mouse) in a center-quadrant designation process. Other circle creation / drawing techniques are possible. If the user selects (at 222) the rectangular option, a drawing tool on the computer is activated (at 228). This allows the user to create (draw) a rectangle on the geometry selected by the user (at 208) and deemed valid by computer 100. The user then creates (at 230) the rectangle. According to the illustrated embodiment, the user performs this function by specifying a center and a corner, or a corner and another corner (e.g., by manipulating an on-screen cursor with a mouse). Other rectangle creation / drawing techniques are also possible. If the user selects (at 222) the irregular shape option, a computer drawing tool is activated (at 232). This allows the user to create (draw) a closed spline-based shape on the geometry that the user selected (at 208) and that computer 100 deems valid. The user then creates (at 230) the closed irregular shape. According to the illustrated embodiment, the user performs this function by specifying three or more selected consecutive points on the selected geometry (e.g., by manipulating an on-screen cursor with a mouse) and an automatic closing action. Other irregular shape creation / drawing techniques are also possible. In each technique, the user is presented with functionality that allows the user to position, size, and configure the shape on the selected geometry.
[0060] After the user completes the necessary inputs (at 226, 230, or 234) and takes steps to create the selected shape on the selected and enabled geometry, computer 100 confirms (at 236) the shape and presents it on the screen as a boundary on the selected geometry at the user-defined location. Figure 3B shows the image representation 300 of the example object from Figure 3A with a circle 303 (created by the user) on the selected geometry 301. More specifically, the illustrated example circle 303 is formed on the selected flat top surface (and the entire circle is flush with the top surface) surrounding one of the corner holes of the illustrated 3D model. The center 305 of circle 303 is visible, as is its outline. The center 305 of circle 303 is located above the corner opening that circle 303 surrounds. A first portion of the outline of circle 303 lies above a portion of the object in the illustrated 3D model, while a second portion of the outline of circle 303 extends beyond the edge of the object and therefore does not lie above any portion of the object in the illustrated 3D model.
[0061] Referring now to FIG. 2D , the flowchart (at 238) illustrates that computer 100 can display a shape (e.g., the circle in FIG. 3B ) with a user-defined line font(s) and weight over a user-selected geometry. Additionally, the flowchart (also at 238) illustrates that in some embodiments, computer 100 can hide the shape. In such cases, computer 100 may display the object (e.g., as shown in FIG. 3A ) but hide the shape (e.g., the circle 303 in FIG. 3B ), even though the shape has already been created (e.g., fully defined by the user and finalized by computer 100). The flowchart (again at 238) further illustrates that the user interface of computer 100 may, for example, provide the user with a dialog that surrounds the user to specify these details of the shape (e.g., line font, line weight, hide / show status, etc.). In various embodiments, the geometry may be stored in the computer 100 as a supplementary geometry (e.g., an object type in a data model) or a sketch entity in either the available CAD model or MBD environment, according to a flowchart (at 240). Further, according to the illustrated flowchart (at 242), the computer 100 stores the geometry in such a way that it is always logically associated with the model detail on which it was created.
[0062] Referring now to FIG. 2E, computer 100 then (at 244) extends the boundary of the shape in one or more normal directions (z and / or −z directions) through at least the CAD modeled geometry. FIG. 3C illustrates this concept schematically. More specifically, the image of FIG. 3C, which computer 100 would typically visually present to a user on a computer display, shows a pictorial representation 300 of the modeled object from FIG. 3B, with user-defined shape 303 (defined in step 222) extended in directions normal to the top planar surface of user-selected geometry 301 to create 3D extended shape 307. In an exemplary embodiment, computer 100 uses the normal direction(s) determined in step 218 to guide (at 244) the direction of the boundary extension(s) of the shape. In the example shown in FIG. 3C , 3D augmented shape 307 extends from the flat top surface of selected geometry 301 (selected by the user in step 208) completely through the CAD modeled geometry in the downward (−z) direction. In an exemplary embodiment, computer 100 displays the resulting augmented shape 307 on a screen as shown, allowing the user to view the shape's location and orientation relative to the modeled object's image representation 300 as it was created. 3D augmented shape 307 has a first portion that penetrates the modeled object in image representation 300 and a second portion that is entirely outside the modeled object in image representation 300. The first portion of 3D augmented shape 307 defines the cut pattern for the cropped representation being created. The second portion of 3D augmented shape 307 is not relevant to defining the cut pattern for the cropped representation being created. According to the illustrated example, because the user defined a 2D circle (in step 222 of FIG. 2C ), computer 100 generates (at 244) a 3D augmented shape of a hollow cylinder. If the user specifies (in step 222) a different type of 2D shape (e.g., rectangular or irregular), or even a line segment, the computer-generated 3D extended shape (generated in 244) will be a 3D shape other than a hollow cylinder.
[0063] Referring again to FIG. 2E , next, according to the illustrated flowchart, computer 100 (at 246) divides the CAD modeled geometry (e.g., represented by graphical representation 300) into two portions, including a first portion that is within the boundary of the 3D augmented shape (generated at 244) and a second portion that is outside the boundary of the 3D augmented shape. As shown in the illustrated flowchart, computer 100 typically performs this step (at 246) without creating modeled geometry or modeled sections or features in the associated design tree. Instead, as shown in the accompanying flowchart (see 248), information related to the division of the model may be saved using either a model configuration method or a graphical data method. When the model configuration saving method is used (see 250), computer 100 saves the model geometry and division method (e.g., information about the divided model) within the model configuration, in the same way that model break views are saved within the modeling environment of the desktop version of the SOLIDWORKS® computer program. More specifically, in some embodiments, the model's geometry and division scheme may be stored by the computer as a configuration that can enable a user to create multiple variations of a part or assembly model within a single document. When using the graphics data storage method (see 252), the computer 100 stores the model's geometry and division scheme as graphics data, in the same way that cross-section views are stored within the modeling environment of a desktop version of the SOLIDWORKS® computer program (e.g., in the part environment or as view directions for quick recall as drawing annotation views).
[0064] The computer 100 then displays the segmented model. There are various ways in which the computer 100 can perform this function. In an exemplary embodiment, computer 100 allows a user to select any one of a plurality of options for displaying the segmented model (or relevant portions thereof) and / or portions thereof. For example, in some embodiments, computer 100 may be configured to display a first portion of the segmented model (i.e., the portion within the boundary of the 3D augmented shape) and hide a second portion of the segmented model (i.e., the portion outside the boundary of the 3D augmented shape). Alternatively, in some embodiments, computer 100 may be configured to display the segmented model such that the first and second portions of the segmented model are shown in a manner that visually distinguishes the first portion from the second portion.
[0065] Thus, there are various ways in which computer 100 can display the segmented model (or portions thereof) to aid in a thorough understanding of the modeled object for refining the design and / or for manufacturing a corresponding real-world product using one or more real-world machines. However, according to the illustrated embodiment, computer 100 (at 254 in FIG. 2E) displays the portions of the segmented model that lie within the boundary, including the boundary itself, as solid surfaces.
[0066] Referring now to 256 of FIG. 2F , computer 100 may allow a user to select from alternative ways of displaying the second portion of the segmented model (i.e., the portion outside the boundary). The alternative ways depicted in the illustrated flowchart include displaying (at 258) the second portion of the segmented model (outside the boundary) as transparent, or hiding (at 260) the second portion of the segmented model. If the user selects the transparent option, computer 100 may display an outline of the second portion of the segmented model and make the surface of the second portion of the segmented model between the outlines transparent. This allows the user to see the interior surface of the modeled object at the boundary through the transparent second portion of the modeled object on the computer display. In an exemplary embodiment, if the user selects (at 256) the transparent option, computer 100 may allow the user to control the opacity of the transparent second portion of the modeled object.
[0067] 3D shows an example of an image that may be displayed on a display when computer 100 displays a first portion 309 of the segmented model (i.e., the portion that is within the boundary of the 3D augmented shape) and hides a second portion of the segmented model (i.e., the portion that is outside the boundary of the 3D augmented shape). The boundary at the inner edge of first portion 309 of the segmented model is represented as a solid, opaque surface 311. In fact, in the illustrated embodiment, the entire first portion 309 of the segmented model, including the boundary at its inner edge, is represented as a solid, opaque surface.
[0068] 3E illustrates another example of an image that may be displayed on a display when computer 100 displays a first portion 309 of the segmented model (i.e., the portion within the boundary of the 3D augmented shape) and hides a second portion of the segmented model (i.e., the portion outside the boundary of the 3D augmented shape). The image of FIG. 3E is similar to the image of FIG. 3D, except that the image of FIG. 3E not only illustrates first portion 309 of the segmented model and its boundary at its inner edges as a solid surface 311, but also illustrates a circle 303 (shown in dashed lines) on the selected geometry (i.e., flat surface 301) and its center 305 identified by a point. Again, in the illustrated embodiment, the entire first portion 309 of the segmented model, including its boundary at its inner edges, is represented as a solid, opaque surface.
[0069] 3F illustrates an example of an image that may be displayed on a display when computer 100 displays both first and second portions of segmented model 300a in a manner that visually distinguishes first portion 309 of segmented model 300a (i.e., the portion within the boundary of the 3D augmented shape) from second portion 313 of segmented model 300a (i.e., the portion outside the boundary of the 3D augmented shape). First portion 309 of segmented model 300a is displayed in FIG. 3F in substantially the same manner as first portion 309 of segmented model displayed in FIG. 3E. More specifically, first portion 309 of segmented model 300a in FIG. 3F is displayed in its entirety, including its boundary represented by a solid, opaque surface at its inner edges, and includes a dashed circle 303 superimposed on the selected geometry (i.e., flat surface 301), with its center 305 identified by a dot. In the illustrated example, the second portion 313 of the divided model 300a is visually distinguished from the first portion 309 of the divided model 300a by being / visually displayed as being transparent or see-through. In the illustrated example, the see-through nature of the second portion 313 of the divided model 300a allows the user to clearly see a cross section of the solid, opaque inner surface 311 at the boundary 311 between the first and second portions of the divided model 300a.
[0070] Figure 3G illustrates another example of an image that may be displayed on a display when computer 100 displays both first and second portions of segmented model 300a in a manner that visually distinguishes first portion 309 of segmented model 300a (i.e., the portion that is within the boundary of the 3D extended shape) from second portion 313 of segmented model 300a (i.e., the portion that is outside the boundary of the 3D extended shape). The image of Figure 3G is similar to the image of Figure 3F, except that the image of Figure 3G does not include circle 303 or a point at circle center 305.
[0071] Referring again to FIG. 2F, computer 100 (see 262) saves the model detail (of the partitioned model, or of the first portion of the partitioned model independently) as a retrievable view state of the CAD model within either the available model editing environment or the model-based definition (MBD) environment. Thus, in an exemplary embodiment, computer 100 saves the view state within the model in a manner that facilitates recalling the model for later display (e.g., by a user). Computer 100 also (at 254) adds one or more entries corresponding to any newly created partitioned model / view thereof to a saved model view list accessible to the computer by the user. As an example, the SOLIDWORKS® software program displays the saved model views in its user interface, and the user can select any one of the saved model views for display from the displayed list. In a representative embodiment of a SOLIDWORKS® type environment, computer 100 (at 256) adds a model detail or display name (e.g., “Widget Section,” “Part Model Detail,” etc.), a preview image (e.g., a thumbnail image), or other user interface element to a saved model view list within the user interface.
[0072] 2G, in an exemplary embodiment, computer 100 allows (at 266) the user to perform any one or more of a number of user-initiated actions (or combinations thereof) while the model detail (i.e., the segmented model or portion thereof) is displayed. These include, for example, rotating (at 268) the orientation of the model in any direction in three dimensions, zooming in and / or out (at 270) in any direction (toward and away from the viewer), and / or panning (at 272) in any direction (e.g., along a plane parallel to the current orientation of the model detail). Computer 100 also allows the user to add, edit, and / or delete (see 274) annotations of the model (e.g., within the model detail) and / or its features.
[0073] FIG. 3H shows an example of the cropped representation from FIG. 3G, but with an annotation on it indicating that the dimension between the edge 315 of the first portion 309 of the segmented model 300a and the center of the hole 317 in the first portion 309 is 0.5. The annotation may be added by a user viewing the cropped representation (e.g., as shown in FIG. 3G) and selecting the edge 315 and the center of the hole in the first portion 309 of the segmented model. Once these criteria are selected, computer 100 allows the user to input a dimension (with units) corresponding to the distance between the indicated criteria. In this case, once the annotation is added to the cropped representation of the computer-generated 3D model, computer 100 may automatically update the uncropped form of the computer-generated 3D model (e.g., as shown in FIG. 3A) to also include the annotation. In this way, if the user subsequently changes the view from the cropped representation (shown in FIG. 3H) to the uncropped version of the same representation, the added notation will be visible in the uncropped version.
[0074] According to the illustrated flowchart, the computer 100 (see 276) allows a user to simultaneously attach annotations such as dimensions to an inner division (e.g., the first division 309 of the divided model) and an outer division (e.g., the second division 313 of the divided model).
[0075] FIG. 3I shows a computer-generated 2D view of the first portion 309 of the segmented model of FIG. 3G, with an annotation placed on it indicating that the dimension between the center of the hole 317 in the first portion 309 of the segmented model and the back edge of the object is 5.5. The back edge is not part of the first portion 309 of the segmented model and is not shown in FIG. 3I. The back edge is part of the second portion of the segmented model, which is not shown in the 2D view of FIG. 3I. The annotation shown may have been added by a user selecting the back edge of the segmented model and the center of the hole in the first portion 309 of the segmented model while viewing an uncropped representation (e.g., as shown in FIG. 3A) or a cropped representation including both the first and second portions of the segmented model (e.g., as shown in FIG. 3F). Once the user selects these fiducials, computer 100 allows the user to enter a dimension (with units) corresponding to the distance between the fiducials shown. The view of FIG. 3I can also be displayed without the annotated dimensions.
[0076] Further, according to the illustrated flowchart, computer 100 (see 278) is configured to simultaneously display values attached to features of the CAD model within an inner segment (e.g., segmented model first portion 309) and display dimensions from the unsegmented CAD model (e.g., the CAD model before segmentation) on an outer segment (e.g., segmented model second portion 313). Thus, computer 100 may display, for example, both the dimensions annotated in Figure 3H and the dimensions annotated in Figure 3I within a segmented view of the 3D model.
[0077] The computer 100 (see 280) allows a user to store / save, recall, and / or edit model details (e.g., pictorial representations of segmented CAD models or portions thereof), their attributes (e.g., zoom value, direction, view name, etc.), and / or their contents, such as annotations (e.g., conforming to the American Society of Mechanical Engineers (ASME) Y14.41 standard).
[0078] The computer 100 (see 282) allows the user to close the model detail view (of the segmented CAD model) and, in response, displays an unsegmented version of the same CAD model. The computer 100 (see 284) then allows the user to recall the saved model detail view (e.g., of the segmented modeled object) by interacting with a user interface within the model editing or model-based definition (MBD) environment while another view state (e.g., the unsegmented version of the CAD model) is displayed.
[0079] According to FIG. 2H , if the user (at 286) selects deactivation of the model detail, the computer 100 may (at 288) restore a view of the unsplit CAD model (i.e., the form of the split CAD model in the model detail as it was displayed before splitting). As explained, annotations in a model detail may remain viewable even if the model detail is not active. The computer also (at 290) allows the user to later restore / activate the model detail at any time while the model is open in any available model editing or model-based definition (MBD) environment. Typically, the user can do this by interacting with (e.g., selecting) a user interface element representing the model detail in a saved model view list. It is worth noting that in an exemplary embodiment, the computer 100 may be configured to save multiple model details for each CAD model in any available model editing or model-based definition (MBD) environment. In this regard, some (or all) of the multiple model details may be associated with (and based on) the same cross section through modeled objects. Alternatively, or additionally, one or more of the multiple model details may be associated with (and based on) one or more different cross sections through the modeled object.
[0080] In an exemplary embodiment, computer 100 allows a user to specify the degree of scaling for a cropped representation of a computer-generated 3D model. Figure 3J illustrates an example of scaling for a 2D cropped representation of a computer-generated 3D model. In the illustrated example, it can be seen that the 2D cropped representation of the computer-generated 3D model shows 12% of the total height of the computer-generated 3D model, occupying most of the total available height in the graphics area of the user interface. This provides the viewer with the ability to clearly see even the smallest details of the computer-generated 3D model within the area of the cropped representation.
[0081] FIG. 4A illustrates a series of on-screen elements that may be presented to a user to facilitate generating a cropped representation of a CAD 3D model, according to an example embodiment. Starting at the far left of the figure, the figure shows an example band of icons, with one icon (the Model Detail icon) shown closest (circled) to the fingertip. Selecting an icon (e.g., by touch) launches a user experience that includes access to functionality disclosed herein associated with generating a cropped representation of a CAD 3D model. As noted above, in the illustrated embodiment, the Model Detail icon is embedded in the Create View tab within the action bar on the illustrated screen and can be used to launch the Create View tab. As also described, when using a desktop version of the program, for example, the cursor may reflect the active command.
[0082] Next, in response to the user selecting the Model Detail icon, the computer, according to the illustrated embodiment, presents a Detail command panel. As explained, this typically appears in the graphics area immediately after initiating the command. The Detail command panel includes fields titled "Projection Plane" and "View Name." The "Projection Plane" field allows the user to identify the projection plane (i.e., the surface on which the geometry is initially placed) to the system. The "View Name" field allows the user to specify the name of the view being created. An annotation color selector is provided. Additionally, there is a section titled "Contour Settings," which includes drop-down menus that allow the user to specify a "Trimming Contour," "Line Style," and line thickness. According to the illustrated example, selectable items in the "Trimming Shape" menu include ellipse, rectangle, and irregular shape. Selectable items in the "Line Style" menu include various border thicknesses (in the illustrated example, the default selection is 0.13 mm) that identify or will identify the boundary line between included and excluded geometry. In the illustrated example, the range of border thicknesses is from 0.13 mm to 2.6 mm. This range and the specific entries within the range can, of course, vary. The selectable items provided in the "Line Thickness" menu include various border styles (in the illustrated example, the default selection is a solid line) that specify or will specify the boundary line between the included and excluded geometry. In the illustrated example, the range of border styles includes solid, dashed, centered, dashed-dot, dashed-dot, stitched, and thin / thick dashed. This list of possible border styles can be modified by adding, removing, or replacing.
[0083] Finally, at the bottom of the Detail command panel is a "Model Transparency" section. The "Model Transparency" section of the panel allows the user to specify the characteristics associated with any excluded geometry in the 3D model. The available choices in the example shown include Hidden, Transparent, and Solid.
[0084] 4B and 4C show examples of on-screen elements that may be further presented to a user to facilitate generating a cropped representation of a CAD 3D model, according to an example embodiment. Referring to FIG. 4B , after the user selects a projection plane, computer 100 orients the corresponding plane (i.e., the plane selected by the user, i.e., “Plane.1” in the illustrated example) for easier viewing (e.g., facing toward the viewer) and highlights (or visually distinguishes) the plane. In the illustrated example, Surface.1 is labeled (and facing outward) on the model. Note that the orientation of the model shown is not locked, so the user can still use the mouse wheel, for example, to view the model in a different orientation. Also noteworthy is that cropping contours are displayed when the “Projection Plane” field is selected. For example, in the illustrated example, the “Projection Plane” field containing the identifier for Surface.1 is selected, and a labeled ellipse appears on the 3D model on Surface.1. The ellipse appears because “Ellipse” was selected in the “Cropping Contour” field.
[0085] FIG. 4C notes that after selecting a projection plane, if the user interacts with the trimming contour (or any other parameter in the Model Detail dialog box), the highlighting of the face is removed. In the illustrated example, the user likely selected and moved the ellipse, Face.1, from its initial location (e.g., its center) to a position in the upper right corner of the illustrated model shown in FIG. 4C. Notably, as a result of this movement, Face.1 of the model in FIG. 4C is no longer highlighted.
[0086] FIG. 4D shows three example trimming contours as they are placed on the surface of a 3D model. As explained, for the elliptical trimming contour (top left image), the contour has a central robot for moving to the appropriate points on the screen. Additionally, a directional robot allows the ellipse to be extruded in two directions to define the ellipse's dimensions. As explained further, for the rectangular trimming contour (middle image), the contour also has a central robot for moving to the appropriate points on the screen. Additionally, a directional robot allows the rectangle to be extruded in two directions to define the shape's dimensions. As explained further, for the irregular trimming contour (bottom image), the contour also has a central robot for moving to the appropriate points on the screen. Additionally, the spline has four points that allow the user to adjust the shape to an amorphous contour. The shape remains tangent at these points as the user manipulates the shape. Many variations are possible.
[0087] 4E and 4F show examples of view appearance, reconfiguration, and mode bar. As shown in the image of FIG. 4E, the mode bar shown is displayed when the model transparency is set to hidden or solid. Once the dropped contours are confirmed and the command is closed, the created geometry is shown with the unselected line style defined in the dialog. If the cut geometry is not hidden, it will be displayed in the view when the dialog is closed. As shown in the image of FIG. 4F, the mode bar shown is displayed when the model transparency is set to transparent. A translucency slider appears, allowing the user to adjust the transparency of the cut side of the model. As further explained, if geometry is hidden as part of the command dialog, the resulting view excludes the hidden geometry and reconfigures around the remaining trimming contours and geometry.
[0088] FIG. 4G shows an example of a view edit. As explained, to edit a model detail, the user can select the view management icon in the mode bar. When this dialog is displayed, in the illustrated embodiment, the projection plane field is hidden because the user generally cannot change the view orientation after creating the view. The user can use on-screen controls to edit the placement of trimming contours, the visibility of the cut side of the model, and the style of the cut contour lines when the dialog is open.
[0089] A number of embodiments of the present invention have been described. However, it will be understood that various modifications can be made without departing from the spirit and scope of the invention. The cropped form of the computer-generated 3D CAD model can be displayed in any number of different ways. For example, the computer 100 may display the computer-generated 3D CAD model with excluded geometry (e.g., the second portion of the segmented model) shown as transparent or with only edges that have a special line font, such as a thin dotted line, that identifies the excluded geometry as not being of standard display quality as the non-excluded geometry (e.g., the first portion of the segmented model).
[0090] There are various techniques that can display a view of a 3D model with some (e.g., excluded) portions removed from view (or displayed as transparent, e.g., with only an outline) while still showing some (e.g., included) portions. For example, in some embodiments, a computer may identify an active view, use a cut plane within the view to identify portions of geometry to remove (e.g., exclude) from view, and use a boolean mechanism to remove graphical representations of the displayed elements that make up the identified (excluded) geometry while retaining graphical representations of all other geometry (e.g., included geometry). This process essentially hides the removed (e.g., excluded) geometry and displays the remaining (e.g., included) geometry behind the removed geometry. Additionally, the computer may apply graphical representations of, for example, caps as surfaces where geometry intersects with the cut plane.
[0091] More specifically, the computer may be configured to provide multiple (e.g., up to four) cut planes within the dialog. These planes may be passed to the computer's graphics renderer. When the computer draws, the computer 100 sends the entire model to be rendered as usual, but during compositing, when the computer calculates the location of pixels to be rendered on the screen (the fragment shader stage), the computer determines for each pixel which side of the cut plane it lies. This may be done using a simple dot product function. The computer skips (discards) any pixels (called fragments) that are determined to be on the cut side of a cut plane. The computer essentially skips rendering each of these pixels, making the model appear cut on the screen. To display caps, the computer may use a stencil process in which the computer identifies cut areas and fills them with a color (e.g., blue by default, or the color of the component). In this scenario, there are no physical edges or faces that the computer can see along the cut planes.
[0092] Thus, in some embodiments, generating and displaying a graphical cross-sectional view (or cropped representation) is a graphical process in which the computer renders the entire model but applies, for example, using GLSL (OpenGL Shading Language) shaders, discarding fragments that do not pass a test with clip planes. This functionality may be used in a fragment shader that discards when the computer returns true.
[0093] In various embodiments, some computer components disclosed herein may be implemented by one or more computer-based processors (collectively referred to herein as processors) executing computer-readable instructions stored on non-transitory computer-readable media to perform corresponding computer-based functions. The one or more computer-based processors may be virtually any type of computer-based processor, may be contained in a single housing or distributed across a network, and may reside in one or more physical locations, and the non-transitory computer-readable media may be or include any one or more of a variety of different computer-based hardware memory / storage devices, whether contained in a single housing or distributed across a network, and may reside in one or more different locations.
[0094] Certain functionality is described herein as being accessible or activated by a user selecting an on-screen element (e.g., a button, etc.), which should be interpreted broadly to include any kind of user-selectable visual element or other user-interactive element.
[0095] The systems and techniques disclosed herein may be implemented in a wide variety of ways. In one exemplary embodiment, the systems and techniques described herein may be incorporated into the SOLIDWORKS® computer program available from Dassault Systèmes, the assignee of the present application. In various embodiments, the systems and techniques may be deployed in other ways.
[0096] It should be understood that the exemplary embodiments described herein may be implemented in many different ways. In some examples, the various methods and machines described herein may each be implemented by a general-purpose computer, such as a physical, virtual, or hybrid computer system, or a computer network environment, such as those described herein. A computer / system may be converted into a machine that performs the methods described herein, for example, by loading software instructions into either memory or non-volatile storage and executing them on a CPU. Those skilled in the art should understand that a computer / system and its various components may be configured to implement any embodiment or combination of embodiments of the present invention described herein. Furthermore, the system may implement the various embodiments described herein using any combination of hardware, software, and firmware modules internal to, external to, or operably coupled to, or embedded in, the computer / system.
[0097] Various aspects of the subject matter disclosed herein can be implemented in digital electronic circuitry, or in computer-based software, firmware, or hardware, including the structures disclosed herein and / or their structural equivalents, and / or combinations thereof. In some embodiments, the subject matter disclosed herein can be implemented in one or more computer programs, i.e., one or more modules of computer program instructions encoded on a computer storage medium for execution by or to control the operation of one or more data processing devices (e.g., processors). Alternatively, or additionally, the program instructions can be encoded in an artificially generated propagated signal, such as a machine-generated electrical, optical, or electromagnetic signal generated to encode information for transmission to an appropriate receiving device for execution by a data processing device. The computer storage medium can be, or can be contained within, a computer-readable storage device, a computer-readable storage substrate, a random-access or serial-access memory array or device, or a combination thereof. A computer storage medium should not be considered solely as a propagating signal, but may also be the source or target of computer program instructions encoded in an artificially generated propagating signal. A computer storage medium may also be, or may be contained within, one or more separate physical components or media, such as, for example, multiple CDs, computer disks, and / or other storage devices.
[0098] Certain operations described herein (e.g., aspects of the operations depicted in the flowcharts and / or other operations disclosed herein) can be performed as operations performed by a data processing apparatus (e.g., a processor / specially programmed processor / computer) on data stored in one or more computer-readable storage devices or received from other sources, such as a computer system and / or a network environment. The term "processor" (or its variants) encompasses all types of apparatus, devices, and machines that perform data processing, including, by way of example, a programmable processor, a computer, a system on a chip, or a combination thereof. An apparatus can include, for example, special-purpose logic circuitry such as an FPGA (field-programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, an apparatus can also include code that creates an execution environment for the computer program, such as code comprising processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or one or more combinations thereof. The apparatus and execution environment can implement a variety of computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.
[0099] While the specification contains many specific example details, these should not be construed as limiting the scope of the invention or what may be claimed, but rather as descriptions of features specific to particular embodiments of a particular invention. Certain features that are described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, while features may be described above as acting in a particular combination, and may even initially be claimed as such, one or more features from a claimed combination may, in some cases, be deleted from that combination, and the claimed combination may be directed to a subcombination or variation of the subcombination.
[0100] Similarly, although operations may be described herein as being performed in a particular order or manner, this should not be understood as requiring that such operations be performed in the particular order shown, or sequentially, or that all of the operations shown be performed, to achieve desirable results. Multitasking or parallel processing may be advantageous in certain situations. Furthermore, the separation of various system components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems may generally be integrated together in a single software product or packaged in multiple software products.
[0101] Other embodiments are within the scope of the claims.
Claims
1. 1. A computer-based method comprising: creating a cropped representation of a three-dimensional (3D) computer-aided design (CAD) model for use in manufacturing a real-world object from the computer-generated 3D CAD model; displaying the computer-generated 3D CAD model on a computer display; receiving an indication that an element from the displayed computer-generated 3D model has been selected as a target geometry for placement of a boundary shape; receiving inputs defining the boundary shape and creating the boundary shape on the selected target geometry; extending a perimeter of the boundary shape in a normal direction through the computer-generated 3D CAD model to establish a boundary through the computer-generated 3D CAD model; dividing the computer-generated 3D CAD model at the boundary to separate a first portion of the computer-generated 3D CAD model inside the boundary from a second portion of the computer-generated 3D CAD model outside the boundary; creating a pictorial representation of the cropped representation of the computer-generated 3D CAD model based on the segmented computer-generated 3D CAD model by visually displaying the first portion of the computer-generated 3D CAD model that is inside the boundary and by hiding or displaying as transparent having only edges the second portion of the computer-generated 3D CAD model that is outside the boundary.
2. The computer-based method of claim 1 , further comprising displaying the boundary as a solid surface within the pictorial depiction of the cropped representation of the computer-generated 3D CAD model.
3. The computer-based method of claim 1 , further comprising, prior to creating the bounding shape, determining whether the element selected as target geometry is a valid choice for placement of the bounding shape.
4. Determining whether the element selected as the target geometry is a valid choice for placement of the boundary shape includes: The computer-based method of claim 3 , further comprising verifying that the selected element is a planar surface or a reference geometric plane on the computer-generated 3D model.
5. The creation of the boundary shape on the selected target geometry includes: requesting selection of a type of boundary shape to be placed on the selected target geometry; receiving an indication that a boundary shape type has been selected in response to the request; activating a drawing tool corresponding to the selected boundary shape type to allow creation of the boundary shape in a format corresponding to the selected boundary shape type; 2. The computer-based method of claim 1, further comprising receiving input from the drawing tool to create and position the bounding shape on the selected target geometry.
6. 2. The computer-based method of claim 1, further comprising: saving the boundary shape as a supplemental geometry or sketch entity logically associated with the trimmed representation of the computer-generated 3D CAD model under construction in which the boundary shape was previously created.
7. generating the graphical representation of the cropped representation of the computer-generated 3D CAD model based on the segmented computer-generated 3D CAD model, providing the computer-generated 3D CAD model in its entirety to a graphics renderer of the computer which generates the graphical representation; determining, for each pixel of the computer-generated 3D CAD model provided to the graphics renderer, whether the pixel is in the first portion of the computer-generated 3D CAD model or in the second portion of the computer-generated 3D CAD model; determining whether to render the pixel based on whether the pixel is determined to be in the first portion of the computer-generated 3D CAD model or the second portion of the computer-generated 3D CAD model.
8. The computer-based method of claim 1 , further comprising saving the cropped representation of the computer-generated 3D CAD model as a restorable view state of the computer-generated 3D CAD model.
9. 10. The computer-based method of claim 1, further comprising using the computer-generated 3D CAD model and the cropped representation of the computer-generated 3D CAD model to fabricate a real-world object that corresponds to the computer-generated 3D CAD model and the cropped representation of the computer-generated 3D CAD model.
10. manufacturing a real-world object using the computer-generated 3D CAD model and the trimmed representation of the computer-generated 3D CAD model, 10. The computer-based method of claim 9, further comprising transferring data associated with the computer-generated 3D CAD model and the trimmed representation of the computer-generated 3D CAD model to a computer numerically controlled (CNC) machine via an interface on the computer to direct the CNC machine to manufacture the real-world object.
11. A system comprising a computer, The computer A computer processor; a computer display screen; a computer-based memory operably coupled to the computer processor; the computer-based memory storing computer-readable instructions that, when executed by the computer processor, cause the computer-based system to generate a cropped representation of a three-dimensional (3D) computer-aided design (CAD) model for use in manufacturing a real-world object from the computer-generated 3D CAD model; The method comprises: displaying the computer-generated 3D CAD model on the computer display screen; receiving an indication that an element from the displayed computer-generated 3D model has been selected as a target geometry for placement of a boundary shape; receiving inputs defining the boundary shape and creating the boundary shape on the selected target geometry; extending a perimeter of the boundary shape in a normal direction through the computer-generated 3D CAD model to establish a boundary through the computer-generated 3D CAD model; dividing the computer-generated 3D CAD model at the boundary to separate a first portion of the computer-generated 3D CAD model inside the boundary from a second portion of the computer-generated 3D CAD model outside the boundary; creating a pictorial representation of the cropped representation of the computer-generated 3D CAD model based on the segmented computer-generated 3D CAD model by visually displaying the first portion of the computer-generated 3D CAD model that is inside the boundary and by hiding or displaying as transparent with only edges the second portion of the computer-generated 3D CAD model that is outside the boundary.
12. The system of claim 11 , wherein the creating the pictorial representation of the cropped representation of the computer-generated 3D CAD model further comprises displaying the boundary as a solid surface.
13. 12. The system of claim 11, wherein the method further comprises, before creating the bounding shape, determining whether the element selected as target geometry is a valid selection for placement of the bounding shape, and determining whether the element selected as target geometry is a valid selection for placement of the bounding shape comprises verifying that the selected element is a flat surface or a reference geometry plane on a computer-generated 3D model.
14. The system of claim 11 , wherein the boundary shape is stored in the computer-based memory as a supplemental geometry or sketch entity logically associated with the trimmed representation of the computer-generated 3D CAD model under construction from which the boundary shape was previously created.
15. the computer further comprising a graphics renderer; the computer-generated 3D CAD model is provided in its entirety to the graphics renderer which generates the graphical representation; The generation of the graphical representation further comprises, for each pixel of the computer-generated 3D CAD model provided to the graphics renderer: determining whether the pixel is in the first portion of the computer-generated 3D CAD model or in the second portion of the computer-generated 3D CAD model; and determining whether to render the pixel based on whether the pixel is determined to be in the first portion of the computer-generated 3D CAD model or the second portion of the computer-generated 3D CAD model.
16. The system of claim 11 , further comprising: storing the cropped representation of the computer-generated 3D CAD model in the computer-based memory as a restorable view state of the computer-generated 3D CAD model.
17. a real-world machine that manufactures a real-world object corresponding to the computer-generated 3D CAD model; The system of claim 11 , wherein the computer-generated 3D CAD model and the trimmed representation of the computer-generated 3D CAD model are used in connection with manufacturing the real-world object using the real-world machine.
18. 20. The system of claim 17, wherein the real-world machine is a computer numerically controlled (CNC) machine connected to the computer via an interface.
19. A non-transitory computer-readable medium, comprising:
1. A non-transitory computer-readable medium having stored thereon computer-readable instructions that, when executed by a computer-based processor, cause the computer-based processor to generate a cropped representation of a three-dimensional (3D) computer-aided design (CAD) model for use in manufacturing a real-world object from the computer-generated 3D CAD model, according to a method comprising: displaying the computer-generated 3D CAD model on a computer display; receiving an indication that an element from the displayed computer-generated 3D model has been selected as a target geometry for placement of a boundary shape; receiving inputs defining the boundary shape and creating the boundary shape on the selected target geometry; extending a perimeter of the boundary shape in a normal direction through the computer-generated 3D CAD model to establish a boundary through the computer-generated 3D CAD model; dividing the computer-generated 3D CAD model at the boundary to separate a first portion of the computer-generated 3D CAD model inside the boundary from a second portion of the computer-generated 3D CAD model outside the boundary; creating a pictorial representation of the cropped representation of the computer-generated 3D CAD model based on the segmented computer-generated 3D CAD model by visually displaying the first portion of the computer-generated 3D CAD model that is inside the boundary and by hiding or displaying as transparent with only edges the second portion of the computer-generated 3D CAD model that is outside the boundary.
20. 20. The non-transitory computer-readable medium of claim 19, wherein the method further comprises displaying the boundary as a solid surface within the pictorial depiction of the cropped representation of the computer-generated 3D CAD model.