Generating tailoring representation of computer-aided design three-dimensional model

By displaying the 3D model on a computer monitor and generating crop representations partitioned, the problem of lack of detailed views and crop views in the MBD environment is solved, and specific geometric figures are clearly defined in the 3D model, improving the efficiency and accuracy of design and manufacturing.

CN120387204APending Publication Date: 2025-07-29DASSAULT SYSTEMES SOLIDWORKS CORP
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510130595.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-01-29
Filing Date
2025-02-05
Publication Date
2025-07-29

Smart Images

  • Figure CN120387204A_ABST
    Figure CN120387204A_ABST
Patent Text Reader

Abstract

A method of generating a cropped view of a computer-generated three-dimensional (3D) computer-aided design (CAD) model 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, and generating a cropped view of the model. The method includes forming a boundary shape on a model, extending a boundary line of the boundary shape in a normal direction through the model to establish a boundary, partitioning the model at the boundary to divide a first portion of the model located within the boundary and a second portion of the model located outside the boundary, and visually displaying the first portion of the model located within the boundary based on the partitioned model. And generating a visual description of the clipping representation of the model by hiding or displaying a second portion of the model outside the boundary in a transparent state with only edges.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of design, and more particularly, to computer-based systems and methods for generating a trimmed representation of a computer-aided design (CAD) three-dimensional (3D) model. Background Art

[0002] Computer-aided design (CAD) software enables users to construct, view, and manipulate three-dimensional (3D) models.

[0003] These models can be created using a variety of different modeling techniques, including, for example, solid modeling, wireframe modeling, and surface modeling. CAD software can incorporate these and / or other modeling techniques, such as parametric modeling techniques.

[0004] CAD systems can support two-dimensional (2D) representations of 3D objects. Considering 2D and 3D representations can be beneficial at different stages of the design process.

[0005] Typical users of 3D CAD systems are design engineers. Design engineers design the physical and aesthetic aspects represented in 3D models and are generally proficient in 3D modeling techniques.

[0006] Trimming refers to the process of removing or hiding a first part of a single component or product assembly from an image, while a second part of the single component or product assembly remains intact and visible in the image. A trimmed representation of an object can help show details of a part or product to a design engineer or manufacturer that may be difficult to discern without trimming. Summary of the Invention

[0007] In one aspect, a computer-based method is disclosed for creating a trimmed representation of a computer-generated three-dimensional (3D) computer-aided design (CAD) model. The method includes: displaying the model on a computer monitor, receiving an indication that an element from the displayed model has been selected as target geometry, creating a boundary shape on the selected target geometry, extending boundary lines of the boundary shape in a normal direction through the model to establish a boundary, partitioning the model at the boundary to divide the model into a first part located within the boundary and a second part located outside the boundary of the model, and generating a visual description of the trimmed representation of the model based on the partitioned model by visually displaying the first part of the model located within the boundary and by hiding or displaying the second part of the model located outside the boundary as a transparent state with only edges. In a typical implementation, the method includes displaying the boundary as a solid surface in the visual description of the trimmed representation of the computer-generated 3D CAD model.

[0008] On the other hand, a computer-based system is disclosed for generating a cropped representation of a computer-aided design three-dimensional (3D) model. The computer-based system includes one or more computer processing devices; and a computer-based memory operably connected 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 that includes: displaying a 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 the boundary lines of the boundary shape in a normal direction through the model to establish a boundary, partitioning the model at the boundary to divide out a first portion of the model that is within the boundary and a second portion of the model that is outside the boundary, and based on the partitioned model, generating a visual description of the cropped representation of the model by visually displaying the first portion of the model that is within the boundary and by hiding or displaying the second portion of the model that is outside the boundary as a transparent state with only edges. In a typical implementation, the method includes displaying the boundary as a solid surface in the visual description of the cropped representation of the computer-generated 3D CAD model.

[0009] 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 cropped representation of a computer-aided design three-dimensional (3D) model according to a method that includes: displaying a 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 the boundary lines of the boundary shape in a normal direction through the model to establish a boundary, partitioning the model at the boundary to divide out a first portion of the model that is within the boundary and a second portion of the model that is outside the boundary, and based on the partitioned model, generating a visual description of the cropped representation of the model by visually displaying the first portion of the model that is within the boundary and by hiding or displaying the second portion of the model that is outside the boundary as a transparent state with only edges. In a typical implementation, the method includes displaying the boundary as a solid surface in the visual description of the cropped representation of the computer-generated 3D CAD model.

[0010] In some embodiments, there are one or more of the following advantages.

[0011] For example, in a computer-implemented model-based definition (MBD) environment, the systems and techniques disclosed herein focus on specific geometries of a computer-generated 3D model of a product (object), excluding other geometries of the computer-generated 3D model of the product. This helps to focus on the product definition of specific geometries in a manner similar to traditional hand-drawn 2D drawings provided in the form of detail views and cutaway views. In various embodiments, for example, the systems and techniques disclosed herein are generally capable of quickly generating 3D model demonstrations in a computer-implemented MBD environment to separate the geometries provided by detail views and cutaway views according to international standards. In various embodiments, the systems and techniques disclosed herein apply such model demonstrations in 2D drawings in a manner that allows interaction with the separated geometries to measure and annotate data while referring to the complete geometry of the product when demonstrating the separated geometries.

[0012] In addition, in various embodiments, the systems and techniques disclosed herein provide controls to generate and modify the geometry of a separation boundary that determines the separated geometries (geometries included in the demonstration) and the excluded geometries (geometries removed from the demonstration). By further extension, embodiments of the systems and techniques disclosed herein display the separated geometries as separate demonstrations in the 3D model in a manner that does not interfere with or modify the 3D model geometry. The partitioned or cutaway view state shows the separated geometries from the computer-generated 3D model and can be displayed in a different view from the unpartitioned or uncut view. Generally, if changes are made to the computer-generated 3D model in the partitioned or cutaway view state, the corresponding computer-generated 3D model in the unpartitioned or uncut view state is updated to reflect the change, and if changes are made to the computer-generated 3D model in the unpartitioned or uncut view state, the computer-generated 3D model in the partitioned or cutaway view state is updated to reflect the change.

[0013] In a computer-implemented 3D modeling assembly environment, embodiments of the systems and techniques disclosed herein allow separation of geometries from multiple bodies and components of a 3D model assembly. In addition, embodiments of the systems and techniques disclosed herein enable a user to specify the scale of the separated geometry demonstration in a partitioned or cutaway view of the computer-generated 3D model, and this scale can be different (e.g., larger) from the scale of the corresponding unpartitioned or uncut view of the computer-generated 3D model. This improves the efficiency of viewing the partitioned or cutaway view and the unpartitioned or uncut view of the computer-generated 3D model.

[0014] In addition, embodiments of the systems and techniques disclosed herein generate sectional views (e.g., sectional or cutaway views) without the need to have the functionality to cut the model. Additionally, the resulting sectional or cutaway views can be stored in the model.

[0015] The ability of design engineers to easily view a computer-generated 3D model and its sectional or cutaway views 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 generate the final model of a real-world object (or product) to be manufactured. This is because the design engineer will have a better understanding of the various aspects of the product, including aspects that are clearly shown in the sectional or cutaway views but difficult to distinguish in the uncut view.

[0016] Once the model is complete, one or more real-world machines and / or manufacturing techniques are used to manufacture the real-world object. Embodiments of the systems and techniques disclosed herein include using the results of the design / modeling process for manufacturing the real-world object and manufacturing the real-world object based on those results. Thus, when using the output, the design / modeling has an impact on the physically real-world object and its manufacturing. In some embodiments, the manufacturer can consult the original computer-generated 3D model, any 2D drawings derived therefrom, and / or any cutaway views of the original computer-generated 3D model to fully understand the design, setup, and / or control of the manufacturing machinery and processes.

[0017] In some embodiments, data related to and representing the model (including information in the cut representation of the model) can be input into a CNC machine through the input / output interface of a computer, and the data can be fed to the CNC machine to guide the CNC machine in manufacturing a real-world version of the object represented by the computer-generated virtual 3D model. CNC stands for "computer numerical control", and a CNC machine is a programmable machine capable of autonomously performing various manufacturing operations (e.g., based on a computer-generated 3D model).

