Automatically creating model-based definition dimensions using sketch dimensions

Through the computer system, the computer system automatically maps the key dimension information in the sketch to the relevant surfaces of the 3D model, solving the problem of inefficient MBD design in the existing technology, and achieving efficient and accurate automation of the MBD creation and manufacturing process.

CN120472127APending Publication Date: 2025-08-12DASSAULT SYSTEMES SOLIDWORKS CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510144515.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-02-09
Filing Date
2025-02-10
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

The prior art cannot effectively automate the mapping of key dimension information in sketches into MBDs of 3D models, resulting in frequent human errors and inefficient design.

Method used

The computer system automatically selects key dimension information from the sketch, maps it to the relevant faces of the 3D model, and uses the dimension annotation tool to annotate other parts to achieve automated creation of MBD.

Benefits of technology

Improves design accuracy and efficiency, reduces human errors, ensures 1:1 mapping of dimension information, and supports automation and quality assurance of manufacturing processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120472127A_ABST
    Figure CN120472127A_ABST
Patent Text Reader

Abstract

A computer-based method of automatically creating one or more model-based definition (MBD) sizes for a three-dimensional model based on one or more sketch sizes is disclosed. The method comprises: enabling a user to select, from a sketch, size information to be designated as key sketch size information; designating the selected size information from the sketch as key sketch size information; mapping the key sketch size information to an associated surface of a 3D model derived from the sketch; and executing a dimensioning tool to annotate other portions of the 3D model with product manufacturing information (PMI) while automatically merging dimensioning information based on the key sketch dimensioning information to related surfaces in the 3D model for MBD.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer-implemented design and modeling, and more particularly to automatically creating model-based definition (MBD) dimensions using sketch dimensions in a computer-implemented environment. Background Art

[0002] Some computer-aided design (CAD) software enables users to sketch two-dimensional (2D) drawings and construct and manipulate complex three-dimensional (3D) models. For example, in In the software, sketch tools are provided that enable users to sketch geometric primitives (for example, rectangles and circles), and feature tools are provided that enable users to create features. Features are shapes that are formed independently or can be combined to form models of real-world objects to be manufactured. Some features are derived from sketches. Some CAD software also provides access to model-based definition (MBD) functions, which enable users to define, organize, and publish 3D product and manufacturing information (PMI), including dimensional and tolerance information of 3D model data, in industry standard file formats. Summary of the Invention

[0003] In one aspect, a computer-based method is disclosed that involves automatically creating one or more model-based definition (MBD) dimensions for a three-dimensional model based on one or more sketch dimensions (e.g., dimensions, or dimensions and associated tolerances, etc.). The method includes enabling a user to select dimension information from a sketch to be designated as key sketch dimension information; designating the selected dimension information from the sketch as key sketch dimension information; mapping the key sketch dimension information to relevant faces of a 3D model derived from the sketch; and executing a dimensioning tool to annotate other portions of the 3D model with product manufacturing information (PMI), while automatically merging dimension information based on the key sketch dimension information to relevant faces in the 3D model for MBD.

[0004] In another aspect, a system is disclosed for automatically creating one or more model-based definition (MBD) dimensions for a three-dimensional model based on one or more sketch dimensions. The system includes a computer system having a computer processor and a computer-based memory operatively coupled to the computer processor. The computer-based memory stores computer-readable instructions that, when executed by the computer processor, cause the computer system to automatically create one of the model-based definition (MBD) dimensions using the sketch dimension according to a process comprising: enabling a user to select dimension information from a sketch to be designated as key sketch dimension information; designating the selected dimension information from the sketch as key sketch dimension information; mapping the key sketch dimension information to relevant faces of a 3D model derived from the sketch; and executing a dimensioning tool to annotate other portions of the 3D model with product manufacturing information (PMI) while automatically merging dimension information based on the key sketch dimension information to relevant faces in the 3D model for MBD. In some implementations, the system includes a real-world machine (e.g., a CNC machine) coupled to the computer system. In such an implementation, the computer system may be configured to output a file (e.g., generated by a computer-aided manufacturing (CAM) program operating on the computer system) to a real-world machine, which is configured to execute the file to automatically manufacture the product represented by the 3D model for MBD.

[0005] In yet another aspect, a non-transitory computer-readable medium is disclosed having computer-readable instructions stored thereon, which, when executed by a computer-based processor, cause the computer-based processor to automatically create model-based definition (MBD) dimensions using sketch dimensions through a process comprising: enabling a user to select dimension information from a sketch to be designated as key sketch dimension information; designating the selected dimension information from the sketch as key sketch dimension information; mapping the key sketch dimension information to relevant faces of a 3D model derived from the sketch; and executing a dimensioning tool to annotate other portions of the 3D model with product manufacturing information (PMI), while automatically merging dimension information based on the key sketch dimension information to relevant faces in the 3D model for MBD.

[0006] According to another aspect, a computer program product is provided that is configured to automatically create one or more MBD dimensions for a three-dimensional model for a model-based definition (MBD) based on one or more sketch dimensions. A method performed by a computer executing the computer program product includes: enabling a user to select dimension information from a sketch to be designated as key sketch dimension information; designating the selected dimension information from the sketch as key sketch dimension information; mapping the key sketch dimension information to relevant faces of a 3D model derived from the sketch; and executing a dimensioning tool to annotate other portions of the 3D model with product manufacturing information (PMI), while automatically merging dimension information based on the key sketch dimension information to relevant faces in the 3D model for MBD. In some implementations, the computer program product can be provided on a carrier wave, for example, as a software-implemented invention provided via the Internet.

[0007] In some implementations, one or more of the following advantages are present.

[0008] For example, the systems and techniques disclosed herein automate the addition of 3D PMI in MBD. This can simplify and accelerate the product design process and improve reliability in the product design process by reducing the possibility of human error. The resulting MBD model can be used directly to manufacture the designed object and can also be used in conjunction with quality assurance. In a typical implementation, the systems and techniques disclosed herein provide a way to reuse dimension information entered into a sketch or dimension information created by applying feature functions to produce MBD dimension information that is essentially fully semantic and graphical. This MBD dimension information typically has the precise information required for manufacturing as specified by the National Institute of Standards and Technology (NIST). It is expected that these systems and techniques can save time for designers and / or design teams and improve efficiency. These systems and techniques also provide designers with the ability to control, for example, which dimension information will be automatically filled into the 3D MBD model from the associated sketch. In addition, according to the systems and techniques disclosed herein, there is typically a 1:1 mapping of dimensions to faces.

[0009] In addition, a growing number of software applications can automate the manufacturing process based on 3D annotations and PMI integrated into 3D CAD models for MBD. These applications include computer-aided manufacturing (CAM), coordinate measuring machines (CMMs) for inspection, cost estimation, and tolerance stack-up optimization, and computer-aided process planning (CAPP). Due to this automation, manufacturing process time can be reduced from hours to minutes. However, if the semantic meaning of 3D annotations is lost when importing CAD models from one CAD format to another, these valuable automations may become unfeasible. Implementations of the systems and techniques disclosed herein help avoid such potential drawbacks.

[0010] Other features and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 is an image of an exemplary computer-generated sketch with dimensional information and data associated therewith.

[0012] Figure 2 By applying an Extrude feature to Figure 1 Images of exemplary computer-generated 3D shapes and data associated therewith created from a sketch.

[0013] Figure 3 is a schematic representation of an example of a computer configured to implement the functionality disclosed herein.

[0014] Figure 4 is a schematic representation of an example of components in a system configured to implement the functionality disclosed herein.

[0015] Figure 5 is a flowchart illustrating an exemplary process for creating a three-dimensional (3D) model for model-based definition (MBD) using dimension information designated as key in a sketch and manufacturing an object.

[0016] Figure 6 is a flow chart representing an exemplary process for mapping selected dimensional information designated as critical to relevant faces of a 3D model to facilitate creation of a 3D model for MBD.

[0017] Figure 7A is an example of a computer-generated sketch with dimensional information on the display.

