WO2017194998A1 - Model editing system and method - Google Patents

Model editing system and method Download PDF

Info

Publication number
WO2017194998A1
WO2017194998A1 PCT/IB2016/052764 IB2016052764W WO2017194998A1 WO 2017194998 A1 WO2017194998 A1 WO 2017194998A1 IB 2016052764 W IB2016052764 W IB 2016052764W WO 2017194998 A1 WO2017194998 A1 WO 2017194998A1
Authority
WO
WIPO (PCT)
Prior art keywords
entities
blend
edit
boundary
interest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IB2016/052764
Other languages
French (fr)
Inventor
Douglas Joseph King
Howard Charles Duncan Mattson
Yanong ZHU
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Industry Software Inc
Original Assignee
Siemens Product Lifecycle Management Software Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Product Lifecycle Management Software Inc filed Critical Siemens Product Lifecycle Management Software Inc
Priority to CN201680085699.3A priority Critical patent/CN109196497A/en
Priority to PCT/IB2016/052764 priority patent/WO2017194998A1/en
Publication of WO2017194998A1 publication Critical patent/WO2017194998A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/20Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Definitions

  • This present disclosure relates to the general field of computer aided design, drafting (“CAD”), manufacturing (“CAM”) and visualisation systems (individually and collectively “CAD systems”), product lifecycle management (“PLM”) systems, and similar systems, that manage data for products and other items (collectively, “Product Data Management” systems or PDM systems).
  • CAD computer aided design
  • CAM manufacturing
  • PLM product lifecycle management
  • PDM systems manage PLM and other data. Improved methods and systems are desirable.
  • Various disclosed embodiments include methods for editing a model in a modelling system.
  • a method of editing a model includes receiving an indication of a region of interest in a representation generated by the model, the representation comprising one or more entities, wherein the entities comprise faces of a 3D model, or edges of a 2D model; determining an edit to be applied to the selected region of interest; testing all entities in the region of interest for the presence of blend entities; allocating all non-blend entities to an edit group;
  • a data processing system includes a processor; and an accessible memory.
  • the data processing system particularly configured to receive an indication of a region of interest in a representation generated by the model, the representation comprising one or more entities, wherein the entities comprise faces of a 3D model, or edges of a 2D model; determine an edit to be applied to the selected region of interest; test all entities in the region of interest for the presence of blend entities; allocate all non-blend entities to an edit group; allocate all blend entities to a test group; test all blend entities in the test group to determine whether they comprise boundary blend entities; apply the edit to all entities in the edit group; apply the edit to blend entities which are not boundary blend entities; re-blend boundary blend entities onto edited entities, wherein the boundary blend entities are re-blended based on the new position of the entity the boundary blend entity is dependent upon; and, output a representation of the edited region of interest including edited entities and re-blended boundary blend entities.
  • a non-transitory computer-readable medium may be encoded with executable instructions that, when executed, cause one or more data processing systems to receive an indication of a region of interest in a representation generated by the model, the representation comprising one or more entities, wherein the entities comprise faces of a 3D model, or edges of a 2D model; determine an edit to be applied to the selected region of interest; test all entities in the region of interest for the presence of blend entities; allocate all non-blend entities to an edit group; allocate all blend entities to a test group; test all blend entities in the test group to determine whether they comprise boundary blend entities; apply the edit to all entities in the edit group; apply the edit to blend entities which are not boundary blend entities; re-blend boundary blend entities onto edited entities, wherein the boundary blend entities are re-blended based on the new position of the entity the boundary blend entity is dependent upon; and, output a representation of the edited region of interest including edited entities and re-blended boundary blend entities.
  • Figure 1 is a block diagram of a data processing system in which an embodiment can be implemented
  • Figure 2 illustrates a conventional selection technique for editing a model
  • Figures 3a to 3c illustrate some effects which may result when editing a model
  • Figures 4a and 4b illustrate other effects which may result when editing a model
  • Figures 5a and 5b illustrate further effects which may result when editing a model
  • Figure 6a is a flow diagram of a process in accordance with disclosed embodiments
  • Figure 6b is a flow diagram of a more detailed example of a process in accordance with the disclosed embodiments;
  • FIGS. 7a to 7d are specific examples illustrating a process in accordance with the disclosed embodiments.
  • FIGS 8a to 8d illustrate certain definitions of terms.
  • Fig.1 illustrates an example of a data processing system in which an embodiment of the present disclosure may be implemented, for example a CAD system configured to perform processes as described herein.
  • the data processing system 1 comprises a processor 2 connected to a local system bus 3.
  • the local system bus 3 connects the processor 2 to a main memory 4 and graphics display adaptor 5, which may be connected to a display 6.
  • the data processing system 1 may communicate with other systems via a wireless user interface adapter connected to the local system bus 3, or via a wired network, e.g. to a local area network. Additional memory 8 may also be connected via the local system bus 3.
  • a suitable adaptor such as wireless user interface adapter 7, for other peripheral devices, such as a keyboard 9 and mouse 10, or other pointing device, allows the user to provide input to the data processing system 1.
  • Other peripheral devices may include one or more I/O controllers such as USB controllers, Bluetooth controllers, and/or dedicated audio controllers (connected to speakers and/or microphones). It should also be appreciated that various peripherals may be connected to the USB controller (via various USB ports) including input devices (e.g., keyboard, mouse, touch screen, trackball, camera, microphone, scanners), output devices (e.g., printers, speakers), or any other type of device that is operative to provide inputs or receive outputs from the data processing system 1.
  • input devices e.g., keyboard, mouse, touch screen, trackball, camera, microphone, scanners
  • output devices e.g., printers, speakers
  • I/O controllers may include any type of device, machine, or component that is configured to communicate with a data processing system 1.
  • systems may use other types of input devices to provide inputs for manipulating objects such as a mouse, pointer, touch pad, drawing tablet, track ball, joystick, keypad, keyboard, camera, motion sensing device that captures motion gestures, or any other type of input device capable of providing the inputs described herein.
  • a user may wish to model a design for an object, generate manufacturing instructions for manufacturing that object, or make modifications to the design or manufacturing instructions.
  • Direct modelling, or variational direct modelling may be used in any case where an object or article is represented as a solid, including machine parts, vehicles, equipment installations, building layouts, engineering structures, or chemical structures, but the invention is not limited to these applications.
  • a three dimensional model allows mass, or weight of parts to be derived and interaction with other components in other systems can be determined.
  • the disclosure is also applicable to other types of model, such as parametric modelling, feature based modelling, or history modelling.
  • blend comprises a face produced by rounding an edge.
  • a “blend chain” comprises a set of connected blend faces formed by rounding a connected set of edges, for example, as illustrated by the shaded faces 27 of Fig.8a which form a blend chain.
  • Blend unders refer to entities that existed before the blend was created and upon which the blend is based. These are often neighbouring faces that previously intersected to form an edge or vertex.
  • a "dependent blend” is one in which there are blend faces that must be 're-blended' if the face moves, for example, as illustrated in Fig.8b, moving the face 28 in the direction of the arrow 29 requires the faces 30 to be re-blended.
  • Dependent blends always include the blend faces for which the moving face is an under, but may also include other faces too.
  • Re-blending refers to the process of re-generating the blend. When the model has changed, re-generating the blend, based on the blend's changed unders, allows the blend to move or change shape based on the edit being made.
  • Two blends are "mutually dependent" when each is an under of the other, for example as shown in Fig.8c, where the two shaded blends 31, 32 are mutually dependent.
  • a mutually dependent blend ribbon is formed from a series of mutually dependent blends based on the dependency of the mutually dependent blends.
  • the shaded faces 33, 34, 35 are an example of a ribbon of length three.
  • a typical model is assumed to comprise connected elements, with blends providing finishing detail, for example as shown in Fig.3a, where features 11, 12 are connected and finished by blends 13.
  • the representation of Fig.3a includes planar face 19 and cylindrical face 20.
  • the entities may comprise faces 18, or blends (blend faces) 13 for a 3D model, or edges, or curves and blend edges, or blend curves (not shown) in a 2D model. This is generally interpreted as keeping the selected faces or edges rigid, meaning they receive the same transform.
  • the examples are described with respect to 3D models, referring to faces and blends, but the method is equally applicable to 2D models having edges and blend edges.
  • a common selection technique within a CAD system is known as "rubber band” or “fence” selection. This is where a shape is drawn on the screen, often a rectangle, and all entities within the shape are added to the selection. This is often used to select all entities within a feature, or the whole side or end of a part so that it can be moved.
  • Fig.2 illustrates a typical rubber band selection in which some faces 14 and blends 15 in a 3D model, or edges and blend edges (not shown) in a 2D model, fall within a selection shape 16.
  • This technique it is easy for the user to select too many faces, including some blend faces that were not intended to move rigidly with the rest of the selection. Particularly on large models this can occur without the user even noticing, making it impractical and unreasonable for these entities to be de-selected. Over selection usually results in either a failed move or bad behaviour of the edit.
  • Fig.3 a is the original model on which a feature is selected, for example by the user, or by a system instruction.
  • a protrusion 12 is within an indicated region of interest and a move in the direction of the arrow 17 is attempted.
  • Other modelling operators such as rotate, resize, offset, taper, replace etc., may be applied in the method of the disclosure, but for convenience, the examples herein are described with respect to a "move" operation.
  • the selected faces 13, 18 in the region of interest include the blend faces 13 around the base of the feature 12.
  • Fig.3b shows how an incorrect result can occur based on the standard behaviour being to move all the selected faces 13, 18 in the direction of the arrow 17.
  • the selected faces include the blends 13, this forces the face 20, which in this example is a cylinder face, or cylindrical face, because its underlying geometry is a cylinder, of the feature to which the protrusion is joined, in this example, base 11, to move with the selection so that tangency can be preserved.
  • Face 19 is a plane, or planar face, which does not move in this example because the direction of movement is within the plane. For a different move direction, the planar face 19 may also be forced to move.
  • the desired result is illustrated in Fig.3c. The desired result is for the feature faces 18 to move rigidly, but for the blends 13 to adapt their position and shape to their surrounding faces, rather than force their surrounding faces 19, 20 to move.
  • FIG.4a shows the original model with faces 18 and blends 13, planar face 19 and cylindrical face 20.
  • a feature 12 is selected, for example by the user, or by an automated system instruction, and a move in the direction of the arrow 17 is attempted. This time the cylindrical face 20 cannot move.
  • Fig.4b fixing the cylindrical face, but trying to move in the direction of the arrow 17 causes the operation to fail as the tangency between the blend faces 13 and the cylinder 20 would need to break.
  • the present disclosure describes a method for determining which blends should be rigid within the selection in order to improve the behaviour when a model is being edited.
  • a method for analysing the selected entities and determining which blends within the selection should remain rigid and which should simply adapt is provided.
  • not all blends within a particular selection can simply be dropped from the selection.
  • faces 21, 24, 25 are selected for moving.
  • the selected faces 21, 24, 25 include blends that cannot be dropped, so the effect of dropping blends from the selection in Fig.5a would be that the user would not get any movement in response to a selection and instruction to move in the direction of the arrow 22.
  • the effect of dropping blends from the selection in Fig.5b is that the Fig.5b face 25 would move in the direction of the arrow 26, but the result would be undesirable.
  • Fig.6a illustrates the method of this disclosure at a general level.
  • the method comprises steps performed on a data processing system to edit a model, those steps including receiving an indication of a region of interest in a representation generated by the model, for example by selecting 80 the region of interest.
  • the representation comprises one or more entities, either faces, or edges, according to whether the model is 3D or 2D.
  • An edit to be applied to the selected region of interest is determined.
  • a test 81 is made of all entities in the selected region of interest for the presence of blend entities and in the process, all non-blend entities are allocated 82 to an edit group.
  • the edit group may also be referred to as the KEEP list, as it contains entities which are to be kept and to which the edit is to be applied.
  • the blend entities found are allocated 83 to a test group and all the blend entities in the test group are tested 84 to determine whether those blend entities comprise boundary blend entities, or not.
  • the boundary blend entities may also be referred to as the IGNORE group 85, as those entities will not have the edit applied to them.
  • Blend entities which are not boundary blends may be added 86 to the edit group.
  • the edit is then applied 87 to all entities in the edit group and the boundary blend entities are subsequently re-blended 88 onto the edited entities.
  • a representation of the edited region of interest including the edited entities and re- blended boundary blend entities may then be output 89, for example to a store, or a display.
  • Fig.6b illustrates a more detailed embodiment of the method of this disclosure for a 3D model.
  • the method described takes into account the various difficulties and uses some heuristics to determine which blends can be dropped, giving improvements in behaviour, while keeping those that are required.
  • the categorisation process shown in Fig.6b may be followed for all entities within the selection.
  • Fig.6b and the following description refer to entities as faces, but as referred to above, the method can equally be applied to edges or curves in a 2D model and except as otherwise indicated, a face may be replaced by an edge or curve in a 2D model.
  • the process considers each face determining whether to KEEP or IGNORE that face.
  • KEEP faces are made rigid and derive their transform from the operation being performed.
  • IGNORE faces are re- blended based on the new position of the KEEP faces that they are dependent on.
  • a face is selected 40 and then a check 41 is made to determine whether the face is a blend 42, or is not a blend 43.
  • the process divides the selected faces into blends and non-blends.
  • selected edges are divided into blends and non-blends.
  • Non-blends will always be KEEP faces 44.
  • the faces which have been determined to be blends all undergo a series of initial tests 45 to check the following. At least one under IS NOT selected, AND at least one under IS selected, AND the blend IS dependent on at least one face in a list of KEEP faces 44. This check is to ensure that an IGNORE blend will be correctly re-blended subsequently, as part of the update to the model. Any blends that do not pass 46 these checks are categorised as KEEP faces 44. Blends that pass 47 the initial tests 45 are then checked to determine whether they are dependent-blends or mutually-dependent-blends.
  • blend faces are then divided into two categories, mutually-dependent- blends 48 and dependent-blends 49, as they are analysed differently.
  • mutually-dependent-blends only blends at any non-selected ends of a ribbon can be ignored. This is done by carrying out mutually dependent blend tests 50 to check the following.
  • the chain of blends is greater than length 1 - in order to ensure that the face is really a blend, rather than a face that can just be identified as a blend, AND the total length of the ribbon is greater than 2, AND the number of selected unders is 1, AND the selected under is a blend in the same ribbon. Any faces that pass 52 these checks are put in a list of IGNORE faces 53, any faces that do not pass 54 are put in the KEEP list 44
  • the remaining dependent blends 49 are categorised as IGNORE or KEEP by repeatedly checking 51 the following. If all the blend's unders are in the current KEEP list 44, then KEEP 55 the blend; if the blend is a cylinder, AND its chain length is 1, AND it has no other blends dependent on it, then KEEP 55 the blend; if the blend is a cylinder, AND its chain length is 1, AND its dependents, i.e. those blends depending on it, are all analytic, i.e. one of a cylinder, sphere or torus, then KEEP 55 the blend; otherwise, IGNORE 56 the blend. This process is repeated until no more blends are added to the KEEP list 44.
  • the steps of this paragraph are a special case for the 3D example and not applicable when using a 2D model.
  • a list of KEEP faces 44 and a list of IGNORE faces 53 are generated.
  • the desired edit for example movement in a given direction for the selected entity, is then applied to the KEEP faces determined from those within the selection, but not to the IGNORE faces determined from those within the selection.
  • IGNORE faces are then re-blended based on the new position of the KEEP faces that they are dependent on.
  • Figs 7a to 7d show some specific examples of how the method of this disclosure applies.
  • KEEP face 60 and IGNORE faces 61 results in KEEP face 60 and IGNORE faces 61.
  • the KEEP face may then be moved in the direction of arrow 63 to carry out the edit and the IGNORE faces 61 re-blended based on the new position of the KEEP face 60 that they are dependent on.
  • the process results in KEEP face 64 and IGNORE faces 65.
  • the KEEP face 64 may then be moved in the direction of arrow 66 to carry out the desired edit and the IGNORE faces 65 re-blended based on the new position of the KEEP face 64 that they are dependent on.
  • the KEEP faces 67 may then be moved in the direction of arrow 69 to carry out the desired edit and the IGNORE faces 68 re-blended based on the new position of the KEEP faces 67 that they are dependent on.
  • Fig.7d illustrates an example in which the process results in multiple KEEP faces 70a, 70b, 70c.
  • KEEP faces 70a and 70b are adjacent, but KEEP face 70c is separated from KEEP face 70b by IGNORE faces 71.
  • the desired edit may be applied of movement in the direction of arrow 72, followed by re-blending of IGNORE faces 71 based on the new position of the KEEP faces 67 that they are dependent on.
  • the method and system of the disclosure allow a selection based variational system to automatically alter the selection a user has made to give effect to the intended movement of the entity selected. This results in a system that is easier and more intuitive to use, requiring less effort and skill on behalf of the user.
  • the system is more reliable in the sense that more edits are successful, and the system is more responsive because less of the model is being solved variationally.
  • via rubber band selection the method of the disclosure enables a desired edit actually achievable.
  • the method discussed enables dropping blends from a selection to gives a desired intuitive behavior and is applicable for any CAD system which allows selection driven edits to a 2D or 3D model.
  • An operating system included in the data processing system enables an output from the system to be displayed to the user on display 6 and the user to interact with the system.
  • Examples of operating systems that may be used in a data processing system may include Microsoft WindowsTM, LinuxTM, UNIXTM, iOSTM, and AndroidTM operating systems.
  • data processing system 1 may be implemented as in a networked environment, distributed system environment, virtual machines in a virtual machine architecture, and/or cloud environment.
  • the processor 2 and associated components may correspond to a virtual machine executing in a virtual machine environment of one or more servers.
  • virtual machine architectures include VMware ESCi, Microsoft Hyper- V, Xen, and KVM.
  • the hardware depicted for the data processing system 1 may vary for particular implementations.
  • the data processing system 1 in this example may correspond to a computer, workstation, and/or a server.
  • a data processing system may be configured with corresponding or alternative components such as in the form of a mobile phone, tablet, controller board or any other system that is operative to process data and carry out functionality and features described herein associated with the operation of a data processing system, computer, processor, and/or a controller discussed herein.
  • the depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.
  • the data processing system 1 may be connected to the network (not a part of data processing system 1), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet.
  • Data processing system 1 can communicate over the network with one or more other data processing systems such as a server (also not part of the data processing system 1).
  • an alternative data processing system may correspond to a plurality of data processing systems implemented as part of a distributed system in which processors associated with several data processing systems may be in communication by way of one or more network connections and may collectively perform tasks described as being performed by a single data processing system.
  • a data processing system such a system may be implemented across several data processing systems organized in a distributed system in communication with each other via a network.
  • machine usable/readable or computer usable/readable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD- ROMs) or digital versatile disks (DVDs).
  • ROMs read only memories
  • EEPROMs electrically programmable read only memories
  • user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD- ROMs) or digital versatile disks (DVDs).

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)