[0018] Other features and advantages will be apparent from the specification and drawings and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 is a schematic diagram of an exemplary computer configured to generate a cut representation of a computer-aided design (CAD) three-dimensional (3D) model.

[0020] Figures 2A to 2H is a flowchart representation identifying computer-implemented processes and functions for generating a cut representation of a computer-generated 3D CAD model.

[0021] Figures 3A to 3IVisual descriptions of computer-generated 3D models or portions thereof (e.g., which can be displayed on the user interface of a CAD program) at various stages of the cropping process.

[0022] Figure 3J Represents an example of scaling in the context of a 2D cropped representation of a computer-generated 3D model.

[0023] Figures 4A to 4C Shows a series of screen elements presented to a user according to an exemplary embodiment.

[0024] Figure 4D Shows three examples of placing a cropping profile on the surface of a 3D model.

[0025] Figure 4E and Figure 4F Show examples of view appearance, recomposition, and the mode bar, respectively.

[0026] Figure 4G Shows an example of an edit view.

[0027] Like reference characters refer to like elements. Detailed Description

[0028] A variety of terms are used herein to describe various concepts. Unless otherwise noted, the following terms and their variants should be understood to have meanings consistent with those described below.

[0029] For example, the term "computer-aided design" (or CAD) as used herein refers to the design of individual components and / or product assemblies, for example, with the aid of a computer. The computer can assist in creating, modifying, analyzing, and / or optimizing the individual components and / or product assemblies being designed in a CAD environment. For example, the individual components and / or product assemblies can be represented in one or more plans or specifications, including three-dimensional models stored in computer-based memory, and can include various manufacturing specifications, for example, in the context of model-based definition (MBD). The computer software provided by Dassault Systèmes SolidWorks Corporation, the applicant of the present application, is an example of a software program capable of facilitating such computer-aided design. However, the term "computer-aided design" (or CAD) should be construed broadly to include any computer software, device, or system that includes or is capable of including or facilitating the functions disclosed herein for generating a cropped representation of a computer-aided design (CAD) three-dimensional (3D) model based on a computer.

[0030] ​The term "model editing environment" refers to a computer-implemented environment in which a visual description of a real-world object corresponding to a virtual 3D model and / or a portion thereof can be created, displayed, and / or edited via a visual interface on a computer monitor. In a typical embodiment, the model editing environment will include or provide access to user-selectable tools to facilitate the creation and / or editing of the model.

[0031] The term "model-based definition" (or "MBD"), sometimes also referred to as digital product definition (or DPD), refers to the practice of using 3D models in a 3D CAD software environment to define (provide specifications for) individual components and / or product assemblies. The 3D model may include, for example, solid models alone or in combination with 3D product and manufacturing information (PMI), and / or associated metadata. The types of information included in MBD may include, for example, geometric dimensioning and tolerancing (GD&T) information, component-level material information, assembly-level bill of materials, engineering configuration information, design intent information, etc. MBD can be contrasted with traditional methods that, for example, require the simultaneous use of two-dimensional (2D) engineering drawings to provide such information.

[0032] The term "model-based definition environment" refers to a computer-implemented environment in which data from and about a 3D virtual model can typically be accessed via a user interface on a computer monitor in a model-based definition manner.

[0033] The term "cropping" refers to the process in which a first portion of an individual component or product assembly in an image is removed or hidden, while a second portion of the individual component or product assembly remains intact and visible in the image. A "cropped view" is a view produced by cropping. Some cropped views can be considered detail views.

[0034] The term "model detail view" refers to a visual description that shows at least a portion of a model and can be a cropped view or include a cropped view. The portion of the model can be, for example, a front view, a non-planar (isometric) view, a sectional view, a cropped view, an exploded assembly view, or other detail view. Model detail views are typically presented on a computer monitor via a user interface, but can of course also be printed. Model detail views can be displayed at an enlarged scale relative to the original model.

[0035] Terms such as "processor" refer to any one or more computer-based processing devices. A computer-based processing device is a physical component capable of performing computer functions by executing computer-readable instructions stored in memory.

[0036] Terms such as "memory" refer to any one or more computer-based memory devices. A computer-based memory device is a physical component capable of storing computer-readable instructions that, when executed by a processor, cause the processor to perform related computer functions.

[0037] Related technologies

[0038] In a 2D drawing environment, detail views and cutaway views provide a way to isolate geometry from the complete representation of a product in order to focus on certain geometry and thus more clearly define the product. Such representations are typically limited to the 2D environment and are usually only used in drawings or similar 2D constrained environments.

[0039] Dassault Systèmes' computer software has the concept of being able to create a Model Break View, and this computer software has its own way of representing the traditional 2D concept of a model break view in a 3D environment for display in that environment and subsequently in the 2D environment on a drawing. This method is specifically for the equivalent representation of break views but does not provide a way to isolate geometry to meet the 3D equivalent requirements of the detail view and cutaway view concepts in a model-based definition (MBD) environment. The new systems and methods disclosed herein support these other types of 3D views.

[0040] The current functionality allows a drafter to create a presentation that stores a specific orientation, zoom level, and view center. This allows the drafter to create a presentation state that can be zoomed in on and focused on a specific location on the product. However, this does not allow for the isolation of specific geometry in order to provide a clear focus for the product definition of that geometry in an MBD environment in the same way as detail views and cutaway views on a 2D drawing.

[0041] The systems and techniques disclosed herein differ from previous methods in terms of technical approach, execution, and output, and overcome or at least significantly reduce the technical limitations of previous systems and methods. There may be other technical differences between various previous technologies and the systems and techniques disclosed herein.

[0042] Technology Disclosure

[0043] With the expansion of CAD modeling, including in the area of model-based definition (MBD), new methods for displaying product definition information of 3D models (such as 3D models of mechanical components) have become desirable in an environment where 2D representation is eliminated or relegated to a secondary role. In this regard, the implementation of MBD is expected to provide modern 3D equivalent concepts for the display concepts used in the past for 2D representation.

[0044] Detail views are typically defined by international standards such as ISO (International Organization for Standardization) and ASME (American Society of Mechanical Engineers) as a type of drawing view on a drawing in the context of 2D representation. Detail views allow a specific part of the 2D representation of a product to be separated and removed from the complete representation of that product. This separation allows a drafter to create a drawing view focused on specific geometry while removing potential clutter of other geometry and elements that may make the 2D representation appear crowded. Detail views typically can also magnify the separated geometry to increase the space it occupies on the drawing, thus providing more space for product definition elements such as visual details, dimensions, and other annotations without making these elements appear crowded. Detail views are not typically used to replace the complete representation of a product, but rather are often sectional copies of a part of the complete representation that are shown separately on the same drawing but still retain a reference to the original drawing view from which they are derived. All of these features enable the drawing to display product definition (usually in the form of dimensions and other annotations) in a focused, concise, and more organized manner.

[0045] Clipping views can also be considered a type of drawing view that is defined by international standards such as ISO and ASME in the context of 2D representation. Clipping views are similar to detail views. One difference between clipping views and detail views is that clipping views are used to cut out a portion of the complete representation of a product and typically do not directly reference any other drawing views. Usually, clipping views are not magnified, but achieve the same effect of showing separated geometry as detail views by also excluding geometry from the view. This method is often used for long components where only one end is needed for product definition in the view, or for symmetric components where half of the complete representation can be removed and it is understood that the half shown represents both sides of the product. Thus, clipping views are typically used to save space on the drawing and simplify the product representation.

[0046] Although MBD typically applies annotations and other product definitions directly to the 3D CAD model itself (without using drawings) and does not require 2D representations, it is still desirable to provide a method for geometric separation and product display simplification in an MBD environment (i.e., an environment where a 3D model is available for querying and product definitions such as dimensions and other annotations can be applied), which allows drafters to provide product definition information, for example, focusing on specific geometries and excluding geometries that may interfere with or otherwise limit the human readability of such product definitions. Basically, a 3D representation equivalent to 2D representations (i.e., detail views and cutaway views) is needed in MBD.