[0018] Figure 7B Is from Figure 7A A sketch of dimensions with a dialog box that enables the user to designate certain dimension information as key.

[0019] Figure 7C It is from Figure 1 A computer-generated 3D model derived from a sketch.

[0020] Figure 7D Shown Figure 7C A 3D model with a dialog box for identifying key dimensional information.

[0021] Like reference numerals refer to like elements. DETAILED DESCRIPTION

[0022] This document uses various terms to describe its inventive concepts. The terms should be given their ordinary meanings and, unless otherwise indicated, should be understood to have the same meaning as the following content.

[0023] For example, computer-aided design (CAD) software enables users to construct and manipulate complex three-dimensional (3D) models. Computer software and Computer software is an example of CAD software that can be used, for example, to build and manipulate complex three-dimensional (3D) models, both of which are available from the applicant of this application, Dassault Systèmes 3D Software. A "design engineer" is a typical user of a 3D CAD system. A design engineer typically designs the physical and aesthetic aspects of a 3D model and may be proficient in 3D modeling techniques. A design engineer typically creates parts and may assemble certain parts into subassemblies. Subassemblies may also be composed of other subassemblies. Assemblies may be designed using parts and subassemblies. Parts and subassemblies may be collectively referred to as components. The phrase "design engineer" as used herein should be broadly interpreted to include any one or more human users of a computer or computer system that implements the technology disclosed herein.

[0024] A dimensioning tool is a computer software component that enables users to define, organize, and publish 3D product and manufacturing information (PMI), including dimension and tolerance information of 3D model data, in industry standard file formats for Model Based Definition (MBD). An existing example of a dimensioning tool is DimXpert TM tool, which is built into DimXpert allows users to quickly and easily dimension models in 3D space. TM Tools allow us to communicate dimensions, positions, and tolerances so that other users can easily understand and manufacture our parts. More specifically, DimXpert TM Tools help apply datums, dimensions, tolerances, and GD&T information directly to 3D CAD models. DimXpert for Parts is a suite of tools that enables users to apply dimensions and tolerances to parts according to the requirements of ASME Y14.41-2003 and ISO 16792:2006. DimXpert tools enable users to insert dimensions and / or tolerances manually or automatically (e.g., from a database).

[0025] A feature tool is a computer software component that facilitates the application of surface and / or manufacturing features to a sketch or 3D model. Software applications include DimXpert TMThe feature tool supports the manufacture of features such as bosses, chamfers, cones, cylinders, discrete feature types, fillets, counterbores, countersunk holes, simple holes, etc. For example, when using When developing a model in a software application, a user sketches one or more geometric primitives (e.g., rectangles and circles) that serve as the basis for one or more solid features (e.g., extrusions, revolves, and cuts). The design process from sketch to model to drawing in CAD is as follows. In a part document, a user can open a sketch and roughly sketch a primitive, such as a rectangle. If necessary, the user can add dimensions to the sketch. The user can then extrude the sketch to form a 3D solid base feature, which becomes the basis of the part or parts. The user can then open the drawing, insert the part as a 2D standard image using multiple views (e.g., front, top, side), and then insert dimensions. For example, a solid modeling system can be a feature-based 3D CAD system, in which parts are constructed using various features. Examples of features include bosses, fillets, chamfers, cuts, holes, shells, lofts, and sweeps. The CAD system stores the contents of parts, subassemblies, and assemblies in data files. In addition to features, the contents of a CAD data file may include design profiles, layouts, internal components (e.g., bodies), and graphical primitives.

[0026] The Sketch tool is a computer software component that enables users to generate 2D images (sketches) that can form the basis of a 3D model. Sketches can be created on any one or more planes, including, for example, the front, top, right, or created planes. The software program includes sketching tools that enable the user to perform these functions. Sketching in is the basis for creating features. Features are the basis for creating parts, which can be combined into assemblies. In the software program, users can create and / or edit sketches using, for example, sketch entities or sketch tools, planes, or extruded or revolved bosses / bases. Users can add dimensions to sketches. However, features can be created from sketches with or without dimensions.

[0027] Model-based definition (MBD) refers to the practice of using 3D models in 3D CAD software to define (provide specifications for) individual components and / or product assemblies. The types of information included may include geometric dimensioning and tolerancing (GD&T), component-level materials, assembly-level bills of materials, engineering configurations, design intent, and the like. In contrast, other approaches have historically required the use of accompanying 2D engineering drawings to provide such details. Some 3D CAD applications enable the insertion of engineering information, such as dimensions, GD&T, annotations, and other product details, into 3D digital datasets of components and / or assemblies. MBD uses this capability to create 3D digital datasets that serve as the authoritative source of these specifications and designs for a product. 3D digital datasets can contain sufficient information to manufacture and inspect a product without the need for engineering drawings that traditionally include such information. In many cases, using this information from a 3D digital dataset (e.g., a solid model) enables rapid prototyping of products through various processes (e.g., 3D printing). In some cases, manufacturers can feed the 3D digital data directly into one or more manufacturing equipment (e.g., computer numerical control (CNC) machines) to manufacture the final product. TM is an example of a computer software program that enables a user to access MBD. In a typical implementation, SOLIDWORKS MBD TM Helps users define, organize, and publish 3D PMI, including 3D model data such as dimensions and tolerances, in industry-standard file formats. In addition, SOLIDWORKS MBD runs within the SOLIDWORKS environment through its own CommandManager and supports native SOLIDWORKS 3D part and assembly data such as configurations, constraints, and PMI.

[0028] The phrase "processor" (or similar phrases) refers to any one or more computer-based processing devices. A computer-based processing device is a physical component (e.g., a CPU) that can perform computer functions by executing computer-readable instructions stored in a memory. If there is more than one computer-based processing device or processor core, the more than one computer-based processing device or processor core may be contained in a single physical device (e.g., contained in a single computer or server) or distributed across multiple physical devices that may be located, for example, in more than one physical location or facility.

[0029] The phrase "memory" (or similar phrases) refers to any one or more computer-based memory devices. A computer-based memory device is a physical component that can store computer-readable instructions that, when executed by a processor, cause the processor to perform associated computer functions. If there is more than one computer-based memory device, the more than one computer-based memory device may be contained in a single physical device (e.g., a computer or server) or distributed across multiple physical devices that may be located in more than one physical location or facility.

[0030] The phrase "computer numerical control" or "CNC" refers to the automated control of one or more machining tools, such as lathes, drills, grinders, routers, milling machines, 3D printers, and the like, with the aid of a computer. A "CNC machine" is a machine that includes one or more such machining tools and is configured to machine a block of material (e.g., metal, plastic, ceramic, wood, composite material, etc.) to meet specifications by following coded programming instructions and without the need for a manual operator to directly control the machining operations. Instructions can be transmitted from a computer to a CNC machine in the form of a sequential program of machine control instructions, which are then executed by the CNC machine. In some cases, the program may have been generated by or from CAD software and / or computer-aided manufacturing ("CAM") software (e.g., based on a model generated using CAD / CAM software). In this case, for example, the mechanical dimensions of an object may have been defined using CAD software and then converted into manufacturing instructions (e.g., by corresponding CAM software). The resulting instructions can be used as (or provide) the CNC-compatible commands necessary for a particular CNC machine to perform the manufacturing operations associated with producing a real-world version of the object. CNC-compatible commands can be loaded into and executed by a CNC machine to perform real-world manufacturing operations (e.g., subtractive operations) on one or more blocks of material (e.g., metal, plastic, ceramic, wood, composite materials, etc.).