Abstract

A method of editing a model comprises receiving (80) an indication of a region of interest in a representation comprising one or more entities, comprising faces of a 3D model, or edges of a 2D model. An edit is determined and all entities in the selected region of interest are tested (81) for the presence of blend entities. All non-blend entities are allocated (82) to an edit group and all blend entities (83) to a test group. All blend entities in the test group are tested (84) to determine whether they comprise boundary blend entities. The edit is applied (87) to all entities in the edit group; and to blend entities which are not boundary blend entities (86). Boundary blend entities are re-blended (88) onto edited entities based on the new position of the entity the boundary blend entity is dependent upon. A representation of the edited region of interest may be output (89).

Description

MODEL EDITING METHOD AND SYSTEM
TECHNICAL FIELD
This present disclosure relates to the general field of computer aided design, drafting ("CAD"), manufacturing ("CAM") and visualisation systems (individually and collectively "CAD systems"), product lifecycle management ("PLM") systems, and similar systems, that manage data for products and other items (collectively, "Product Data Management" systems or PDM systems). BACKGROUND OF THE DISCLOSURE
PDM systems manage PLM and other data. Improved methods and systems are desirable.
SUMMARY OF THE DISCLOSURE
Various disclosed embodiments include methods for editing a model in a modelling system.
A method of editing a model, the method performed on a data processing system, includes receiving an indication of a region of interest in a representation generated by the model, the representation comprising one or more entities, wherein the entities comprise faces of a 3D model, or edges of a 2D model; determining an edit to be applied to the selected region of interest; testing all entities in the region of interest for the presence of blend entities; allocating all non-blend entities to an edit group;
allocating all blend entities to a test group; testing all blend entities in the test group to determine whether they comprise boundary blend entities; applying the edit to all entities in the edit group; applying the edit to blend entities which are not boundary blend entities; re-blending boundary blend entities onto edited entities, wherein the boundary blend entities are re-blended based on the new position of the entity the boundary blend entity is dependent upon; and outputting a representation of the edited region of interest including edited entities and re-blended boundary blend entities. A data processing system includes a processor; and an accessible memory. The data processing system particularly configured to receive an indication of a region of interest in a representation generated by the model, the representation comprising one or more entities, wherein the entities comprise faces of a 3D model, or edges of a 2D model; determine an edit to be applied to the selected region of interest; test all entities in the region of interest for the presence of blend entities; allocate all non-blend entities to an edit group; allocate all blend entities to a test group; test all blend entities in the test group to determine whether they comprise boundary blend entities; apply the edit to all entities in the edit group; apply the edit to blend entities which are not boundary blend entities; re-blend boundary blend entities onto edited entities, wherein the boundary blend entities are re-blended based on the new position of the entity the boundary blend entity is dependent upon; and, output a representation of the edited region of interest including edited entities and re-blended boundary blend entities. A non-transitory computer-readable medium may be encoded with executable instructions that, when executed, cause one or more data processing systems to receive an indication of a region of interest in a representation generated by the model, the representation comprising one or more entities, wherein the entities comprise faces of a 3D model, or edges of a 2D model; determine an edit to be applied to the selected region of interest; test all entities in the region of interest for the presence of blend entities; allocate all non-blend entities to an edit group; allocate all blend entities to a test group; test all blend entities in the test group to determine whether they comprise boundary blend entities; apply the edit to all entities in the edit group; apply the edit to blend entities which are not boundary blend entities; re-blend boundary blend entities onto edited entities, wherein the boundary blend entities are re-blended based on the new position of the entity the boundary blend entity is dependent upon; and, output a representation of the edited region of interest including edited entities and re-blended boundary blend entities. The foregoing has outlined rather broadly the features and technical advantages of the present disclosure so that those skilled in the art may better understand the detailed description that follows. Additional features and advantages of the disclosure will be described hereinafter that form the subject of the claims. Those skilled in the art will appreciate that they may readily use the conception and the specific embodiment disclosed as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Those skilled in the art will also realize that such equivalent constructions do not depart from the scope of the disclosure in its broadest form.
Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words or phrases used throughout this patent document: the terms "include" and "comprise," as well as derivatives thereof, mean inclusion without limitation; the term "or" is inclusive, meaning and/or; and the term "controller" means any device, system or part thereof that controls at least one operation, whether such a device is implemented in hardware, firmware, software or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, and those of ordinary skill in the art will understand that such definitions apply in many, if not most, instances to prior as well as future uses of such defined words and phrases. While some terms may include a wide variety of embodiments, the appended claims may expressly limit these terms to specific embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
An example of method and system according to the present disclosure will now be described with reference to the accompanying drawings in which: Figure 1 is a block diagram of a data processing system in which an embodiment can be implemented;
Figure 2 illustrates a conventional selection technique for editing a model; Figures 3a to 3c illustrate some effects which may result when editing a model;
Figures 4a and 4b illustrate other effects which may result when editing a model; Figures 5a and 5b illustrate further effects which may result when editing a model;
Figure 6a is a flow diagram of a process in accordance with disclosed embodiments; Figure 6b is a flow diagram of a more detailed example of a process in accordance with the disclosed embodiments;
Figures 7a to 7d are specific examples illustrating a process in accordance with the disclosed embodiments; and,
Figures 8a to 8d illustrate certain definitions of terms.
DETAILED DESCRIPTION The embodiments of Figs. l to 8d used to describe the principles of the present disclosure in this document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged device, apparatus, system, or method.
Fig.1 illustrates an example of a data processing system in which an embodiment of the present disclosure may be implemented, for example a CAD system configured to perform processes as described herein. The data processing system 1 comprises a processor 2 connected to a local system bus 3. The local system bus 3 connects the processor 2 to a main memory 4 and graphics display adaptor 5, which may be connected to a display 6. The data processing system 1 may communicate with other systems via a wireless user interface adapter connected to the local system bus 3, or via a wired network, e.g. to a local area network. Additional memory 8 may also be connected via the local system bus 3. A suitable adaptor, such as wireless user interface adapter 7, for other peripheral devices, such as a keyboard 9 and mouse 10, or other pointing device, allows the user to provide input to the data processing system 1. Other peripheral devices may include one or more I/O controllers such as USB controllers, Bluetooth controllers, and/or dedicated audio controllers (connected to speakers and/or microphones). It should also be appreciated that various peripherals may be connected to the USB controller (via various USB ports) including input devices (e.g., keyboard, mouse, touch screen, trackball, camera, microphone, scanners), output devices (e.g., printers, speakers), or any other type of device that is operative to provide inputs or receive outputs from the data processing system 1. Further it should be appreciated that many devices referred to as input devices or output devices may both provide inputs and receive outputs of communications with the data processing system 1. Further it should be appreciated that other peripheral hardware connected to the I/O controllers may include any type of device, machine, or component that is configured to communicate with a data processing system 1. Further, systems may use other types of input devices to provide inputs for manipulating objects such as a mouse, pointer, touch pad, drawing tablet, track ball, joystick, keypad, keyboard, camera, motion sensing device that captures motion gestures, or any other type of input device capable of providing the inputs described herein.
In CAD systems, a user may wish to model a design for an object, generate manufacturing instructions for manufacturing that object, or make modifications to the design or manufacturing instructions. Direct modelling, or variational direct modelling, may be used in any case where an object or article is represented as a solid, including machine parts, vehicles, equipment installations, building layouts, engineering structures, or chemical structures, but the invention is not limited to these applications. A three dimensional model allows mass, or weight of parts to be derived and interaction with other components in other systems can be determined. The disclosure is also applicable to other types of model, such as parametric modelling, feature based modelling, or history modelling.
For the purpose of describing embodiments of the method and system the following meanings apply and are further illustrated by the examples of Figs.8a to 8d. The term "blend" comprises a face produced by rounding an edge. A "blend chain" comprises a set of connected blend faces formed by rounding a connected set of edges, for example, as illustrated by the shaded faces 27 of Fig.8a which form a blend chain. "Blend unders" refer to entities that existed before the blend was created and upon which the blend is based. These are often neighbouring faces that previously intersected to form an edge or vertex. A "dependent blend" is one in which there are blend faces that must be 're-blended' if the face moves, for example, as illustrated in Fig.8b, moving the face 28 in the direction of the arrow 29 requires the faces 30 to be re-blended. Dependent blends always include the blend faces for which the moving face is an under, but may also include other faces too. "Re-blending" refers to the process of re-generating the blend. When the model has changed, re-generating the blend, based on the blend's changed unders, allows the blend to move or change shape based on the edit being made. Two blends are "mutually dependent" when each is an under of the other, for example as shown in Fig.8c, where the two shaded blends 31, 32 are mutually dependent. A mutually dependent blend ribbon is formed from a series of mutually dependent blends based on the dependency of the mutually dependent blends. In the example of Fig.8d, the shaded faces 33, 34, 35 are an example of a ribbon of length three. A typical model is assumed to comprise connected elements, with blends providing finishing detail, for example as shown in Fig.3a, where features 11, 12 are connected and finished by blends 13. The representation of Fig.3a includes planar face 19 and cylindrical face 20. When editing a 3D or 2D model via a selection based operation, such as a move in a given direction indicated by arrow 17, the standard user expected behaviour of the system is for selected entities, to move together. The entities may comprise faces 18, or blends (blend faces) 13 for a 3D model, or edges, or curves and blend edges, or blend curves (not shown) in a 2D model. This is generally interpreted as keeping the selected faces or edges rigid, meaning they receive the same transform. The examples are described with respect to 3D models, referring to faces and blends, but the method is equally applicable to 2D models having edges and blend edges.
A common selection technique within a CAD system is known as "rubber band" or "fence" selection. This is where a shape is drawn on the screen, often a rectangle, and all entities within the shape are added to the selection. This is often used to select all entities within a feature, or the whole side or end of a part so that it can be moved. Fig.2 illustrates a typical rubber band selection in which some faces 14 and blends 15 in a 3D model, or edges and blend edges (not shown) in a 2D model, fall within a selection shape 16. Using this technique it is easy for the user to select too many faces, including some blend faces that were not intended to move rigidly with the rest of the selection. Particularly on large models this can occur without the user even noticing, making it impractical and unreasonable for these entities to be de-selected. Over selection usually results in either a failed move or bad behaviour of the edit.
Using the example shown in Fig.3 a, this behaviour issue may be illustrated. Fig.3 a is the original model on which a feature is selected, for example by the user, or by a system instruction. In this example, a protrusion 12 is within an indicated region of interest and a move in the direction of the arrow 17 is attempted. Other modelling operators, such as rotate, resize, offset, taper, replace etc., may be applied in the method of the disclosure, but for convenience, the examples herein are described with respect to a "move" operation. The selected faces 13, 18 in the region of interest include the blend faces 13 around the base of the feature 12. Fig.3b shows how an incorrect result can occur based on the standard behaviour being to move all the selected faces 13, 18 in the direction of the arrow 17. As the selected faces include the blends 13, this forces the face 20, which in this example is a cylinder face, or cylindrical face, because its underlying geometry is a cylinder, of the feature to which the protrusion is joined, in this example, base 11, to move with the selection so that tangency can be preserved. Face 19 is a plane, or planar face, which does not move in this example because the direction of movement is within the plane. For a different move direction, the planar face 19 may also be forced to move. The desired result is illustrated in Fig.3c. The desired result is for the feature faces 18 to move rigidly, but for the blends 13 to adapt their position and shape to their surrounding faces, rather than force their surrounding faces 19, 20 to move.
Another example is illustrated in Figs.4a and 4b. Fig.4a shows the original model with faces 18 and blends 13, planar face 19 and cylindrical face 20. In the same way as in the example of Fig.3 a above, a feature 12 is selected, for example by the user, or by an automated system instruction, and a move in the direction of the arrow 17 is attempted. This time the cylindrical face 20 cannot move. As can be seen in Fig.4b, fixing the cylindrical face, but trying to move in the direction of the arrow 17 causes the operation to fail as the tangency between the blend faces 13 and the cylinder 20 would need to break. The present disclosure describes a method for determining which blends should be rigid within the selection in order to improve the behaviour when a model is being edited. In one embodiment a method for analysing the selected entities and determining which blends within the selection should remain rigid and which should simply adapt is provided. However, not all blends within a particular selection can simply be dropped from the selection. In the examples of both Fig.5a and Fig.5b, faces 21, 24, 25 are selected for moving. The selected faces 21, 24, 25 include blends that cannot be dropped, so the effect of dropping blends from the selection in Fig.5a would be that the user would not get any movement in response to a selection and instruction to move in the direction of the arrow 22. The effect of dropping blends from the selection in Fig.5b is that the Fig.5b face 25 would move in the direction of the arrow 26, but the result would be undesirable. Fig.6a illustrates the method of this disclosure at a general level. The method comprises steps performed on a data processing system to edit a model, those steps including receiving an indication of a region of interest in a representation generated by the model, for example by selecting 80 the region of interest. The representation comprises one or more entities, either faces, or edges, according to whether the model is 3D or 2D. An edit to be applied to the selected region of interest is determined. A test 81 is made of all entities in the selected region of interest for the presence of blend entities and in the process, all non-blend entities are allocated 82 to an edit group. The edit group may also be referred to as the KEEP list, as it contains entities which are to be kept and to which the edit is to be applied. The blend entities found are allocated 83 to a test group and all the blend entities in the test group are tested 84 to determine whether those blend entities comprise boundary blend entities, or not. The boundary blend entities may also be referred to as the IGNORE group 85, as those entities will not have the edit applied to them. Blend entities which are not boundary blends may be added 86 to the edit group. The edit is then applied 87 to all entities in the edit group and the boundary blend entities are subsequently re-blended 88 onto the edited entities. A representation of the edited region of interest including the edited entities and re- blended boundary blend entities may then be output 89, for example to a store, or a display. Fig.6b illustrates a more detailed embodiment of the method of this disclosure for a 3D model. The method described takes into account the various difficulties and uses some heuristics to determine which blends can be dropped, giving improvements in behaviour, while keeping those that are required. The categorisation process shown in Fig.6b may be followed for all entities within the selection. Fig.6b and the following description refer to entities as faces, but as referred to above, the method can equally be applied to edges or curves in a 2D model and except as otherwise indicated, a face may be replaced by an edge or curve in a 2D model. The process considers each face determining whether to KEEP or IGNORE that face. KEEP faces are made rigid and derive their transform from the operation being performed. IGNORE faces are re- blended based on the new position of the KEEP faces that they are dependent on.
In a first step, a face is selected 40 and then a check 41 is made to determine whether the face is a blend 42, or is not a blend 43. Thus, the process divides the selected faces into blends and non-blends. For the 2D example, selected edges are divided into blends and non-blends. Non-blends will always be KEEP faces 44. The faces which have been determined to be blends all undergo a series of initial tests 45 to check the following. At least one under IS NOT selected, AND at least one under IS selected, AND the blend IS dependent on at least one face in a list of KEEP faces 44. This check is to ensure that an IGNORE blend will be correctly re-blended subsequently, as part of the update to the model. Any blends that do not pass 46 these checks are categorised as KEEP faces 44. Blends that pass 47 the initial tests 45 are then checked to determine whether they are dependent-blends or mutually-dependent-blends.
At this stage, all the remaining blend faces are now dependent on a face in the KEEP list 44. These blend faces are then divided into two categories, mutually-dependent- blends 48 and dependent-blends 49, as they are analysed differently. For mutually- dependent-blends, only blends at any non-selected ends of a ribbon can be ignored. This is done by carrying out mutually dependent blend tests 50 to check the following. The chain of blends is greater than length 1 - in order to ensure that the face is really a blend, rather than a face that can just be identified as a blend, AND the total length of the ribbon is greater than 2, AND the number of selected unders is 1, AND the selected under is a blend in the same ribbon. Any faces that pass 52 these checks are put in a list of IGNORE faces 53, any faces that do not pass 54 are put in the KEEP list 44
The remaining dependent blends 49 are categorised as IGNORE or KEEP by repeatedly checking 51 the following. If all the blend's unders are in the current KEEP list 44, then KEEP 55 the blend; if the blend is a cylinder, AND its chain length is 1, AND it has no other blends dependent on it, then KEEP 55 the blend; if the blend is a cylinder, AND its chain length is 1, AND its dependents, i.e. those blends depending on it, are all analytic, i.e. one of a cylinder, sphere or torus, then KEEP 55 the blend; otherwise, IGNORE 56 the blend. This process is repeated until no more blends are added to the KEEP list 44. The steps of this paragraph are a special case for the 3D example and not applicable when using a 2D model.
From the steps outlined above, a list of KEEP faces 44 and a list of IGNORE faces 53 are generated. The desired edit, for example movement in a given direction for the selected entity, is then applied to the KEEP faces determined from those within the selection, but not to the IGNORE faces determined from those within the selection. After the edit has been applied to the KEEP faces, the blends within the list of
IGNORE faces are then re-blended based on the new position of the KEEP faces that they are dependent on.
Figs 7a to 7d show some specific examples of how the method of this disclosure applies. For example, following the process of Fig.6a, or 6b for the selection of faces and blends in Fig.7a results in KEEP face 60 and IGNORE faces 61. The KEEP face may then be moved in the direction of arrow 63 to carry out the edit and the IGNORE faces 61 re-blended based on the new position of the KEEP face 60 that they are dependent on. For Fig.7b, the process results in KEEP face 64 and IGNORE faces 65. The KEEP face 64 may then be moved in the direction of arrow 66 to carry out the desired edit and the IGNORE faces 65 re-blended based on the new position of the KEEP face 64 that they are dependent on. In the example of Fig.7c, there are multiple KEEP faces 67 as well as multiple IGNORE faces 68 resulting from the process. The KEEP faces 67 may then be moved in the direction of arrow 69 to carry out the desired edit and the IGNORE faces 68 re-blended based on the new position of the KEEP faces 67 that they are dependent on. Finally, Fig.7d illustrates an example in which the process results in multiple KEEP faces 70a, 70b, 70c. KEEP faces 70a and 70b are adjacent, but KEEP face 70c is separated from KEEP face 70b by IGNORE faces 71. Thus, even for non-contiguous KEEP faces, the desired edit may be applied of movement in the direction of arrow 72, followed by re-blending of IGNORE faces 71 based on the new position of the KEEP faces 67 that they are dependent on.
Numerous advantages include, but are not limited to obtaining a desired result for editing of a model without the need for time consuming analysis and interaction by the user. The method and system of the disclosure allow a selection based variational system to automatically alter the selection a user has made to give effect to the intended movement of the entity selected. This results in a system that is easier and more intuitive to use, requiring less effort and skill on behalf of the user. The system is more reliable in the sense that more edits are successful, and the system is more responsive because less of the model is being solved variationally. In some cases where many blends are involved, via rubber band selection the method of the disclosure enables a desired edit actually achievable. The method discussed enables dropping blends from a selection to gives a desired intuitive behavior and is applicable for any CAD system which allows selection driven edits to a 2D or 3D model.
An operating system included in the data processing system enables an output from the system to be displayed to the user on display 6 and the user to interact with the system. Examples of operating systems that may be used in a data processing system may include Microsoft WindowsTM, LinuxTM, UNIXTM, iOSTM, and AndroidTM operating systems.
In addition, it should be appreciated that data processing system 1 may be implemented as in a networked environment, distributed system environment, virtual machines in a virtual machine architecture, and/or cloud environment. For example, the processor 2 and associated components may correspond to a virtual machine executing in a virtual machine environment of one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper- V, Xen, and KVM. Those of ordinary skill in the art will appreciate that the hardware depicted for the data processing system 1 may vary for particular implementations. For example the data processing system 1 in this example may correspond to a computer, workstation, and/or a server. However, it should be appreciated that alternative embodiments of a data processing system may be configured with corresponding or alternative components such as in the form of a mobile phone, tablet, controller board or any other system that is operative to process data and carry out functionality and features described herein associated with the operation of a data processing system, computer, processor, and/or a controller discussed herein. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.
The data processing system 1 may be connected to the network (not a part of data processing system 1), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet. Data processing system 1 can communicate over the network with one or more other data processing systems such as a server (also not part of the data processing system 1). However, an alternative data processing system may correspond to a plurality of data processing systems implemented as part of a distributed system in which processors associated with several data processing systems may be in communication by way of one or more network connections and may collectively perform tasks described as being performed by a single data processing system. Thus, it is to be understood that when referring to a data processing system, such a system may be implemented across several data processing systems organized in a distributed system in communication with each other via a network.
Of course, those of skill in the art will recognize that, unless specifically indicated or required by the sequence of operations, certain steps in the processes described above may be omitted, performed concurrently or sequentially, or performed in a different order.
Those skilled in the art will recognize that, for simplicity and clarity, the full structure and operation of all data processing systems suitable for use with the present disclosure is not being depicted or described herein. Instead, only so much of a data processing system as is unique to the present disclosure or necessary for an understanding of the present disclosure is depicted and described. The remainder of the construction and operation of data processing system 1 may conform to any of the various current implementations and practices known in the art.
It is important to note that while the disclosure includes a description in the context of a fully functional system, those skilled in the art will appreciate that at least portions of the mechanism of the present disclosure are capable of being distributed in the form of instructions contained within a machine-usable, computer-usable, or computer-readable medium in any of a variety of forms, and that the present disclosure applies equally regardless of the particular type of instruction or signal bearing medium or storage medium utilized to actually carry out the distribution. Examples of machine usable/readable or computer usable/readable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD- ROMs) or digital versatile disks (DVDs). Although an exemplary embodiment of the present disclosure has been described in detail, those skilled in the art will understand that various changes, substitutions, variations, and improvements disclosed herein may be made without departing from the spirit and scope of the disclosure in its broadest form. None of the description in the present application should be read as implying that any particular element, step, or function is an essential element which must be included in the claim scope: the scope of patented subject matter is defined only by the allowed claims. Moreover, none of these claims are intended to invoke 35 USC §112(f) unless the exact words "means for" are followed by a participle.