[0047] Figure 1 is a schematic diagram of an exemplary computer 100 that is configured to generate a cutaway visual representation of a computer-aided design (CAD) three-dimensional (3D) model of an object to be manufactured. The cutaway representation can appear in a variety of ways on a computer display device. For example, in some embodiments, the cutaway representation can appear when any excluded geometries are hidden (e.g., Figure 3D in), or have a different appearance (e.g., transparent and only the edges visible) relative to any part of the model that is visible in the cutaway representation (which can be shown as a solid) (e.g., Figure 3G in). Other variations are possible.

[0048] Referring again to Figure 1 , computer 100 has a processor 102, a computer-based memory 104, a computer-based storage 106, a network interface 108, an input / output device interface 110, and a bus for interconnecting the various components of computer 100. The bus serves as a communication medium through which the various components of computer 100 can communicate and interact. In a typical embodiment, computer 100 is configured to perform various functions, including, for example, generating a cutaway representation of a portion of a displayed CAD 3D model as described herein. The components of computer 100 generally interact with each other (and possibly with one or more external components) to perform and / or facilitate the execution of such functions.

[0049] Processor 102 is configured to perform the various computer-based processing functions disclosed herein and other functions. Generally, processor 102 performs these functions by executing computer-readable instructions stored on a computer-readable medium (e.g., in 104 or 106). In various embodiments, some of these functions may be performed with reference to data stored in a computer-readable medium and / or data received from some external source (e.g., an I / O device through the input / output (I / O) device interface 110, and / or an external network through the network interface 108).

[0050] Computer 100 has volatile and non-volatile memories. More specifically, in a typical implementation, memory 104 provides a volatile memory for storing 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. Additionally, in a typical embodiment, memory 106 provides a form of non-volatile memory that is used to store computer-readable instructions, such as instructions for implementing an operating system, configuration information, and the like. Various system memory resources (e.g., 104, 106) can also store data and other computer-readable information.

[0051] More specifically, in a typical implementation, memory 104 stores computer-readable instructions that, when executed by processor 102, cause processor 102 to perform the function of causing computer 100 to present a computer-aided design program to a user at computer 100, which includes the functions disclosed herein. An example of a computer-aided design program that can be adjusted to include the functions disclosed herein is a computer program provided by Dassault Systemes SolidWorks Corporation, the applicant of the present application. After being adjusted in this way, the computer-aided design program will have the ability to generate a trimmed representation of a CAD 3D model by executing the processes disclosed herein.

[0052] Network interface 108 is a component that enables computer 100 to connect to any one or more of various external computer-based communication networks (and connected devices), including, for example, local area networks (LANs), wide area networks (WANs), such as the Internet, and the like. In various implementations, network interface 108 can be implemented by hardware, software, or a combination of hardware and software.