[0031] This document uses many terms and phrases that are specific to CAD programs. Unless otherwise indicated, these terms and phrases should have the meaning corresponding to the content that follows them. For example, the phrase "annotation" refers to annotations that convey product and manufacturing requirements and instructions, such as notes, datum symbols, geometric dimensions and tolerances, welding symbols, surface finish, etc. For example, annotations can be attached to and associated with a 3D model, or displayed separately from the 3D model, which are commonly referred to as 3D annotations. 3D annotations can be displayed graphically for human reading and can also represent semantic meaning beyond the graphical presentation. The phrase "assembly" refers to a document that fits together parts, features, and other assemblies (subassemblies). Parts and subassemblies can exist in documents separate from the assembly. For example, in an assembly, a piston can be fitted to other parts, such as a connecting rod or cylinder. This assembly can then be used as a subassembly in an engine assembly. When used with reference to a CAD design, the term "component" refers to any part or subassembly within an assembly. The term "datum" refers to a theoretically precise plane, axis, or point location referenced, for example, in GD&T or dimensional tolerancing. As used herein, an "edge" refers to a single external boundary of a feature. The term "primitive" refers to a discrete element, such as a face, edge, vertex, etc. The term "face" refers to a selectable area (flat or otherwise) of a model or surface with a boundary that helps define the shape of the model or surface. For example, a rectangular solid has six faces, and a cylindrical solid has three faces. The term "feature" refers to an independent shape that, when combined with other features, forms a part or assembly. The term "part" refers to a single 3D object composed of features. A part can include multiple bodies. A part can become a component within an assembly. Examples of parts include bolts, pins, and plates. The term "plane" refers to a flat, constructed geometric shape. The term "point" refers to a single location within a 3D model or sketch. The term "subassembly" refers to an assembly that is part of a larger assembly. For example, the steering mechanism of a car is a subassembly of the car. The term "surface" refers to a zero-thickness, flat, or 3D primitive with an edge boundary. The term "vertex" refers to the point where two or more edges intersect. You can select vertices for sketching, dimensioning, and many other CAD operations.

[0032] The prior art is different.

[0033] With MBD, users, as well as product development and manufacturing processes, rely on PMI in 3D models to produce and inspect parts. PMI often includes valuable data required for manufacturing, both in semantic and graphical form. Furthermore, dimensions on the MBD model often correspond to dimensions that can be read by CNC machines through neutral files (e.g., STEP AP 242). For example, SOLIDWORKS software allows users to add PMI to 3D models by manually and independently defining PMI directly in the 3D model or by using automatic dimensioning tools. Manually and independently adding dimensions is time-consuming, tedious, repetitive, and prone to human error. With automatic dimensioning, users have no control over the dimensions that will be created. No existing method allows for the reuse of existing data obtained from sketches or applied features (e.g., bosses, cutouts, holes, etc.) to define product manufacturing information on 3D CAD models. Nor does any method provide a 1:1 mapping of PMI (e.g., dimension information on the 3D model) to corresponding dimension information from sketches. In various implementations, the systems and techniques disclosed herein provide solutions to these and potentially other technical problems, particularly in the context of CAD software for MBD.

[0034] Technology Disclosure

[0035] Developing a 3D CAD model for MBD typically begins with creating one or more sketches using a computer-based sketching application. During the sketching phase, dimensional information (e.g., dimensions and associated tolerances) may be entered into the sketch by the user. In these early stages, some dimensional information may be considered critical. Critical dimensional information generally refers to information provided in the sketch that the user wants automatically transferred to the 3D model used for the MBD derived from the sketch (e.g., dimensions and tolerances). Furthermore, in some implementations, critical dimensional information may be expected to remain intact, even as the design evolves, even though other early-stage dimensional information placed in the sketch may be expected to change as the design evolves.

[0036] In a typical implementation, a sketch is created by applying one or more sketch primitives to a graphics area of a user interface in a CAD program. Typically, a sketch primitive is composed of independent 2D sketch elements (e.g., lines, curves, etc.) and is placed in a graphics area within a coordinate system that is defined by a visual representation of coordinate symbols indicating the orientation of the axes of the coordinate system (e.g., x-axis and y-axis) and includes a visual representation of the coordinate symbols. In a typical implementation, when a sketch element is created, a unique identifier is assigned to each sketch element. Each unique identifier is stored in a memory in logical association with the sketch element to which it is associated. Additionally, in some implementations, each sketch element can be stored in a memory in logical association with its associated orientation relative to the coordinate system.

[0037] You can add dimensional information (e.g., dimensions and tolerances) to a sketch. Each item of dimensional information typically has a dimension value and an associated tolerance (e.g., 100 mm + / - 1 mm), and has a reference direction based on its orientation within the coordinate system of the graphics area (e.g., along the x-axis, along the y-axis, or at an angle relative to the x-axis or y-axis). In a typical implementation, each dimension value and associated tolerance are stored in memory together as dimensional information and logically associated with the reference direction to which it is associated.

[0038] In a typical implementation, each sketch may be saved in memory along with its geometry (its sketch entities), unique identifiers and / or orientations of any elements of the sketch entities, dimensional information added to the sketch (e.g., dimensions and tolerances), and the reference direction of the dimensional information.

[0039] Figure 1 is a schematic representation of a sketch 107 which may be created, for example, using a sketch function in a CAD program and which is also described in Figure 1 . The sketch includes two sketch primitives: a circle and a rectangle surrounding the circle. The rectangle sketch primitive has four sketch elements: a top line, a right side line, a bottom line, and a left side. The circle sketch primitive has one sketch element: an arc. As indicated in data table 101 (which may be stored in memory in association with the sketch shown), each sketch element is assigned a unique identifier, which, for simplicity, is numbered 1 through 5 in the example shown. More specifically, in the example shown, the rectangle top line sketch element is assigned identifier 1, the rectangle right side sketch element is assigned identifier 2, the rectangle bottom line sketch element is assigned identifier 3, the rectangle bottom line sketch element is assigned identifier 3, the rectangle left side sketch element is assigned identifier 4, and the arc sketch element is assigned identifier 5. In a typical implementation, the data in data table 101 may be stored in memory along with the sketch itself, which may be displayed in the graphics area of a user interface of a CAD program.

[0040] Sketch 107 also has dimension information (e.g., dimensions and associated tolerances) attached to it. In a typical implementation, the dimension information is added by the user when the sketch is created. In the illustrated implementation, the dimension information includes DIM1, DIM2, DIM3, DIM4, and DIM5. DIM1 represents the dimension (and tolerance) between the left side of the rectangle (ID 4) and the right side of the rectangle (ID 2). DIM2 represents the dimension (and tolerance) between the bottom line of the rectangle (ID 3) and the top line of the rectangle (ID 1). DIM3 represents the dimension (and tolerance) between the left side of the rectangle (ID 4) and the center of the circle (ID 5). DIM4 represents the dimension (and tolerance) between the bottom line of the rectangle (ID 3) and the center of the circle (ID 5). Each dimension has a value (e.g., assigned by the user) and a direction relative to an axis of a coordinate system, which is represented by 2D coordinate symbols 105, which are also displayed in the graphics area of the CAD system's user interface. More specifically, and as reflected in data table 103 (which may be stored in memory in association with the illustrated sketch), dimension DIM1 has a value of 100+ / -1, dimension DIM2 has a value of 60+ / -1, dimension DIM3 has a value of 50+ / -0.5, dimension DIM4 has a value of 30+ / -0.5, and dimension DIM5 has a value between 40.2 and 39.9. In a typical implementation, these values may represent distance units (e.g., millimeters, inches, etc.). Additionally, and as reflected in data table 103, dimensions DIM1 and DIM3 are oriented on the x-axis, while dimensions DIM2 and DIM4 are oriented on the y-axis. In a typical implementation, the data in data table 103 may be stored in memory along with the sketch itself, which may be displayed in the graphics area of a CAD program's user interface, and the data in data table 103 may be stored in memory along with the data in data table 101.

[0041] Once a sketch has been started, feature functions (e.g., Extrude) can be applied to the sketch to add one or more features to the sketch. Each feature function applied to the sketch may alter the associated image in a way that creates a face to which additional dimensional information may be added (e.g., by the user specifying new dimensional information for the feature being added). For example, an Extrude feature may be applied to Figure 1 107 in the 3D image to effectively convert the image into a 3D image, thereby introducing thickness to the original 2D sketch, which can be assigned dimensional information associated with the added thickness (e.g., dimension value and associated tolerance). Once the 2D sketch has been extended beyond its original 2D plane (e.g., by extruding in a direction along the z-axis), the resulting image includes faces and edges and is no longer composed of sketch primitives.