Claims

1. A method of editing a model, the method performed on a data processing system, the method comprising receiving an indication of a region of interest in a representation generated by the model, the representation comprising one or more entities, wherein the entities comprise faces of a 3D model, or edges of a 2D model; determining an edit to be applied to the selected region of interest; testing all entities in the region of interest for the presence of blend entities; allocating all non-blend entities to an edit group; allocating all blend entities to a test group; testing all blend entities in the test group to determine whether they comprise boundary blend entities; applying the edit to all entities in the edit group; applying the edit to blend entities which are not boundary blend entities; re-blending boundary blend entities onto edited entities, wherein the boundary blend entities are re-blended based on the new position of the entity the boundary blend entity is dependent upon; and outputting a representation of the edited region of interest including edited entities and re-blended boundary blend entities.
2. A method according to claim 1, wherein the test for boundary blend entities comprises detecting the presence of at least one under of the blend entity which is not selected, at least one under of the blend entity which is selected and determining that the selected under is dependent upon at least one entity in the edit group.
3. A method according to claim 1 or claim 2, wherein the method further comprises testing whether blends with an under which is dependent upon at least one entity in the edit group are dependent blends, or mutually dependent blends.
4. A method according to claim 3, wherein a mutually dependent blend comprises a chain of blends of length greater than one blend entity and a ribbon of length greater than two entities.
5. A method according to claim 3 or claim 4, wherein the mutually dependent blend further comprises a single under which is a blend in the same ribbon.
6 A method according to any preceding claim, wherein the receiving an indication of a region of interest comprises receiving a selection instruction to select a region of interest in a representation generated by the model.
7. A method according to any preceding claim, wherein dependent blends are allocated to the edit group if all the unders of the blend are in the edit group; or if the blend is a cylinder of chain length one and has no other blends dependent on it; or if the blend is a cylinder of chain length one and all of its dependencies are analytic.
8. A method according to any preceding claim, wherein the edit comprises at least one of move, rotate, resize, offset, taper, or replace.
9. A method according to any preceding claim, wherein the outputting comprises outputting the resulting representation to a store or a display.
10. A method according to any preceding claim, wherein the model comprises a simulation of a product.
11. A method according to any preceding claim, wherein the method further comprises converting the output representation to manufacturing instructions.
12. A data processing system comprising:
a processor; and an accessible memory, the data processing system particularly configured to:
receive an indication of a region of interest in a representation generated by the model, the representation comprising one or more entities, wherein the entities comprise faces of a 3D model, or edges of a 2D model;
determine an edit to be applied to the selected region of interest;
test all entities in the region of interest for the presence of blend entities;
allocate all non-blend entities to an edit group;
allocate all blend entities to a test group;
test all blend entities in the test group to determine whether they comprise boundary blend entities; apply the edit to all entities in the edit group;
apply the edit to blend entities which are not boundary blend entities;
re-blend boundary blend entities onto edited entities, wherein the boundary blend entities are re-blended based on the new position of the entity the boundary blend entity is dependent upon; and,
output a representation of the edited region of interest including edited entities and re-blended boundary blend entities.
13. A data processing system according to claim 12, wherein the means for outputting the resulting representation comprises a store or a display.
14. A non-transitory computer-readable medium encoded with executable instructions that when executed, cause one or more data processing system to:
receive an indication of a region of interest in a representation generated by the model, the representation comprising one or more entities, wherein the entities comprise faces of a 3D model, or edges of a 2D model;
determine an edit to be applied to the selected region of interest;
test all entities in the region of interest for the presence of blend entities;
allocate all non-blend entities to an edit group;
allocate all blend entities to a test group;
test all blend entities in the test group to determine whether they comprise boundary blend entities;
apply the edit to all entities in the edit group;
apply the edit to blend entities which are not boundary blend entities;
re-blend boundary blend entities onto edited entities, wherein the boundary blend entities are re-blended based on the new position of the entity the boundary blend entity is dependent upon; and,
output a representation of the edited region of interest including edited entities and re-blended boundary blend entities.
PCT/IB2016/052764 2016-05-13 2016-05-13 Model editing system and method Ceased WO2017194998A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680085699.3A CN109196497A (en) 2016-05-13 2016-05-13 Model editing method and system
PCT/IB2016/052764 WO2017194998A1 (en) 2016-05-13 2016-05-13 Model editing system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2016/052764 WO2017194998A1 (en) 2016-05-13 2016-05-13 Model editing system and method