[0053] Input / output (I / O) device interface 110 is a component that enables computer 100 to interface with any one or more input or output devices, such as a keyboard, mouse, display, microphone, speaker, printer, manufacturing machine (e.g., a computer numerical control (CNC) machine tool), and the like. In various implementations, the I / O device interface can be implemented by hardware, software, or a combination of hardware and software. In a typical implementation, a computer can include one or more I / O devices (e.g., a computer screen, keyboard, mouse, printer, touchscreen device, CNC machine tool, etc.) that are connected to I / O device interface 110. These I / O devices (in Figure 1(not shown) serve as human-machine-interfaces (HMIs) and are typically configured to enable a human user to interact with system 100 to access and use functions (especially functions related to computer-aided design), and to generate a clipped representation of a 3D model in a CAD environment (e.g., as provided by a computer program). The clipped representation of the original 3D model generated by the computer according to the typically user-specified clipping profile.

[0054] In one exemplary embodiment, computer 100 is connected to a display device (e.g., via I / O device interface 110) and is configured to present a visual representation of an interface oriented to a product design environment on the display device, such as the interface provided and included by a computer program. In a typical embodiment, the interface and its visual representation on a computer-based display device provide a way for the user to access the functions disclosed herein and display (e.g., display on a display device connected to I / O device interface 110) a visual representation of the original 3D model, as well as a clipped representation of the original 3D model generated by the computer typically according to a user-specified clipping profile. The interface and its visual representation displayed on a computer-based display device also typically provide a way for the user to access functions (via buttons, menus, pointers, and other screen widgets) to enable the user to interact with computer 100 in a manner that initiates and implements the functions disclosed herein.

[0055] In some embodiments, computer 100 and its various components may be contained within a single enclosure (e.g., in a personal laptop computer) or within a single workstation. In some embodiments, computer 100 and its various components may be distributed across multiple enclosures, possibly located at multiple locations on a network. Each component of computer 100 may include multiple versions of that component that can work together, and these multiple versions may be located at different physical locations and connected together via a network. For example, Figure 1 the processor 102 in may represent multiple discrete processors in one or more different physical locations and / or enclosures that work together to perform the processes attributable to processor 102 in a coordinated manner. There are many possibilities regarding the specific physical implementation.

[0056] In various embodiments, computer 100 may have Figure 1 additional elements not shown. These additional elements may include, for example, controllers, buffers (caches), drivers, repeaters, receivers, etc. Additionally, interfaces (e.g., 108, 110) may include Figure 1 elements not specifically shown, including, for example, address, control, and / or data connections to facilitate communication between the illustrated computer components.

[0057] Figures 2A to 2H is a flowchart showing an exemplary computer-implemented method that can be integrated into the design of a modeling object to be manufactured. More specifically, the method shown in the flowchart generates a trimmed representation of the modeling object from the 3D model of the modeling object to facilitate easy access to the manufacturing details of the modeling object, thereby facilitating the manufacturing of the modeling object. In one exemplary embodiment, the method shown can be implemented using Figure 1 computer 100.

[0058] Referring Figure 2A , the method shown starts at "Start", at which time the three-dimensional (3D) CAD model of the object to be manufactured has been created and is being stored in the memory of computer 100. During this process, according to what is shown in the flowchart, one of two potential preconditions exists: the 3D model is visible on the computer display in the model editing environment 202a, or the 3D model is visible on the computer display in the model-based definition (MBD) environment 202b.

[0059] Figure 3A shows an example of a visual description 300 of an exemplary object represented by a virtual 3D model. The virtual 3D model is an example stored in the computer memory at the start of the Figure 2A process and can appear on the screen during the process represented in the Figure 2A flowchart, for example as Figure 3A shown. Based on the modeling information, the object represented by the virtual 3D model is an object to be manufactured. The object has a square profile with chamfers, a larger circular opening in the center, and four smaller countersunk circular openings, one in each corner of the object. At the top of the object ( Figure 3A visible), a diamond-shaped platform with rounded corners surrounds the larger circular opening. In addition, four grooves are provided, each located along a corresponding edge of the object between adjacent corners. In each groove, two inner corners are rounded, and the outer edge of the groove extends to the outer edge of the object.

[0060] In one exemplary implementation, Figure 3A the object shown in Figure 2A can be the 3D model that appears as a visual description on the computer screen (

[0061] at 202a or 202b in Figure 2AIn the process shown in the flowchart, a human user (at 204) inputs a command via a user interface presented on a computer display, thereby initiating an operation to create a detailed view of a model (e.g., a cropped view of a visible object). In some embodiments, the user can input a command by interacting with or selecting graphical control elements (such as buttons, options in a shortcut menu, etc.) on the screen to initiate the indicated operation.

[0062] Next, in response to the operation initiated by the user, computer 100 (at 206) prompts the user to select a target geometry (e.g., select a target geometry from the modeling objects that appear on the computer display) from which to generate the detailed view of the model. Computer 100 can prompt the user in a variety of ways in this regard. In some embodiments, for example, the user interface can display a text message on the computer's display instructing the user to select a target geometry (e.g., select a target geometry from the objects displayed on the screen).

[0063] Now referring Figure 2B , the user (at 208) selects an element from the visible CAD model or MBD environment in response to the prompt on the screen. In various embodiments, the user can select the target geometry (e.g., an element in the model) in any one or more of a variety of possible ways. In one example, the user operates his or her mouse to position the cursor on the screen at a specific screen location corresponding to a particular geometry (such as a flat surface) that forms part of the visible model. Once positioned in this way, computer 100 may present the particular geometry in a visually distinct way relative to the rest of the visual description 300 of the modeling object to indicate to the user that the particular geometry can be selected as the target geometry. Next, the user can press a button or other touch sensor (such as on a mouse) to select the particular geometry associated with the cursor screen location, thereby selecting the particular geometry as the target geometry. Once selected, computer 100 can provide feedback to the user (e.g., presented as a message on the screen or visually in the visual description 300 of the modeling object) indicating that the particular geometry has been selected. In a typical embodiment, computer 100 also saves the selection to memory.

[0064] In a typical embodiment, the target geometry selected by the user at 208 serves as a reference geometry in the screen modeling object, and a detailed view of the model is generated based on this reference geometry in subsequent steps of the indicated process. More specifically, the reference geometry can define a reference plane on which the user can define (e.g., position, orientation, shape, and size) boundaries that are used to define the part of the model to be separated.

[0065] In a typical implementation, computer 100 is configured to check whether the geometric figure selected by the user (at 208) is a valid selection for its intended role in the indicated process. In an exemplary implementation, if the selected geometric figure is a flat surface on the modeling geometry of a CAD model or a geometric plane, computer 100 may consider the selected geometric figure as a valid selection; otherwise, the selected geometric figure may be considered an invalid selection. In various implementations, computer 100 may apply different criteria to determine whether the geometric figure selected by the user is valid or invalid as the target geometric figure in the indicated process.

[0066] According to Figure 2B the process shown, computer 100 uses the above selection criteria to determine whether the selected geometric figure is valid. If computer 100 determines (see 210) that the selection is an invalid geometric figure selection (e.g., the user selects an element that is neither a flat surface on the CAD modeling geometry nor a reference geometric plane that defines the shape or form of a face or solid in a model editing or MBD environment), then computer 100 (at 212) will ignore or reject the selection.

[0067] If computer 100 (at 212) ignores the selection, then computer 100 does not respond to the user's selection but simply waits for the user to select a different geometric figure (at 208) and then determines whether the different geometric figure is a valid selection. If computer (at 212) rejects the selection, then computer 100 notifies the user that the selection is invalid (e.g., via an error message on the screen) and prompts the user to make a different selection. Then, the process returns to 208, and computer 100 waits for the user's further selection and determines its validity.

[0068] Figure 3A An example of a selected geometric figure (at 301) that computer 100 may consider valid is shown. The selected geometric figure 301 in the example shown is the flat upper surface around one of the corner holes in the shown 3D model.

[0069] Referring again to Figure 2BFlowchart, if computer 100 determines that the geometric shape selected by the user (at 208) is valid (e.g., the user selects a flat surface on the modeled geometry on the CAD model at 214, or selects a reference geometric plane in the model editing or MBD environment at 216), then computer 100 next (at 218) determines the normal direction based on the selected geometric shape. More specifically, in a typical implementation, computer 100 (at 218) determines the direction perpendicular to the plane or reference geometric plane selected by the user (at 208) and verified by computer 100 (at 214, 216). In a typical implementation, computer 100 may call a "normal to" function to identify the normal of the surface / plane (e.g., in one or both directions). If there is only one direction, the "normal" direction is determined as the normal direction pointing inside the modeled object.

[0070] Now refer to Figure 2C , the user interface of computer 100 (at 220) prompts the user to select a boundary shape to define the model part to be separated. In this regard, computer 100 can prompt the user in any number of potential ways. In one example, computer 100 can display a screen list of elements that the user can select (e.g., as part of a screen menu), where each element identifies and corresponds to a specific type of boundary shape that the user can select to define the model part to be separated. The available boundary shapes can include, for example, circles, rectangles, or irregular shapes. In various implementations, other shapes and / or combinations of available shapes can be presented to the user screen at 220.

[0071] To meet the prompt given by the computer at 220, the user (at 222) selects one of the boundary shapes presented to the user by computer 100. If the user (at 222) selects the circular shape option, the computer's drawing tool is activated (at 224). This allows the user to create (draw) a circle on the geometric figure selected (at 208) and considered valid by computer 100. Next, the user (at 226) creates the circle. According to the illustrated embodiment, the user performs this function by selecting (e.g., by operating the cursor on the screen with a mouse) two points on the screen during the center quadrant selection process. Other ways of creating / drawing a circle are possible. If the user (at 222) selects the rectangular shape option, the computer's drawing tool is activated (at 228). This allows the user to create (draw) a rectangle on the geometric figure selected (at 208) and considered valid by computer 100. Next, the user (at 230) creates the rectangle. According to the illustrated embodiment, the user performs this function by selecting (e.g., by operating the cursor on the screen with a mouse) the center and a corner, or a corner and another corner. Other ways of creating / drawing a rectangle are possible. If the user (at 222) selects the irregular shape option, the computer's drawing tool is activated (at 232). This allows the user to create (draw) a closed spline-based shape on the geometric figure selected (at 208) and considered valid by computer 100. Next, the user (at 234) creates a closed irregular shape. According to the illustrated embodiment, the user performs this function by selecting (e.g., by operating the cursor on the screen with a mouse) three or more selected consecutive points and performing an autonomous closing operation on the selected geometric figure. Other ways of creating / drawing an irregular shape are possible. In each case, the functions presented to the user enable the user to position, resize, and configure the shape on the selected geometric figure.

[0072] After the user takes steps to complete the necessary input to create the selected shape on the selected and verified geometric figure (at 226, 230, or 234), computer 100 (at 236) accepts the shape and displays it on the screen as the boundary on the selected geometric figure at the specified location. Figure 3B is shown Figure 3AVisual description 300 of an exemplary object in which a circle 303 (created by the user) is present on a selected geometry 301. More specifically, in the illustrated example, the circle 303 is formed on (and lies entirely in the same plane as) a previously selected flat upper surface that surrounds one of the corner holes in the illustrated 3D model. The center 305 and the contour of the circle 303 are both visible. Additionally, the center 305 of the circle 303 lies above the corner opening that the circle 303 surrounds. The first part of the contour of the circle 303 lies above a part of the object in the illustrated 3D model, but the second part of the contour of the circle 303 extends beyond the edge of the object and thus does not lie above any part of the object in the illustrated 3D model.

[0073] Now refer to Figure 2D , the flowchart shows (at 238) that computer 100 can display a shape (e.g., Figure 3B the circle in ) on a user-selected geometry with a user-defined line type and a user-defined line width. Additionally, in some embodiments, the flowchart (still at 238) shows that computer 100 can hide the shape. In such cases, computer 100 can display the object (e.g., as shown in Figure 3A ), but can also hide the shape (e.g., Figure 3B the circle 303 in ), even if the shape has been created (e.g., the user has fully specified and it has been finalized by computer 100). The flowchart (again at 238) also shows that the user interface of computer 100 can provide a dialog box to the user, e.g., the dialog box surrounds the user to specify these details of the shape (e.g., line type, line width, hidden / visible state, etc.). In various embodiments, according to the flowchart (at 240), the shape can be stored in the CAD model or MBD environment (whichever is applicable) in computer 100 as supplementary geometry (e.g., an object type in the data model) or a sketch entity. Additionally, according to the illustrated flowchart (at 242), computer 100 stores the shape in such a way that the shape is always logically associated with the detailed view of the model for which the shape was created.

[0074] Now refer to Figure 2E , next, computer 100 (at 244) extends the boundary of the shape in one or more normal directions (z and / -z) to extend at least through the CAD modeling geometry. Figure 3C Schematically illustrates this concept. More specifically, the image in Figure 3C that computer 100 typically visually presents to the user on the computer display shows Figure 3BVisual description 300 of the modeling object, but the user-specified shape 303 (specified at step 222) has been extended in the normal direction with respect to the flat upper surface of the user-selected geometry 301 to produce a 3D extended shape 307. In one exemplary embodiment, the computer 100 uses the normal direction determined at step 218 to indicate the extension of the shape boundary (at 244). In Figure 3C the example shown, the 3D extended shape 307 causes the selected geometry 301 (selected by the user in step 208) to pass through the entire CAD modeling geometry in the downward (-z) direction from the flat upper surface. In a typical embodiment, the computer 100 displays the resulting extended shape 307 on the screen (as shown) so that the user can see its position and orientation relative to the visual description 300 of the modeling object during creation. The first part of the 3D extended shape 307 passes through the modeling object in the visual description 300, and the second part of the 3D extended shape 307 is entirely outside the modeling object in the visual description 300. The first part of the 3D extended shape 307 defines the cutting pattern of the cropped representation to be generated. The second part of the 3D extended shape 307 is not relevant to defining the cutting pattern of the cropped representation being generated. According to the illustrated example, since the user defined a 2D circle (at Figure 2C step 222), the computer 100 generates (at 244) a 3D extended shape, namely a hollow cylinder. If the user (at step 222) defines a different type of 2D shape (e.g., a rectangle or an irregular shape) or even a line segment, the 3D extended shape generated by the computer (generated at 244) will be a 3D shape other than a hollow cylinder.

[0075] Referring again to Figure 2E , next, according to the illustrated flowchart, the computer 100 (at 246) partitions the CAD modeled geometry (e.g., represented in the visual description 300) into two parts, including a first part located inside the boundary of the 3D extended shape (generated at 244) and a second part located outside the boundary of the 3D extended shape. As shown in the flowchart in the figure, the computer 100 generally performs this step (at 246) without creating a modeling partition or feature within the modeled geometry or the associated design tree. Instead, as shown in the attached flowchart (see 248), information related to the model partition can be stored using a model configuration method or a graphical data method. When using the model configuration storage method (see 250), the computer 100 stores the shape and partition of the model (e.g., information about the partitioned model) in the model configuration. This is similar to storing the broken view of the model in In the same manner as in the modeling environment of the desktop version of the computer program. More specifically, in some embodiments, the computer may store the shape and partitioning of the model as configuration information, which enables the user to create multiple variants of a part or assembly model in a single document. When using the graphical data storage method (see 252), the computer 100 stores the shape and partitioning of the model as graphical data. This is the same as storing a sectional view in the same manner as in the modeling environment of the desktop version of the computer program (e.g., as a view orientation that can be quickly invoked in the part environment or as a drawing annotation view).

[0076] Next, the computer 100 displays the partitioned model. The computer 100 can perform this function in a variety of ways.

[0077] In a typical embodiment, the computer 100 enables the user to select any one of a plurality of options for displaying the partitioned model (or a related part thereof) and / or a partial partitioned model. For example, in some embodiments, the computer 100 may be configured to display a first portion of the partitioned model (i.e., the portion located within the boundary of the 3D extended shape), while hiding a second portion of the partitioned model (i.e., the portion located outside the boundary of the 3D extended shape). Alternatively, in some embodiments, the computer 100 may be configured to display the partitioned model in a manner that visually distinguishes a first portion of the partitioned model from a second portion of the partitioned model.

[0078] Thus, the computer 100 can display the partitioned model (or a portion thereof) in a variety of ways to facilitate a comprehensive understanding of the modeled object, thereby refining the design and / or using one or more real-world machines to manufacture a corresponding real-world product. According to the illustrated embodiment, the computer 100 (at Figure 2E 254) displays the portion of the partitioned model located within the boundary (including the boundary itself) as a solid face.

[0079] Now refer to Figure 2FFor 256 in it, computer 100 enables the user to select a candidate display method for the second part of the partition model (i.e., the part located outside the boundary). The candidate methods represented in the shown flowchart include displaying the second part of the partition model (located outside the boundary) as transparent (at 258) or hiding the second part of the partition model (at 260). If the user selects the transparent option, computer 100 can display the outline of the second part of the partition model, and the surface between the outline lines of the second part of the partition model is transparent. This enables the user to see the inner surface of the modeled object at the boundary through the transparent second part of the modeled object on the computer display. In one exemplary embodiment, if the user selects the transparent option (at 256), computer 100 can enable the user to control the opacity level of the transparent second part of the modeled object.

[0080] Figure 3D Shows an example of an image that may appear on the display if computer 100 displays the first part 309 of the partition model (i.e., the part within the 3D extended shape boundary) while hiding the second part of the partition model (i.e., the part outside the 3D extended shape boundary). The inner edge boundary of the first part 309 of the partition model is represented by a solid line, opaque surface 311. In fact, in the shown embodiment, the entire first part 309 of the partition model (including the boundary of its inner edge) is represented by a solid, opaque surface.

[0081] Figure 3E Shows another example of an image that may appear on the display if computer 100 displays the first part 309 of the partition model (i.e., the part within the 3D extended shape boundary) while hiding the second part of the partition model (i.e., the part outside the 3D extended shape boundary). Figure 3E The image in Figure 3D is similar to the image in Figure 3E except that the image in

[0082] Figure 3F Shows an example of an image that may appear on the display if computer 100 simultaneously displays the first part and the second part of the partition model 300a in a way that visually differentiates the first part 309 of the partition model 300a (i.e., the part within the 3D extended shape boundary) from the second part 313 of the partition model 300a (i.e., the part outside the 3D extended shape boundary). The first part 309 of the partition model 300a is in Figure 3FThe display method in Figure 3E is very similar to the display method of the first part 309 in Figure 3F The first part 309 of the partition model 300a in

[0083] Figure 3G is represented as a whole (including the boundary of its inner edge) by a solid, opaque surface, and the circle 303 is superimposed on the selected geometric figure (i.e., the flat surface 301) in the form of a dotted line, and the center 305 of the circle is marked with a dot. In the example shown, the second part 313 of the partition model 300a is visually distinguished from the first part 309 of the partition model 300a by becoming or visually presenting as a transparent or see-through state. In the example shown, the see-through second part 313 of the partition model 300a enables the user to clearly see the solid, opaque transverse inner surface at the boundary 311 between the first part and the second part of the partition model 300a. Figure 3G The image in Figure 3F is similar to the image in Figure 3G except that the image in

[0084] does not include the circle 303 or the dot at the center 305. Figure 2F again referring to Figure 2F the computer 100 (see 262 in stores the model detail view (the model detail view of the partition model or the model detail view of the independent version of the first part of the partition model) as a recoverable view state of the CAD model in the model editing environment or the model-based definition (MBD) environment (whichever is applicable). Thus, in a typical implementation, the computer 100 stores the view state within the model in a manner that facilitates model retrieval for subsequent viewing (e.g., by the user). The computer 100 (at 254) also adds one or more entries corresponding to any newly created partition model / its view to the list of stored model views that the user can access on the computer. As an example, In a typical implementation of the type environment, the computer 100 (at 256) adds a model detail view or representative name (e.g., "widget cross-section", "part model detail view", etc.), a preview image (e.g., thumbnail), or other user interface elements to the list of stored model views within the user interface.

[0085] Now referring Figure 2G , in a typical implementation, the computer 100 (at 266) enables the user to perform any one or more user-initiated operations (or combinations thereof) when displaying a model detail view (i.e., a partitioned model or a part thereof). These operations include, for example, rotating the orientation of the model in any of the three dimensions (at 268), zooming in and / or out in any direction (towards or away from) (at 270), and / or translating in any direction (e.g., along a plane parallel to the current orientation of the model detail view) (at 272). The computer 100 enables the user to add, edit, and / or remove annotations on the model and / or features of the model (e.g., within the model detail view) (see Figure 2G at 274 in

[0086] Figure 3H Shows Figure 3G an example of a cropped representation in Figure 3G with an annotation indicating that the dimension between the edge 315 of the first part 309 of the partitioned model 300a and the center of the hole 317 in the first part 309 of the partitioned model is 0.5. The user may have selected the edge 315 of the first part 309 of the partitioned model and the center of the hole in the first part 309 of the partitioned model when viewing the cropped representation (e.g., as shown in Figure 3A ), thus adding the annotation. Once these reference points are selected, the computer 100 enables the user to enter a dimension (with units) corresponding to the distance between the indicated reference points. If this is the case, then when adding an annotation to a cropped representation of a computer-generated 3D model, the computer 100 may automatically update the uncropped version of the computer-generated 3D representation (e.g., as shown in Figure 3A ) to also include the annotation. In this way, if the user subsequently changes his or her view from the cropped representation (as shown in Figure 3H ) to the uncropped version of the same representation, the added annotation remains visible in the uncropped version.

[0087] According to the shown flowchart, the computer 100 (see 276) enables the user to simultaneously attach annotations (such as dimensions) to both the inner partitioned portion (e.g., the first part 309 of the partitioned model) and the outer partitioned portion (e.g., the second part 313 of the partitioned model).

[0088] Figure 3I Shows Figure 3GA computer-generated 2D view of the first part 309 of the mid-zone model, but with a note added indicating that the dimension between the center of the hole 317 in the first part 309 of the partition model and the far edge of the object, which is not part of the first part 309 of the partition model, is 5.5, and in Figure 3I is not shown. This far edge is part of the second part of the partition model and is not visible in the 2D view of Figure 3I . The user may have selected the far edge of the partition model and the center of the hole in the first part 309 of the partition model when viewing an uncropped representation (e.g., as shown in Figure 3A ) or a cropped representation that includes the first and second parts of the partition model (e.g., as shown in Figure 3F ), thus adding the indicated note. Once the user has selected the reference point, the computer 100 enables the user to enter a dimension (with units) corresponding to the distance from the indicated reference point. It is also possible to display the view in Figure 3I without the dimension being marked.

[0089] In addition, according to the shown flowchart, the computer 100 (see 278) is configured to display the values of CAD model features attached to the inner partition part (e.g., the first part 309 of the partition model) and the dimensions from the unpartitioned CAD model (e.g., the CAD model before partitioning) on the outer partition part (e.g., the second part 313 of the partition model). Thus, the computer 100 can display, for example, the dimensions marked in Figure 3H and the dimensions marked in Figure 3I together in the partitioned view of the 3D model.

[0090] The computer 100 (see 280) enables the user to save / store, retrieve, and / or edit the model detail view (e.g., a visual description of the partitioned CAD model or a part thereof), the properties of the model detail view (e.g., zoom level, orientation, view name, etc.), and / or the content of the model detail view, such as notes (e.g., according to the American Society of Mechanical Engineers (ASME) Y14.41 standard), etc.

[0091] The computer 100 (see 282) enables the user to close the model detail view (of the partitioned CAD model), and in response to this operation, display the unpartitioned version of the same CAD model. Then, the computer 100 (see 284) enables the user to retrieve the stored model detail view (e.g., the partitioned modeling object) again while displaying another view state (e.g., the unpartitioned version of the CAD model) by interacting with the user interface in the model editing or model-based definition (MBD) environment.

[0092] According to Figure 2H , if the user (at 286) selects to deactivate the model detail view, the computer 100 (at 288) can restore the view of the unpartitioned CAD model (i.e., the version of the partitioned CAD model in the model detail view as it appeared before partitioning). It should be noted that even when the model detail view is not active, the annotations within the model detail view are still visible. When the model is opened in a model editing or model-based definition (MBD) environment (whichever is applicable), the computer (at 290) also enables the user to subsequently restore / activate the model detail view at any time. Typically, the user can perform this operation by interacting with (e.g., selecting) the user interface element in the stored model view list that represents the model detail view. Notably, in a typical implementation, the computer 100 can be configured to store multiple model detail views for each respective CAD model in a model editing or model-based definition (MBD) environment (whichever is applicable). In this regard, some (or all) of the multiple model detail views can be related to (and based on) the same cross-section through the modeled object. Alternatively or additionally, one or more of the multiple model detail views can be related to (and based on) one or more different cross-sections through the modeled object.

[0093] In a typical implementation, the computer 100 enables the user to specify a scaling degree for a cropped representation of a computer-generated 3D model. Figure 3J Shows an example of scaling in a 2D cropped representation of a computer-generated 3D model. In the example shown, it can be seen that in the 2D cropped representation of the computer-generated 3D model, 12% of the full height of the computer-generated 3D model is shown as almost occupying the entire available height in the user interface graphical area. This enables the observer to clearly see the fine details of the computer-generated 3D model in the cropped representation area.

[0094] Figure 4A Shows a series of screen elements presented to the user according to an exemplary embodiment to facilitate generating a cropped representation of a CAD 3D model.

[0095] Starting from the leftmost side, the figure shows an example of an icon bar that includes an icon (Model Detail View icon) which is shown closest to the fingertip (and circled). Selecting this icon (e.g., by touch) triggers a user experience that includes accessing the functions disclosed herein related to generating a cropped representation of a CAD 3D model. As shown by the provided annotation, in the illustrated embodiment, the Model Detail View icon is embedded in the "View Creation" tab within an "Action Bar" displayed on the screen and is available for triggering. It should also be noted that if, for example, the desktop version of the program is used, the cursor can also reflect the active command.

[0096] Next, in response to the user selecting the Model Detail View icon, according to the illustrated embodiment, the computer presents a Detail View command panel. It should be noted that this typically appears in the graphics area immediately after the command is triggered. The Detail View command panel includes fields titled "Projection Plane" and "View Name". The "Projection Plane" field enables the user to identify a projection plane (i.e., the plane on which the shape is initially to be placed) to the system. The "View Name" field enables the user to specify a name for the view being created. A note color selector is provided. Additionally, there is a section titled "Profile Settings" which includes a drop-down menu for the user to specify "Cropping Profile", "Line Style", and line width. According to the illustrated example, the optional options provided in the "Cropping Shape" menu include ellipse, rectangle, and irregular shape. The optional options provided in the "Line Style" menu include different boundary widths (in the illustrated example, the default selection is 0.13mm) for identifying or to identify the boundary between the included geometry and the excluded geometry. In the illustrated example, the boundary width ranges from 0.13mm to 2.6mm. Of course, this range and the specific entries within the range can vary widely. The optional options in the "Line Width" menu include different boundary styles (in the illustrated example, the default selection is solid line) for identifying or to identify the boundary between the included geometry and the excluded geometry. In the illustrated example, the range of boundary styles includes solid line, dashed line, center line, chain line, double dash line, dotted line, and thick chain line. The list of possible boundary styles can be modified by adding, deleting, or replacing.

[0097] Finally, at the bottom of the Detail View command panel, there is a "Model Transparency" section. The "Model Transparency" section of this panel enables the user to specify characteristics related to any excluded geometry in the 3D model. The optional options provided in the illustrated example include Hidden, Transparent, and Solid.

[0098] According to an exemplary embodiment, Figure 4B and Figure 4C shows further examples of screen elements presented to the user for generating a cropped representation of a CAD 3D model.

[0099] According to Figure 4B , after the user selects a projection plane, the computer 100 causes the relevant plane (i.e., the plane selected by the user, or "plane 1" in the illustrated example) to face a direction convenient for viewing (e.g., facing the observer) and highlights (or otherwise visually differentiates) the plane. In the illustrated embodiment, plane 1 on the model is marked (and faces outwards). It should be noted that the displayed model orientation is not locked, and the user can still use the mouse wheel, etc., to view the model in different directions, for example. It should also be noted that when the "Projection Plane" field is selected, the cropping profile is also displayed. For example, in the illustrated example, the "Projection Plane" field containing the plane 1 identifier is selected, and an ellipse that is also marked appears on plane 1 of the 3D model. The ellipse appears because "ellipse" is selected in the "Cropping Profile" field.

[0100] Figure 4C It is pointed out that after the projection plane is selected, the user's interaction operations on the cropping profile (or any other parameter in the model detail view dialog) remove the highlighting of the plane. In the illustrated example, the user may have selected the ellipse and moved it from its original position (e.g., the center position) on plane 1 to the Figure 4C position shown in the upper right corner of the illustrated model. It is worth noting that due to this movement, Figure 4C plane 1 of the model in

[0101] Figure 4D shows three examples of placing the cropping profile on the 3D model surface. It should be noted that in the case of an elliptical cropping profile (the upper figure), the profile has a center manipulator that can be moved to an appropriate position on the screen. In addition, the orientation manipulator allows the ellipse to be pushed in two directions to define the size of the ellipse. It should also be noted that in the case of a rectangular cropping profile (the middle figure), the profile also has a center manipulator that can be moved to an appropriate position on the screen. In addition, the orientation manipulator allows the rectangle to be pushed in two directions to define the size of the shape. It should even be noted that in the case of an irregular shape cropping profile (the lower figure), the profile also has a center manipulator that can be moved to an appropriate position on the screen. In addition, the spline curve has four points that allow the user to adjust the shape into an amorphous profile. When the user adjusts the shape, the shape will remain tangent at these points. There may be other various variations.

[0102] Figure 4E and Figure 4F show examples of the view appearance and recomposition as well as the mode bar. As Figure 4EAs shown in the image in , if the model transparency is set to hidden or solid, the illustrated mode bar will be displayed. Once the dropped contour is accepted and the command is closed, the created geometry will be displayed in the unselected line style defined in the dialog box. If the cut geometry is not hidden, it will also be displayed in the view when the dialog box is closed. As Figure 4F As shown in the image in , if the model transparency is set to transparent, the illustrated mode bar will be displayed. A translucent slider is shown to allow the user to adjust the transparency level of the cut side of the model. Additionally, it should be noted that if the geometry is hidden as part of the command dialog box, the generated view will exclude the hidden geometry and be re-composed around the remaining trimmed contours and geometry.

[0103] Figure 4G An example of an edited view is shown. It should be noted that in order to edit the model detail view, the user can select the Manage View icon in the mode bar. In the illustrated embodiment, when this dialog box appears, the projection plane field will be hidden since the user cannot fundamentally change the view direction after creation. The user can edit the position of the trimmed contour, edit the visibility of the cut side of the model, and edit the cut contour line style while the dialog box is open by operating on the screen.

[0104] Multiple embodiments of the present invention have been described. However, it should be understood that various modifications can be made without departing from the spirit and scope of the present invention.

[0105] The trimmed version of the computer-generated 3D CAD model can be displayed in any number of various different ways. For example, computer 100 can display the computer-generated 3D CAD model and display the excluded geometry (e.g., the second part of the partitioned model) as transparent or display the edges using only a special line type (e.g., thin dotted line) to identify that the excluded geometry does not have the standard display quality of the non-excluded geometry (e.g., the first part of the partitioned model).

[0106] The views of the 3D model can be displayed in various ways, where a part (e.g., the excluded part) is removed from the view (or, for example, otherwise displayed in a transparent state with only outlines), while another part (e.g., the included part) is displayed. For example, in some embodiments, the computer can identify the active view, use the cutting plane in the view to identify the geometric part to be removed (e.g., excluded) from the display, remove the graphical display of the display elements of the geometric figure that constitutes the identified (excluded) geometric figure, and use a true / false sorting mechanism to retain the graphical display of the display elements of all other geometric figures (e.g., the included geometric figures). This process inherently hides the removed (e.g., excluded) geometric figure while displaying the remaining (e.g., included) geometric figure behind the removed geometric figure. Additionally, the computer can apply the graphical display of the lid, for example, as the surface where the geometric figure intersects the cutting plane.

[0107] More specifically, the computer can be configured to provide multiple (e.g., up to 4) cutting planes in a dialog box. These planes can be passed to the computer's graphics renderer. When the computer is drawing, the computer 100 still sends the entire model for rendering as usual, but during composition, i.e., when the computer calculates the pixel positions to be rendered on the screen (fragment shader stage), the computer determines for each pixel on which side of the cutting plane it lies. This can be achieved using a simple dot product function. If it is determined that any pixel (referred to as a fragment) lies on the cutting side of the cutting plane, the computer skips these pixels (they are discarded). The computer essentially skips the rendering of these pixels, making the model appear to be cut on the screen. To display the lid, the computer can use the stenciling process, i.e., the computer identifies the cut area and fills it with a color (e.g., defaulting to blue or the color of the component). In this case, the computer cannot identify any physical edges or surfaces along the cutting plane.

[0108] Thus, in some embodiments, the generation and display of the graphical cross-sectional view (or cropped representation) is a graphics processing process where the computer renders the entire model but applies, for example, a GLSL (OpenGL Shading Language) shader and discards the fragments that do not pass the clipping plane test. This functionality can be used in the fragment shader, and when a true value is returned, the computer discards the fragment.

[0109] In various embodiments, certain computer components disclosed herein may be executed by one or more computer-based processors (collectively referred to herein as processors) that execute computer-readable instructions stored on a non-transitory computer-readable medium to perform corresponding computer-based functions. The one or more computer-based processors can be almost any type of computer-based processor, can be contained in one housing or distributed over a network, and can be located in one or more physical locations; the non-transitory computer-readable medium can be or include any one or more different computer-based hardware memory / memory devices, or be contained in one housing or distributed over a network, and can be located in one or more different locations.

[0110] Certain functions are described herein as being accessed or activated by a user selecting an element on a screen (e.g., a button, etc.). This should be construed broadly to include any type of visible, user-selectable element or other user interaction element.

[0111] The systems and techniques disclosed herein can be implemented in many different ways. In one exemplary embodiment, the systems and techniques disclosed herein can be integrated into a computer program provided by Dassault Systèmes, the applicant of this application. In various embodiments, the systems and techniques can be deployed in other ways.

[0112] It should be understood that the example embodiments described herein can be implemented in many different ways. In some cases, the various methods and machines described herein can be implemented by a physical, virtual, or hybrid general-purpose computer (e.g., a computer system), or a computer network environment (e.g., those described herein). For example, by loading software instructions into memory or non-volatile memory for execution by a CPU, a computer / system can be transformed into a machine that performs the methods described herein. Those of ordinary skill in the art should understand that a computer / system and its various components can be configured to perform any embodiment or combination of embodiments of the invention described herein. Additionally, the system can utilize any combination of hardware, software, and firmware modules that are operably connected internally or externally to the computer / system or incorporated into the computer / system to implement the various embodiments described herein.

[0113] Aspects of the subject matter disclosed in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and / or structural equivalents thereof, and / or combinations thereof. In some embodiments, the subject matter disclosed in this specification 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 and executed by, or controlling the operation of, one or more data processing apparatuses (e.g., processors). Alternatively or additionally, the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to a suitable receiving apparatus and executed by a data processing apparatus. A computer storage medium can be, or can include in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination thereof. Although a computer storage medium should not be considered merely a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. A computer storage medium can also be, or include in, one or more separate physical components or media, e.g., multiple optical discs, computer disks, and / or other storage devices.

[0114] Some operations described in this specification (e.g., aspects of those operations disclosed in flowcharts and / or otherwise) can be implemented as operations performed by a data processing apparatus (e.g., a processor / specially programmed processor / computer) on data stored on one or more computer-readable storage devices or received from other sources (e.g., a computer system and / or a network environment). The term “processor” (or like term) encompasses a variety of apparatuses, devices, and machines for processing data, including, for example, a programmable processor, a computer, a system on a chip, or combinations of multiple of the foregoing or multiple instances of the foregoing. The apparatus can include dedicated logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). In addition to hardware, the apparatus can also include code that creates an execution environment for the relevant computer program, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and the execution environment can implement various different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.

[0115] Although this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that are specific to particular embodiments of a particular invention. While certain features are described in this specification in the context of separate embodiments, these features may also be implemented in combination within a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented separately in multiple embodiments or in any suitable sub-combination. Moreover, although the features may operate in a particular combination as described above, and even were initially claimed as such, in some cases one or more features may be removed from the combination, and the claimed combination may be directed to a sub-combination or a variation of a sub-combination.

[0116] Likewise, although operations may be described herein as occurring in a particular order or manner, this should not be understood as requiring that such operations be performed in the particular order or manner shown, or that all illustrated operations be performed to achieve a desired result. In some cases, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above 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 in a single software product or packaged into multiple software products.

[0117] Other embodiments are within the scope of the claims.

Claims

1. A computer-based method, the method comprising: Based on a computer-generated three-dimensional (3D) computer-aided design (CAD) model, creating a trimmed representation of the computer-generated 3D CAD model for manufacturing a real-world object, the 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 the target geometry for placing a boundary shape; In response to an input defining the boundary shape, creating the boundary shape on the selected target geometry; Extending the boundary lines 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; Partitioning the computer-generated 3D CAD model at the boundary to divide a first part of the computer-generated 3D CAD model that is within the boundary from a second part of the computer-generated 3D CAD model that is outside the boundary; and Based on the partitioned computer-generated 3D CAD model, generating a visual description of the trimmed representation of the computer-generated 3D CAD model by visually displaying the first part of the computer-generated 3D CAD model that is within the boundary and by hiding or displaying the second part of the computer-generated 3D CAD model that is outside the boundary as a transparent state with only edges.

2. The computer-based method according to claim 1, the method further comprising displaying the boundary as a solid surface in the visual description of the trimmed representation of the computer-generated 3D CAD model.

3. The computer-based method according to claim 1, the method further comprising: Before creating the boundary shape, determining whether the element selected as the target geometry is a valid selection for placing the boundary shape.

4. The computer-based method according to claim 3, wherein, Determining whether the element selected as the target geometry is a valid selection for placing the boundary shape includes: Confirming that the selected element is a flat surface or a reference geometric plane on the computer-generated 3D model.

5. The computer-based method according to claim 1, wherein, Creating the boundary shape on the selected target geometry includes: Prompting to select a type of boundary shape to place on the selected target geometry; Receiving an indication that a boundary shape type has been selected in response to the prompt; Activating a drawing tool corresponding to the selected boundary shape type to enable creating the boundary shape in a form corresponding to the selected boundary shape type; and Receiving input from the drawing tool to generate and position the boundary shape on the selected target geometry.

6. The computer-based method according to claim 1, the method further comprising: Storing the boundary shape as supplementary geometry or a sketch entity that is logically associated with the trimmed representation of the computer-generated 3D CAD model being created and creating the boundary shape for the trimmed representation.

7. The computer-based method according to claim 1, wherein, The visualization description of generating a clipped representation of the computer-generated 3D CAD model based on the partitioned computer-generated 3D CAD model includes: Providing the computer-generated 3D CAD model as a whole to a graphics renderer of the computer to generate the visualization description; For each pixel of the computer-generated 3D CAD model provided to the graphics renderer, determining whether the pixel is in a first part of the computer-generated 3D CAD model or in a second part of the computer-generated 3D CAD model; and Based on determining whether the pixel is in the first part of the computer-generated 3D CAD model or in the second part of the computer-generated 3D CAD model, deciding whether to render the pixel.

8. The computer-based method according to claim 1, the method further comprising: Storing the clipped representation of the computer-generated 3D CAD model as a recoverable view state of the computer-generated 3D CAD model.

9. The computer-based method according to claim 1, the method further comprising: Using the computer-generated 3D CAD model and the clipped representation of the computer-generated 3D CAD model to manufacture a real-world object, the real-world object corresponding to the computer-generated 3D CAD model and the clipped representation of the computer-generated 3D CAD model.

10. The computer-based method according to claim 9, wherein, Using the computer-generated 3D CAD model and the clipped representation of the computer-generated 3D CAD model to manufacture a real-world object includes: Transmitting data associated with the computer-generated 3D CAD model and the clipped representation of the computer-generated 3D CAD model to a computer numerical control (CNC) machine tool through an interface on the computer to guide the CNC machine tool to produce the real-world object.

11. A system, comprising: A computer, comprising: A computer processor; A computer display screen; and A computer-based memory operably connected to the computer processor, wherein the computer-based memory stores computer-readable instructions that, when executed by the computer processor, cause the computer-based system to create a clipped representation of the computer-generated three-dimensional (3D) computer-aided design (CAD) model based on the computer-generated 3D CAD model for manufacturing a real-world object by a method comprising: 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 the target geometry for placing the boundary shape"; Creating the boundary shape on the selected target geometry in response to an input defining the boundary shape; Extend the boundary line of the boundary shape in the normal direction through the computer-generated 3D CAD model to establish a boundary through the computer-generated 3D CAD model; Partition the computer-generated 3D CAD model at the boundary to divide a first part of the computer-generated 3D CAD model located inside the boundary from a second part of the computer-generated 3D CAD model located outside the boundary; and Based on the partitioned computer-generated 3D CAD model, generate a visual description of the cropped representation of the computer-generated 3D CAD model by visually displaying the first part of the computer-generated 3D CAD model located inside the boundary and by hiding or displaying the second part of the computer-generated 3D CAD model located outside the boundary as a transparent state with only edges.

12. The system according to claim 11, wherein, Generating a visual description of the cropped representation of the computer-generated 3D CAD model further includes: Display the boundary as a solid surface.

13. The system according to claim 11, wherein, The method further includes: Before creating the boundary shape, determine whether the element selected as the target geometry is a valid selection for placing the boundary shape, wherein determining whether the element selected as the target geometry is a valid selection for placing the boundary shape includes: confirming that the selected element is a flat surface or a reference geometric plane on the computer-generated 3D model.

14. The system according to claim 11, wherein, The boundary shape is stored in the computer-based memory as supplementary geometry or a sketch entity, which is logically associated with the cropped representation of the computer-generated 3D CAD model being created and creates the boundary shape for the cropped representation.

15. The system according to claim 11, wherein, The computer further includes: A graphics renderer, wherein the entire computer-generated 3D CAD model is provided to the graphics renderer to generate the visual description, and wherein generating the visual description further includes, for each pixel of the computer-generated 3D CAD model provided to the graphics renderer: Determine whether the pixel is in the first part of the computer-generated 3D CAD model or in the second part of the computer-generated 3D CAD model; and Based on determining whether the pixel is in the first part of the computer-generated 3D CAD model or in the second part of the computer-generated 3D CAD model, decide whether to render the pixel.

16. The system according to claim 11, wherein, The cropped representation of the computer-generated 3D CAD model is stored in the computer-based memory as a recoverable view state of the computer-generated 3D CAD model.

17. The system according to claim 11, the system further includes: A real-world machine for manufacturing a real-world object corresponding to the computer-generated 3D CAD model, wherein the computer-generated 3D CAD model and the cropped representation of the computer-generated 3D CAD model are used in combination with manufacturing the real-world object using the real-world machine.

18. The system according to claim 17, wherein, The real-world machine is a computer numerical control (CNC) machine tool, and the CNC machine tool is connected to the computer through an interface.

19. A non-transitory computer-readable medium storing computer-readable instructions that, when executed by a computer-based processor, cause the computer-based processor to create a trimmed representation of a computer-generated three-dimensional (3D) computer-aided design (CAD) model based on the computer-generated 3D CAD model for manufacturing a real-world object according to a method, the 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 the target geometry for placing a boundary shape; creating the boundary shape on the selected target geometry in response to an input defining the boundary shape; extending the boundary line 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; partitioning the computer-generated 3D CAD model at the boundary to divide a first portion of the computer-generated 3D CAD model that is inside the boundary from a second portion of the computer-generated 3D CAD model that is outside the boundary; and generating a visual description of the trimmed representation of the computer-generated 3D CAD model by visually displaying the first portion of the computer-generated 3D CAD model that is inside the boundary and hiding or displaying the second portion of the computer-generated 3D CAD model that is outside the boundary as a transparent state with only edges.

20. The non-transitory computer-readable medium according to claim 19, wherein, The method further comprises: displaying the boundary as a solid surface in the visual description of the trimmed representation of the computer-generated 3D CAD model.

Citation Information

Cited By

  • Method and system for automatic 3D modeling of 2D engineering drawing

    CN122176204A

  • Method and system for automatic 3d modeling from 2d engineering drawings

    CN122176204B