[0042] Figure 2 shows that by applying the extrusion function to Figure 1 . The illustrated shape 207 has seven faces: face 1, face 2, face 3, face 4, face 5, face 6, and face 7, which together form a cuboid and a circular cut through the cuboid.

[0043] Each face in the illustrated shape 207 has an associated direction vector DV1, DV2, DV3, DV4, DV5, DV6, DV7, respectively. Each direction vector identifies the orientation of the associated face relative to an axis of a 3D coordinate system, as indicated by coordinate symbol 205. For example, a face having a flat surface may have a direction vector perpendicular to its flat surface. In the illustrated example, and as reflected in data table 207 (which may be stored in memory), face 1 has a direction vector (DV1) along the y-axis, face 2 has a direction vector (DV2) along the x-axis, face 3 has a direction vector (DV3) along the negative y-axis, face 4 has a direction vector (DV4) along the negative x-axis, face 5 has a direction vector (DV5) along the z-axis, face 6 has a direction vector (DV6) along the negative z-axis, and face 7 has a direction vector (along its axis) along the z-axis. The axis references here are based on the coordinate symbols 205 shown, which can be displayed in the graphics area of the user interface of the CAD system together with the graphical representation of the 3D shape. It should be noted that in a typical implementation, when a 3D shape has been generated from a sketch (e.g., Figure 2 When creating a 3D shape (e.g., a 3D shape shown in FIG. 1 ), the 3D coordinate symbols of the 3D shape will correspond to and align with the 2D coordinate symbols from the graphics area where the sketch was created. This means that in a typical implementation, two axes (e.g., the x-axis and the y-axis) of the 3D coordinate symbol 205 are aligned with the same two axes (e.g., the x-axis and the y-axis) of the 2D coordinate symbol.

[0044] In addition to having an associated direction vector, each face in the illustrated shape 207 originates from a sketch element of the sketch 107 and / or from a feature applied to the sketch 107. In a typical implementation, each face in the 3D shape 207 is assigned an indication of where the face originates (e.g., from a particular sketch element in the sketch 107) and / or how the face was created (e.g., by applying a feature (e.g., extrusion)). An example of this is shown in the data table 209. According to the illustrated data table 209, face 1 of the 3D shape 207 originates from sketch element ID 1 (located at Figure 1 ), face 2 of 3D shape 207 originates from sketch element ID2 (located at Figure 1 ), face 3 of 3D shape 207 originates from sketch element ID3 (located at Figure 1 ), face 4 of 3D shape 207 originates from sketch element ID4 (located at Figure 1 ), and face 7 of 3D shape 207 originates from sketch element ID5 (located at Figure 1 In addition, as reflected in the data table 209, all faces (faces 1 to 7) of the 3D shape 207 are applied to Figure 1 The sketch 107 is formed by the extrusion process.

[0045] In a typical implementation, the data in data table 209 may be stored in memory along with 3D shape 207 itself, which may itself be displayed in a graphics area of a user interface of a CAD program.

[0046] In a typical implementation, the systems and techniques disclosed herein enable a user to select certain dimensional information (e.g., dimensions and associated tolerances) applied to a sketch or feature to be designated as critical, designate the selected dimensional information as critical, and then automatically integrate any dimensional information designated as critical directly from the sketch into the corresponding 3D model for MBD. This generally simplifies the process of determining the dimensions of a 3D model for MBD, making the process faster, more accurate, more reliable, and easier, while reducing the opportunity for user error.

[0047] One challenge in implementing this automatic incorporation of critical dimension information from a sketch into a 3D model for MBD is that in a sketching environment, sketch primitives are typically defined in terms of lines and arcs, whereas in a 3D modeling environment for MBD, shapes are defined in terms of faces and edges. In a 3D modeling environment for MBD, lines and arcs do not have the explicit meaning of faces and edges. Therefore, in a typical implementation, the systems and techniques disclosed herein provide a mapping function to map selected critical dimensions to associated faces. This mapping essentially leverages the information discussed above that is stored when creating a sketch and applying features to the sketch, applying dimension information, and creating a 3D model based on the sketch. Ultimately, the systems and techniques disclosed herein generate fully semantically and graphically represented PMI on a 3D model for MBD based at least in part on critical dimension information from a sketch or feature.

[0048] Figure 3is a schematic representation of an exemplary computer 100 configured to implement and / or facilitate implementation of the systems and techniques disclosed herein. More specifically, the computer 100 is configured to facilitate the simplified generation of accurate, highly detailed, and fully defined three-dimensional (3D) model-based definition (MBD) representations of real-world objects to be manufactured. In a typical implementation, the MBD representation of the real-world object is derived from one or more sketches (e.g., 2D sketches) of the real-world object, and the computer 100 is configured to facilitate the automatic incorporation of critical dimensional information from the one or more sketches into the 3D model for the MBD derived from the sketches.

[0049] The dimensional information from the one or more sketches that is automatically incorporated into the 3D MBD may include, for example, values of discrete physical dimensions and associated tolerances that are placed by a user in the one or more sketches and designated by the user as critical when creating the sketches and / or applying features. In a typical implementation, the computer 100 automatically incorporates such critical designated dimensional information from the sketches into the 3D representation for the MBD (e.g., via Figure 4 230). In a typical implementation, the computer 100 enables a user to manually input additional product manufacturing information (PMI) into the 3D MBD model (e.g., by Figure 4 226) and / or configured to be dimensioned by an automatic dimensioning tool (e.g., see Figure 4 228) using a database pre-programmed with its default values (e.g., see Figure 4 234) to annotate the 3D MBD model.

[0050] In a typical implementation, the computer 100 provides a simple method for creating a reliable and accurate way to reuse dimensional information present in sketches and features to create a 3D MBD representation of a sketched object with dimensional information and other graphically and fully semantically defined PMI. Graphical PMI is a type of PMI that is readable by the human eye but generally not usable by machines or software. Semantically defined PMI is a type of PMI that is readable not only by humans but also by machines. The PMI in the MBD representation, particularly critical dimensional information incorporated from sketches, generally represents complete and true design intent and can be used for manufacturing automation, such as computer-aided manufacturing (CAM) and coordinate measuring machines (CMMs), performed by real-world physical machines. Furthermore, in a typical implementation, the PMI in the resulting 3D MBD model (including dimensional information designated as critical incorporated from sketches, as disclosed herein) has a level of detail and accuracy that fully enables the corresponding real-world object represented by the 3D MBD model to be manufactured according to all applicable standards, including those promulgated by the National Institute of Standards and Technology (NIST), for example.

[0051] In some implementations, the computer 100 includes a translator configured to output information from the 3D model used for MBD (including PMI) into a file format suitable for reading by a real-world manufacturing machine (e.g., a CNC machine). For example, in some implementations, the file format is the STEP ("Standard for the Exchange of Product Model Data") file format defined by the International Organization for Standardization (ISO) standard ISO 10303 (International Standard for the Computer-Interpretable Representation and Exchange of PMI). ISO 10303 can be used to represent 3D objects and related information in CAD. For example, a STEP file can be directly read by certain real-world machines (e.g., a CNC machine) to perform a manufacturing process to produce a real-world version of the object represented in the corresponding 3D MBD model. In this and other cases, the tedious and potentially error-prone step of creating multiple 2D engineering drawings from the 3D model can be avoided.

[0052] Reference again Figure 3 , the computer 100 has a processor 102, a computer-based memory 104, a computer-based storage device 106, a network interface 108, an input / output device interface 110, and a bus that serves as an interconnection between the components of the computer 100. The bus acts as a communication medium through which the various components of the computer 100 can communicate and interact with each other.

[0053] Processor 102 is configured to perform various computer-based functions disclosed herein, as well as other supporting functions not explicitly disclosed herein. Some of these functions include facilitating the implementation of the sketching and MBD-related functions disclosed herein. Generally, processor 102, in conjunction with other computer components, performs these and other functions by executing computer-readable instructions stored on a computer-readable medium (e.g., stored in 104, 106, or elsewhere). In various implementations, some of these functions may be performed with reference to data stored on the computer-readable medium and / or data received from an external source (e.g., received from an input / output (I / O) device via input / output device interface 110 and / or received from an external network via network interface 108).

[0054] Computer 100 has both volatile and non-volatile memory. More specifically, in a typical implementation, memory 104 provides a form of volatile storage device that stores computer-readable instructions that, when executed by processor 102, cause processor 102 to perform or facilitate the performance of some (or all) of the computer-based functions disclosed herein. Additionally, in a typical implementation, storage device 106 provides a form of non-volatile storage device that stores 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 store data to support the computer functions disclosed herein and those disclosed elsewhere.

[0055] In a typical implementation, the memory 104 stores computer-readable instructions that, when executed by the processor 102, cause the processor 102 to perform functions for presenting a computer-aided design program to a user at the computer 100, the computer-aided design program incorporating and / or facilitating implementation of the functionality disclosed herein, including functionality related to automatically incorporating dimension information from one or more sketches into a corresponding 3D MBD drawing. An example of a computer-aided design platform suitable for being adapted to incorporate the functionality disclosed herein is or computer programs, or Computer programs are available from Dassault Systèmes, the applicant of this application. For example, The program has sketching tools as well as MBD tools.An implementation of such an adapted computer-aided design program may include one or more (or all) of the functions disclosed herein.

[0056] The network interface 108 is a component that enables the computer 100 to connect to any one or more of a variety of external computer-based communication networks, including, for example, a local area network (LAN), a wide area network (WAN), such as the Internet, etc. In various implementations, the network interface 108 can be implemented in hardware, software, or a combination of hardware and software. In some implementations, the network interface (or other interface) can provide a connection to other external machines (e.g., one or more CNC machines, etc.).

[0057] The input / output (I / O) device interface 110 is a component that enables the computer 100 to interface with any one or more input or output devices (e.g., keyboard, mouse, display, microphone, speaker, printer, etc.). In various implementations, the I / O device interface can be implemented in hardware, software, or a combination of hardware and software. In a typical implementation, a computer may include one or more I / O devices (e.g., a computer screen, keyboard, mouse, printer, touch screen device, etc.) connected to the I / O device interface 110. These I / O devices ( Figure 3 1 ) serves as a human-machine interface (HMI) and is generally configured to enable a human user to interact with the computer 100 to access and utilize functionality, particularly functionality related to computer-aided design disclosed herein.

[0058] In an exemplary implementation, the computer 100 is connected to a display device (e.g., via an I / O device interface 110) and is configured to present an interface to a product design environment at the display device (e.g., by The computer program provides In a typical implementation, the interface and its visual representation on a computer-based display device provide users with access to the functionality disclosed herein and display a visual representation of a 2D sketch, 3D model, drawing, screenshot, etc. (e.g., on a display device coupled to the I / O device interface 110).

[0059] In some implementations, the computer 100 and its various components may be contained in a single housing (e.g., as in a personal laptop computer) or at a single workstation. In some implementations, the computer 100 and its various components may be distributed across multiple housings, possibly at multiple locations on a network. Each component of the computer 100 may include multiple versions of the component, which may work in conjunction with each other and which may be located in different physical locations and connected by a network. For example, Figure 3 The processor 102 in may represent multiple discrete processors located in different physical locations that work together to perform in a coordinated manner the processes attributable to the processor 102. There may be numerous possibilities as to the specific physical implementation.

[0060] In various implementations, the computer 100 may have Figure 3 These additional elements may include, for example, controllers, buffers (caches), drivers, relays, receivers, graphics processing units (GPUs), etc. In addition, interfaces (e.g., 108, 110) may include Figure 3Elements not specifically shown include, for example, addresses, controls, and / or data connections to facilitate communications between the computer components shown.

[0061] In various implementations, the computer 100 may host not only a CAD (or other) program that includes the functionality disclosed herein, but also other programs that can be used in conjunction with the CAD program, such as a CAM program (e.g., to facilitate generating machine-readable instructions for an external CNC machine, which are transmitted to the external CNC machine, such as via the network interface 108).

[0062] Figure 4 1 is a schematic representation showing a CAD program 200 executing on a computer 100 and its various functional components, a computer-aided manufacturing (CAM) program 201 located in the computer 100 and in functional communication with the CAD program, and a CNC machine 220 connected to and in functional communication with the computer 100 and the CAM program 201 in the computer 100. In short, the CAD program 200 enables a user to efficiently, effectively, and accurately create a 3D model for MBD with fully semantically and graphically represented PMI based on a sketch. The CAM program 201 directly provides output based on the 3D model for MBD and the associated PMI to the CNC machine, which then uses the instructions provided by the CAM program 201 to manufacture real-world objects based on the 3D model for MBD.

[0063] The functional components in the illustrated computer 100 include a sketching tool 222, a 3D MBD tool 224, a manual dimensioning tool for MBD 226, an automatic dimensioning tool for MBD 228, a sketch dimension information merge tool 230, a mapping tool 232, an automatic dimensioning tool database 234, and a key sketch dimension database 236. In a typical implementation, each of the sketching tool 222, the 3D MBD tool 224, the manual dimensioning tool for MBD 226, the automatic dimensioning tool for MBD 228, and the sketch dimension information merge tool 230 executes a program stored on a computer-readable medium (e.g., Figure 3 A processor (e.g., Figure 3 In an exemplary implementation, the automatic dimensioning tool database 234 and the key sketch dimension database 236 are stored in a computer memory (e.g., Figure 3 104 or 106). Figure 4Some components of the CAD system 200 shown in FIG. 2 also interact with other elements of the computer. For example, the sketching tool 222 (and other tools) can typically interact with a computer display and / or one or more input / output devices.

[0064] In a typical implementation, a sketching tool 222 in the illustrated CAD program 200 enables a user to create one or more sketches, apply features, and add dimensional information (e.g., dimensions and tolerances) to the sketches / features. Additionally, in a typical implementation, the sketching tool 222 enables a user to designate selected dimensional information as critical. In a typical implementation, a mapping tool 232 maps any dimensional information designated as critical in a sketch to a corresponding face of an associated 3D model for MBD. In a typical implementation, a critical sketch dimension database 236 stores dimensional information (e.g., dimensions and / or tolerances, etc.) from a particular sketch, wherein each item of stored dimensional information is from a particular sketch and is mapped to (or stored in logical association with) a face identifier for an associated face of a 3D model for MBD derived from the particular sketch. In a typical implementation, the sketch dimension information merge tool 230 automatically applies user-specified key dimension information from the key dimension database 236, originating from an associated sketch, to corresponding faces in the 3D model for MBD based on the associated face identifiers in the key sketch dimension database 236. In a typical implementation, the manual dimensioning tool 226 enables a user to manually enter dimension information into the 3D model for MBD. In a typical implementation, the automatic dimensioning tool database 234 stores general pre-programmed dimensioning information (e.g., standard tolerances, etc.) that is not specific to a particular sketch or model. The automatic dimensioning tool 226 applies the dimension information from the automatic dimensioning tool database 234 to the 3D model for MBD.

[0065] Figure 5 1 is a flow chart illustrating a user interacting with a computer 100 to generate an accurate, highly detailed, and fully defined 3D MBD representation of a real-world object to be manufactured, and then fabricating the real-world object using a real-world manufacturing machine. The process illustrated by the flow chart includes automatically incorporating selected dimensional information designated as critical from one or more sketches of the real-world object into a corresponding 3D model derived from the sketches for MBD.

[0066] First, according to the flowchart shown, a user creates (at 302) one or more 2D sketches of a real-world object to be manufactured. The sketches may be generated using a sketching tool 220 and may include one or more views of the real-world object. Where multiple views are generated, the multiple views may include views from different perspectives (e.g., views on different planes in Euclidean space, e.g., views on the xy plane, the yz plane, and / or the xz plane as defined by a Cartesian coordinate system). In a typical implementation, the user may create enough views to define the overall appearance of the object desired by the user. In an exemplary implementation, the sketching tool may be A sketching tool in a computer program that facilitates the creation of sketches, each of which includes one or more sketch primitives (e.g., lines, arcs, etc.). Once a sketch is created, it is typically as described in detail above and in Figure 1 The sketch information represented in is stored in a computer memory (e.g. Figure 3 104 or 106).

[0067] Of course, the user can apply dimensional information to the sketch. Dimensional information can include, for example, values for distances and dimensions and associated tolerances. Because sketches are composed of sketch primitives, the dimensional information applied to a sketch typically refers to (and relates to) the sketch primitives (e.g., lines, arcs, etc.) that make up the sketch primitives. For example, if a particular sketch shows a rectangle with a circle inside the rectangle, the user can apply a dimension of 30 mm and a tolerance of + / - 0.5 mm to the distance between the center point of the circle and a line on the side of the rectangle to the center point of the circle. An example of this is shown in Figure 7A As shown in Figure 7A The sketches in the example shown are similar to the ones in the screenshots that may appear on a computer monitor. Figure 1 Grass in Figure 1 In the example shown, the user has added dimension information that identifies the distance between the center point of the circle and the point on the bottom side of the rectangle closest to the center point of the circle, and the associated tolerance as 30 + / - 0.5. This dimension information refers to (and relates to) the rectangle and circle in the sketch shown. Other dimension information can also be added to the sketch. This is also Figure 7A In the statement, Figure 7A A number of other user-supplied values for dimensional information (e.g., dimensions and associated tolerances) on rectangles and circles are shown. Note that in 7A to 7D In the figures provided for the purpose of expressing dimensional information, there are no units. However, it should be understood that in practice, these dimensions may be associated with some measurement units (e.g., inches, millimeters, etc.).

[0068] Figure 7AEach value of the dimension information in refers to (and relates to) one or more sketch entities (e.g., lines, arcs) in the sketch shown. For example, the dimension value 30+ / -0.5 refers to (and relates to) the center point of the circle and the line at the bottom of the rectangle, the dimension value 50+ / -0.5 refers to (and relates to) the center point of the circle and the left side line of the rectangle, the dimension value 60+ / -1 refers to (and relates to) the line at the top of the rectangle and the line at the bottom of the rectangle, the dimension value 100+ / -1 refers to (and relates to) the left side line of the rectangle and the right side line of the rectangle, and finally, the dimension value Φ40.2 / 30.9 refers to (and relates to) the line defining the circle. In the example shown, the dimension value Φ40.2 / 30.9 indicates that the referenced / related circle has a diameter between 30.9 [units] and 40.2 [units]. In an exemplary implementation, Figure 7A Each of the dimension values shown may be stored in a computer memory (e.g., Figure 3 It should be noted that the sketch entities and parts thereof (e.g., lines and / or arcs) to which the dimension values refer / reference only exist in the sketch; they are not relevant in the 3D modeling environment.

[0069] Figure 7A The sketch shown is a type of sketch that can be used to begin generating a 3D model for MBD. When a user creates a sketch, they can add various sketch elements and dimensional information to at least approximate the object being designed. At this point, the user can consider various dimensional information to be approximate and subject to change later in the design process. However, some dimensional information applied to the sketch at this point can be considered critical and intended to be fixed and appear in the final 3D model for MBD (i.e., not change). For example, a particular piece of dimensional information may be considered critical if it has a very small tolerance, if it affects the fit of an object or component within an assembly, or if its precise location impacts the object's functionality, safety, or regulatory compliance. In some cases, the user may consider all dimensional information critical. Therefore, in a typical implementation, the computer 100 enables the user to designate the values and tolerances of certain dimensional information as critical. This allows any designated critical values to remain unchanged despite other changes to the design, be reliably and accurately represented in the design, and automatically carry over to subsequent related 3D models for MBD.

[0070] Specifically, Figure 5The process represented in the flowchart of includes step 306, in which the user selects certain dimension information in the sketch to be designated as critical. There are various ways in which the computer 100 can enable the user to select the dimension information to be designated as critical. For example, in some implementations, the computer 100 can present a user-selectable visual element on its display, and selection of the user-selectable visual element causes the computer 100 to open a dialog box in the computer's user interface that enables the user to designate any critical dimensions. In some implementations, when the user creates dimension information, the computer 100 can automatically prompt the user to consider whether the dimension information in the sketch should be designated as critical. Other implementations are also possible.

[0071] Figure 7B is a schematic representation showing an example of a dialog box that may appear on a display to enable a user to identify Figure 7A Sketch of rectangle and circle (still Figure 7B ) in the sketch. The illustrated dialog box has two columns. The left column lists the values of the dimensional information provided in the sketch. The right column provides user-selectable fields, selection of which causes the computer 100 to add an "x" to that column, thereby indicating that the corresponding dimensional information has been selected for designation as critical, and causes the computer 100 to enter in memory a designation that the associated dimensional information value is to be considered critical. Due to being designated as critical, the computer 100 will automatically add the corresponding dimensional information to the 3D model used for the MBD developed from the associated sketch.

[0072] In the example shown, Figure 7B , dimension information 60+ / -1 and 100+ / -1, corresponding to the height and width of the rectangle, respectively, are shown as having been marked as critical. In this example, the computer 100 may deem the dimension information thus designated as critical and subsequently automatically incorporate dimensions and tolerances based on the critical dimension information into the 3D model for MBD developed from the associated sketch. In some implementations, if a user attempts to override or change any dimension information in the 3D model for MBD that is based on dimension information designated as critical, the computer 100 may prevent those changes from taking effect, or at least present a warning to the user that the dimension information the user is attempting to change has been designated as critical, before allowing the user to override the warning.

[0073] Figure 7BOther dimension information listed in the dialog box in the is unchecked and, therefore, will not be considered critical by computer 100. This means that those values of the dimension information from the sketch will not be automatically included in the 3D model for the MBD derived from the sketch. Instead, the user creating the 3D model for the MBD will be able to use the manual dimensioning tool 226 or the automatic dimensioning tool 228 to assign values for the dimensions and tolerances corresponding to the unchecked dimensions in the 3D model for the MBD. Dimension information can generally be entered into the 3D model for the MBD with or without regard to the corresponding dimension information provided in the original sketch. Manually entering such dimension information into the 3D MBD model can be more cumbersome and prone to error than automatically populating the 3D MBD model with dimensions and tolerances based on the dimension information selected as critical in the original sketch. Despite this risk, in some cases, it may be desirable to keep the manual entry option available beyond the sketch stage of a design because it maintains the ability to easily modify the design as it evolves, particularly in minor or low-impact ways. In a typical implementation, the systems and techniques disclosed herein strike a balance between easily generating detailed and accurate 3D models for MBD models from sketches while also maintaining a reasonable amount of flexibility throughout the design process.

[0074] Reference again Figure 5 Flowchart, Figure 5 The process shown in also includes applying one or more feature functions at 304. For example, these feature functions may include features similar to those available in SOLIDWORKS software applications (e.g., extrusion), which may involve adding additional dimensions and associated dimensional information to the design. Figure 7C Shown Figure 7A Example of a 3D version of a 2D sketch in , which can be extended to a Figure 7A This is created by adding material to the 2D sketch and extruding the 2D sketch a short distance along a straight line in the direction defined by the arrow (A). This gives thickness, thus adding a third dimension to the previous 2D shape. As shown in the figure, applying this feature function converts the sketched 2D rectangle with a circle inside it into a 3D representation of a cuboid and a cylindrical feature (for example, a hole) passing through the cuboid. The cuboid in the 3D representation corresponds to the rectangle in the 2D sketch, and the cylindrical hole in the 3D representation corresponds to the circle in the 2D sketch. The thickness of the cuboid (in the direction of arrow Y) depends on the amount of extrusion (in the direction of arrow Y) applied to the 2D sketch.

[0075] In a typical implementation, the computer 100 (again at 306) enables the user to designate any new dimension (e.g., a dimension, such as thickness along the y-direction, that may be produced by applying one or more features) as a key. In this regard, the computer 100 may present on its display a screen similar to Figure 7B The dialog box shown is populated with dimension information, including any newly added dimension information, and enables the user to select one or more of the dimension information values described above for designation as a key. An example of this is shown in Figure 7D Shown in. Figure 7D The dialog box in includes Figure 7B , as well as the new thickness dimension (4+ / -0.2) that was added as a result of applying the Extrude feature. However, in the example shown, the only dimensions selected for designation as critical are the 60+ / -1 and 100+ / -1 dimensions.

[0076] Regardless of how the foregoing functionality is implemented, the computer 100 is configured to enable the user (at 306) to select (i.e., identify to the computer 100) any dimensional information in the sketch that should be designated as critical, and the computer 100 is further configured to capture any such selected designations (e.g., by storing any such selected designations in a computer memory (e.g., Figure 3 104 or 106).

[0077] Essentially, regardless of how these steps (302, 304, 306) are implemented, the computer 100 enables a user to add dimensional information to sketches and features, and designate any of that dimensional information as critical.

[0078] Next, in Figure 5 In the flowchart of FIG. 1 , the computer 100 maps (at 308) any dimension information from the sketch / feature that has been designated as critical to one or more associated faces of the corresponding 3D model for MBD. There are a variety of ways to perform this mapping process. However, generally, the computer 100 utilizes stored information related to the sketch, 3D shape, dimension information, faces, etc. discussed above to map the critical dimensions from the sketch to faces on the 3D model.

[0079] Figure 6 is a flow chart showing one possible manner in which the computer 100 may perform the mapping process 308. Many variations and other methods are possible. According to the flow chart shown, first, the computer 100 (at 440) selects a piece of dimension information that has been designated as critical.

[0080] In the above example, the computer 100 designates two pieces of size information (60+ / -1 and 100+ / -1) as keys. Continuing with the example, the computer 100 selects (at 440) one piece of size information (e.g., 60+ / -1) from the computer memory for the initial step in the indicated mapping process.

[0081] Next, for the selected key dimensions (e.g., 60+ / -1) from the sketch, the computer 100 identifies (at 442) the 3D model (e.g., at Figure 7C The computer 100 can do this by using the following exemplary process. First, the computer 100 can record the sketch elements to which the dimension information applies. For example, referring to Figure 1 , the dimension information 60+ / -1 refers to the sketch element with ID1 (it is the top line of the rectangle). Now refer to Figure 2 , computer 100 can then note that Face 1 originates from sketch element ID1. Computer 100 can then consider Face 1's direction vector (DV1 = Y Vector (0, 1, 0)), which means that Face 1's normal extends in the positive y-axis. Therefore, computer 100 concludes that Face 1 faces upward. Computer 100 can then note the direction of the associated dimension (DIM2 is on the y-axis) and conclude that the opposite end of the dimension line of this dimension should therefore be applied to a face in the downward (-y) direction, such as Face 3.

[0082] Once the two faces (Face 1 and Face 3) have been identified, the computer 100 can compare the associated dimension values from the sketch with the actual distances between those faces in the 3D environment (at 444) to confirm that the correct faces have been selected to apply DIM2 (60+ / -1) to the 3D shape. If the comparison (at 444) confirms that the correct faces have been selected to apply DIM2 (60+ / -1) to the 3D shape, the computer 100 assigns dimension DIM2 to the identified faces (Face 1 and Face 3) (at 446). If the comparison (at 444) reveals that the sketch dimensions do not match the 3D shape dimensions, the computer 100 can discard the association between the identified disputed dimension and the identified face and return to step 440 to continue the process using another item of dimension information.

[0083] There may be other ways to utilize and / or process the stored data to determine which faces are associated with a particular size, but this is an example. Figure 7D The mapping process can be simpler because the cylindrical hole size in Figure 7D There is only one hole in the 3D shape.

[0084] Next (at 452), the computer 100 considers whether there is any additional dimension information that has been marked as critical dimension information but has not yet been assigned to a particular face in the 3D shape. If any such additional dimension information exists, the computer 100 returns to 440 and selects one of the additional unassigned dimension information items to be processed according to the aforementioned processing steps. Otherwise, the computer 100 returns to step 310 (at Figure 5 It should be noted that in a typical implementation, the computer 100 (at 308) only maps the dimension information from the sketch that has been designated as critical. At 308, the computer 100 may not map any other dimension information (e.g., dimension information that has not been designated as critical).

[0085] Reference again Figure 3 , after mapping the selected critical dimension information to the associated faces in the 3D shape (at 308), the computer 100 marks any of the associated faces as critical (at 310). Typically, this involves the computer 100 storing, in computer memory, a designation associated with the corresponding face identifier, indicating that the associated face is a critical face and should be treated as such. The computer 100 automatically applies any associated critical dimension information to the 3D model logically associated with the corresponding face.

[0086] Next, according to the illustrated flowchart, the user (at 312) launches a dimensioning tool in a CAD program on the computer 100. The dimensioning tool (at 314) scans face identifiers stored in the computer memory to identify any faces that have been marked as critical. When any faces marked as critical are deemed fully defined, a dimensioning tool algorithm is run (at 316), which may include automatic dimensioning and / or manual dimensioning of undefined but necessary dimension information. Because such faces are deemed fully defined, previously applied critical sketch dimensions remain associated with those faces and appear as accessible annotations in the 3D model for the MBD. In a typical implementation, the dimensioning tool algorithm is run to fully define the 3D model for the MBD (at 318), at which point the resulting 3D model for the MBD may have sufficient PMI to enable manufacturing based entirely on the 3D model for the MBD and the PMI contained therein, for example, automated manufacturing by a CNC machine or otherwise.

[0087] Finally (at 320), the process includes fabricating the real-world object based on the 3D model for MBD and the PMI contained in the model (including any sketch dimensions designated as key and therefore automatically reflected in the 3D model for MBD). The fabrication process (at 320) may include generating instructions for a CNC machine 220 using a CAM program 201 in the computer 100 based on the 3D model for MBD and associated PMI, and then fabricating the real-world object using the CNC machine based on those instructions. Of course, alternatives are possible. For example, in some cases, a manufacturer may simply reference the 3D model for MBD to fabricate the real-world object using a non-CNC machine. Furthermore, in some cases, the resulting 3D model for MBD may be used to create a set of traditional 2D engineering drawings to facilitate fabrication of the real-world object by the manufacturer. Of course, in some cases, the 3D model for MBD may be used for any one or more of a variety of other purposes.

[0088] In view of the foregoing, it can be seen that the systems and techniques disclosed herein facilitate converting sketch information that is typically only readable by humans into information that is readable by humans and CAM, for example, which can be used to automate manufacturing. The entire design process is streamlined and simplified. In addition, improved accuracy of design representation, reduced human errors and other advantages can be achieved. Essentially, the implementation of the process disclosed herein enables a human user to identify to the dimensioning tool which sketch dimension information is more important and needs to be constrained. This is different from, for example, letting the dimensioning tool determine for itself which dimensions in the design are to be constrained. The resulting 3D model MBD is fully semantic and graphical, and reflects the user's attempt to design the object.

[0089] A number of embodiments of the present invention have been described, but it will be understood that various modifications can be made without departing from the spirit and scope of the invention.

[0090] For example, in various implementations, the computer components disclosed herein (e.g., applications, design tools, etc.) may be implemented by one or more computer-based processors (referred to herein as processors), which execute computer-readable instructions stored on a non-transitory computer-readable medium to perform associated computer-based functions (e.g., functions attributable to a computer disclosed herein). The one or more computer-based processors may be virtually any type of computer-based processor and may be contained in a housing or distributed at different locations, and the non-transitory computer-readable medium may be or include any one or more of a variety of different computer-based hardware memory / storage devices contained in a housing or distributed at different locations.

[0091] Certain functionality is described herein as being accessible or activatable by a user selecting an on-screen button or the like. This should be interpreted broadly to include any kind of visible, user-selectable element or other user interactive element.

[0092] The systems and techniques disclosed herein can be implemented in a variety of different ways. In one exemplary implementation, the systems and techniques disclosed herein can be incorporated into a 3D printer available from Dassault Systèmes. In various implementations, the systems and techniques may be deployed in other ways.

[0093] Aspects of the subject matter disclosed herein may be implemented in digital electronic circuitry, or in computer-based software, firmware, or hardware (including the structures disclosed in this specification and / or their structural equivalents), and / or in a combination thereof. In some embodiments, the subject matter disclosed herein may 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 one or more data processing devices (e.g., processors) or for controlling the operation of one or more data processing devices (e.g., processors). Alternatively, or in addition, the program instructions may 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 receiver device for execution by the data processing device. The computer storage medium may be a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination thereof, or may be included 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 may be a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer storage medium can also be, or be included in, one or more separate physical components or media (eg, multiple CDs, computer disks, and / or other storage devices).

[0094] Certain operations described in this specification (e.g., those operating aspects attributable to a computer) can be implemented as operations performed by a data processing device (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., the computer system and / or network environment described herein). The term "processor" (or the like) encompasses all types of devices, equipment, and machines for processing data, including, for example, a programmable processor, a computer, a system on a chip, or a plurality of the foregoing items, or a combination of the foregoing items. The device may include a dedicated logic circuit, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the device may also include code that creates an execution environment for the computer program in question, for example, 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 device and the execution environment can implement a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.

[0095] Although this specification contains many specific implementation details, these specific implementation details should not be interpreted as limiting the scope of any invention or the content that may be claimed, but rather as descriptions of features specific to particular embodiments of particular inventions. Certain features described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, the individual features described in the context of a single embodiment may also be implemented in multiple embodiments or in any suitable sub-combination. In addition, although features may be described above as working in certain combinations, or even initially required to work in certain combinations, in some cases, one or more features from the claimed combination may be deleted from the combination, and the claimed combination may be directed to a sub-combination or a variation of the sub-combination.

[0096] Similarly, although operations may be described herein as occurring in a particular order or manner, this should not be construed as requiring that such operations be performed in the particular order shown or in a sequential order, or that all of the operations shown be performed, in order to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above-described embodiments should not be construed 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.

[0097] Other implementations are within the scope of the following claims.

Claims

1. A computer-based method for automatically creating one or more model-based definition (MBD) dimensions based on one or more sketch dimensions, the one or more MBD dimensions being for a three-dimensional (3D) model of the MBD, the method comprising: Enables the user to select dimensional information from a sketch or feature to be designated as critical; designating selected dimension information from the sketch as key sketch dimension information; mapping the key sketch dimension information to associated faces of a 3D shape derived from the sketch and features; as well as A dimensioning tool is executed to annotate other portions of the 3D model with product manufacturing information (PMI), while automatically merging the critical dimension information to the relevant faces on the 3D shape.

2. The computer-based method of claim 1 , wherein: The automatic incorporation of the critical sketch dimension information enables viewing of the 3D shape with annotations associated with the relevant faces, the annotations reflecting the automatically incorporated critical dimension information.

3. The computer-based method of claim 1 , wherein: Mapping the key sketch dimension information includes: identifying a plurality of faces associated with the selected dimension information; identifying a single facet from the plurality of faces based on the contextual information; and The single face is associated with the selected dimension information.

4. The computer-based method of claim 1 , wherein: Mapping the key sketch dimension information includes: identifying the sketch element to which the critical sketch dimension information applies; and Faces in the three-dimensional model that are derived from the identified sketch elements are identified.

5. The computer-based method of claim 4, further comprising: identifying a direction vector of the identified face; as well as Identify the orientation of the key sketch dimension information.

6. The computer-based method of claim 5, further comprising: A face associated with the key sketch dimension information is identified based on the identified sketch element, the identified face derived from the identified sketch element, the identified direction vector, and the direction of the key sketch dimension.

7. The computer-based method of claim 6, further comprising: The critical dimension information is compared to the distances between the identified faces to confirm that the correct face has been selected to apply the critical dimension information to the 3D shape.

8. The computer-based method of claim 1 , further comprising: The user is presented with the option of annotating other portions of the 3D model, either manually or using automatic dimensioning tools.

9. The computer-based method of claim 1 , further comprising: marking a face identifier of the relevant face of the 3D model as a key; scanning a face identifier list including the marked face identifiers for any face identifiers that have been marked as critical; as well as Where those faces whose face identifiers have been marked as critical are deemed fully defined, the dimensioning tool is executed such that the critical sketch dimension information remains associated with those faces and appears as annotations to be accessible in the resulting 3D model for MBD.

10. The computer-based method of claim 1, wherein: The dimensioning tool is executed to completely define the 3D model for MBD. At this time, the 3D model for MBD has PMI, so as to completely implement manufacturing based on the 3D model for MBD and the PMI included in the 3D model.

11. The computer-based method of claim 1 , wherein: The dimensional information from the sketch is selected from: a dimension, or a dimension and a tolerance, and wherein the dimensional information is applied to a sketch element or to a feature of the sketch.

12. The computer-based method of claim 1 , further comprising: Outputting a file based on the 3D model for MBD to a real-world machine to automatically manufacture a product represented by the 3D model for MBD; as well as The product is manufactured using the real-world machine.

13. A system comprising: Computer systems, including: computer processors; and A computer-based memory operatively coupled to the computer processor, wherein the computer-based memory stores computer-readable instructions that, when executed by the computer processor, cause the computer system to automatically create Model Based Definition (MBD) dimensions using sketch dimensions by a process comprising: Enables the user to select dimensional information from a sketch or feature to be designated as critical; designating selected dimension information from the sketch as key sketch dimension information; mapping the critical sketch dimension information to associated faces of a 3D shape derived from the sketch and features; and A dimensioning tool is executed to annotate other portions of the 3D model with product manufacturing information (PMI), while automatically merging the critical dimension information to the relevant faces on the 3D shape.

14. The system according to claim 13, wherein: Mapping the key sketch dimension information includes: identifying a sketch element to which the key sketch dimension information applies; identifying faces in the three-dimensional model that are derived from the identified sketch elements; identifying a direction vector of the identified face; and identifying the orientation of the key sketch dimension information; and A face associated with the key sketch dimension information is identified based on the identified sketch element, the identified face derived from the identified sketch element, the identified direction vector, and the direction of the key sketch dimension.

15. The system according to claim 14, wherein: Mapping the critical sketch dimension information also includes: The critical dimension information is compared to the distances between the identified faces to confirm that the correct face has been selected to apply the critical dimension information to the 3D shape.

16. The system of claim 13, wherein: The process also includes: marking a face identifier of the relevant face of the 3D model as a key; scanning a face identifier list including the marked face identifiers for any face identifiers that have been marked as critical; and Where those faces whose face identifiers have been marked as critical are deemed fully defined, the dimensioning tool is executed such that the critical sketch dimension information remains associated with those faces and appears as annotations to be accessible in the resulting 3D model for MBD.

17. The system of claim 13, further comprising: A real-world machine is configured to automatically manufacture a product represented by the obtained 3D model for MBD, wherein the computer is configured to output a file based on the 3D model for MBD to the real-world machine to automatically manufacture the product represented by the 3D model for MBD.

18. A non-transitory computer-readable medium having computer-readable instructions stored thereon, which, when executed by a computer-based processor, cause the computer-based processor to automatically create model-based definition (MBD) dimensions using sketch dimensions by a process comprising: Enables the user to select dimensional information from a sketch or feature to be designated as critical; designating selected dimension information from the sketch as key sketch dimension information; mapping the key sketch dimension information to associated faces of a 3D shape derived from the sketch and features; as well as A dimensioning tool is executed to annotate other portions of the 3D model with product manufacturing information (PMI), while automatically merging the critical dimension information to the relevant faces on the 3D shape.