Publications (1)

Publication Number Publication Date
WO2017194998A1 true WO2017194998A1 (en) 2017-11-16

Family

ID=56087468

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2016/052764 Ceased WO2017194998A1 (en) 2016-05-13 2016-05-13 Model editing system and method

Country Status (2)

Country Link
CN (1) CN109196497A (en)
WO (1) WO2017194998A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014193659A1 (en) * 2013-05-28 2014-12-04 Siemens Product Lifecycle Management Software Inc. Geometric modeling with mutually dependent blends

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8896597B2 (en) * 2008-04-14 2014-11-25 Siemens Product Lifecycle Management Software Inc. System and method for modifying geometric relationships in a solid model
EP3005178A4 (en) * 2013-05-24 2016-08-17 Siemens Product Lifecycle Man Software Inc Modeling of blends on a solid model of a pocket
US20150269284A1 (en) * 2014-03-24 2015-09-24 Siemens Product Lifecycle Management Software Inc. Intelligent chamfer recognition in cad models

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014193659A1 (en) * 2013-05-28 2014-12-04 Siemens Product Lifecycle Management Software Inc. Geometric modeling with mutually dependent blends

Also Published As

Publication number Publication date
CN109196497A (en) 2019-01-11

Similar Documents

Publication Publication Date Title
US10775955B2 (en) Approach for generating and exploring a design space
CN110991649A (en) Deep learning model building method, device, equipment and storage medium
US20170083646A1 (en) Method for modifying computer-based modeling
US20160328496A1 (en) System and method for editing a model
US11373015B2 (en) Designing a 3D modeled object representing a mechanical structure
US20110185332A1 (en) Model based simulation and optimization methodology for design checking
US10885257B1 (en) Routing congestion based on via spacing and pin density
US20210133365A1 (en) A method of operating a cad system model for modelling an article to be manufactured
JP6560227B2 (en) Automatic operation of computer-aided design model
CN105243013A (en) Software testing method and system
US11468204B2 (en) Method for measuring wrinkles with reference to target surface
US10192013B1 (en) Test logic at register transfer level in an integrated circuit design
US11392726B2 (en) Variational modeling method and system for editing of geometric objects
US10706201B1 (en) Circuit design routing using multi-panel track assignment
US10860757B1 (en) Multicorner skew scheduling circuit design
EP3304362A2 (en) Modelling method and system
US10198551B1 (en) Clock cell library selection
KR20170126312A (en) Apparatus and Method for designing automation using FEM
US10095822B1 (en) Memory built-in self-test logic in an integrated circuit design
US11163929B1 (en) Generate clock network using inverting integrated clock gate
WO2017194998A1 (en) Model editing system and method
US9652582B1 (en) Multi-instantiated block timing optimization
US20150356205A1 (en) Refining of material definitions for designed parts
US10354040B1 (en) Systems and methods for clock tree generation with buffers and inverters
US11775719B1 (en) Cell instance charge model for delay calculation

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16725931

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16725931

Country of ref document: EP

Kind code of ref document: A1