WO2017195000A1 - Modelling method and system - Google Patents

Modelling method and system Download PDF

Info

Publication number
WO2017195000A1
WO2017195000A1 PCT/IB2016/052767 IB2016052767W WO2017195000A1 WO 2017195000 A1 WO2017195000 A1 WO 2017195000A1 IB 2016052767 W IB2016052767 W IB 2016052767W WO 2017195000 A1 WO2017195000 A1 WO 2017195000A1
Authority
WO
WIPO (PCT)
Prior art keywords
rotation
intersection
point
points
entity
Prior art date
Application number
PCT/IB2016/052767
Other languages
French (fr)
Inventor
Douglas Joseph King
Howard Charles Duncan Mattson
Yanong ZHU
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 PCT/IB2016/052767 priority Critical patent/WO2017195000A1/en
Priority to CN201680085679.6A priority patent/CN109154951A/en
Publication of WO2017195000A1 publication Critical patent/WO2017195000A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/2016Rotation, translation, scaling

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
  • a method of editing a model comprising receiving an indication of a change of orientation to be applied to an entity in the model; testing the entity for rotation points to satisfy the change of orientation; if one or more rotation points are present, selecting a rotation point and, assessing the rotation point for conflicts with one or more existing constraints in the system; if no conflict is found, causing the change in orientation to be carried out by rotation about the selected rotation point and outputting a representation of the edited model.
  • the rotation point may comprises one of a global rotation point, a local rotation point, or another defined rotation point.
  • a change in orientation may be the result of movement of two entities about their respective local rotation points.
  • the test for rotation points may comprise testing the entity for a global rotation point, and if the test for global rotation points is unsuccessful, then testing the entity for local rotation points; and if one or more local rotation points are present, determining an order of local rotation points before assessing the local rotation points in order for conflicts
  • the method may further comprise selecting the first rotation point which does not conflict with an existing constraint and causing the entity to rotate about that point. If the test for global rotation points and local rotation points is unsuccessful, the method may further comprise, before terminating the edit, determining an intersection of dimension ends and using this as the rotation point.
  • the method may further comprise rejecting, or modifying, a global rotation point, or local rotation point, if that point causes conflict with an existing constraint.
  • the outputting may comprise at least one of storing the edited model for further processing, or displaying the edited model.
  • the entity may comprise a face, or edge, or a pair of faces, or edges.
  • the rotation may be applied to each of the face, or edge, or pair of faces, or edges.
  • the indication of a change in orientation to be applied may include an indication of an angle of rotation to be applied, or an indication of movement of the or each face or edge to the left, to the right, or symmetrically, or an indication of both angle and movement.
  • the test for a global rotation point may include one of a test for an intersection of an extension of an axis of each surface at a point; a test for a common axis of two cylinders, a test for the presence of more than half of a cylinder about an axis, the cylinder not being a blend.
  • the test for a local rotation point may include one of a test for an endpoint of a linear surface to which the rotation is to be applied; a test for a linear intersection of a blend; a test for a virtual intersection of edges either side of a fillet; or centres of fillets adjacent to the edge being moved.
  • the method may further comprise obtaining an intersection and assessing the intersection to determine whether the intersection is significant by checking a table of definitions.
  • the table of definitions may include at least one of the intersection is coincident with the base coordinate system; the intersection is coincident with the axis of a set of concentric geometries; the intersection is coincident with the axis of a common neighbour face; the intersection is common with numerous other intersections in the model; the intersection is coincident with the axis of an important entity in the model; or the symmetry line between the ends lies on an important axis or face in the model.
  • a data processing system includes a processor; and an accessible memory, the data processing system particularly configured to: receive an indication of a change of orientation to be applied to an entity in the model; test the entity for rotation points to satisfy the change of orientation; if one or more rotation points are present, select a rotation point and assess the rotation point for conflicts with one or more existing constraints in the system; if no conflict is found, cause the change in orientation to be carried out by rotation about the selected rotation point; and, output a representation of the edited model.
  • the data processing system may further comprise one of a display or a store.
  • 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 change of orientation to be applied to an entity in the model;
  • Figure 1 is a block diagram of a data processing system in which an embodiment can be implemented
  • Figures 2a and 2b illustrate a typical angle dimension between two entities
  • Figure 3 illustrates typical options for editing an angle dimension
  • Figures 4a to 4c illustrate examples of global rotation points
  • Figures 5a to 5c illustrate examples of local rotation points
  • Figure 6 illustrates an example of a modelled part to which the method of the disclosure may be applied
  • Figure 7 is a flow diagram of a process in accordance with disclosed embodiments
  • Figure 8 is a flow diagram of a process in accordance with disclosed embodiments, in more detail; and Figures 9a to 9d illustrate examples of local rotation points.
  • 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 101 comprises a processor 102 connected to a local system bus 103.
  • the local system bus 103 connects the processor 102 to a main memory 104 and graphics display adaptor 105, which may be connected to a display 106.
  • the data processing system 101 may communicate with other systems via a wireless user interface adapter 107 connected to the local system bus 103, or via a wired network, e.g. to a local area network. Additional memory 108 may also be connected via the local system bus 103.
  • a suitable adaptor such as wireless user interface adapter 107, for other peripheral devices, such as a keyboard 109 and mouse 110, or other pointing device, allows the user to provide input to the data processing system.
  • 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.
  • 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.
  • 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
  • the present disclosure describes a system and method for defining behaviour of entities undergoing angle changes.
  • An angle dimension may, for example, be measured between two lines, or two faces, or two end points, or may be an angle of a circular arc.
  • An entity may be, for example, a surface, or a line, or virtual ends of an arc.
  • Figs. 2a and 2b illustrate a typical angle dimension ⁇ between two entities, el and e2.
  • Fig.2a shows entities el and e2 separated by an example angle dimension ⁇
  • Fig.2b shows an example of rotating the entities el, e2 about random rotation points 1, 2, resulting in a new angle dimension ⁇ 2.
  • the ends of the dimension for example entities, el and e2 must rotate to satisfy the new angle dimension value ⁇ 2 .
  • this ambiguity often leads to an unintuitive result in the edit.
  • the present disclosure details some rotation points which are desirable, methods for choosing those rotation points, and a system for applying the rotation points.
  • this may be by direct selection, for example, by a user input, or by indirect selection, which may be an automated step from another part of the system.
  • the input may be one of edit to the left 3, edit to the right 4,or edit symmetrically 5 which may be input using a dialog, for example as shown in Fig.3.
  • specific angle values 6 may be entered. This gives one or two moving ends of the angle dimension ⁇ , for example entities el, e2, depending on the choice made.
  • the dimension to be edited is processed to choose suitable rotation points, as set out in more detail below.
  • the preferred rotation may be global, in which case a single common rotation point is determined, or local in which case two rotation points are determined, one for each entity.
  • Figs. 4a to 4c illustrate examples of global rotation points.
  • Fig.4a an intersection 10 of relation ends 11, 12 of a part 13 is coincident with a significant axis 14 in the model, such as the axis of some concentric geometries.
  • a symmetry line 15 between relation ends 16, 17 of a part 18 passes through a significant axis 14 in the model, such as the axis of some concentric geometries.
  • an intersection 19 of relation ends 20, 21 of a part 22 is on a significant axis 14 in the model, such as a complete hole 23.
  • Figs. 5a to 5c illustrate local rotation examples in 2D.
  • two potential local rotation points 25, 26 are identified at the top and bottom of an edge 27 which is being caused to rotate, possibly by being one end of an angle dimension indicated by the arrow 28.
  • two potential local rotation points 29, 30 are identified at the virtual intersections of edge 33 first with edge 32 and second with edge 31 on either side of fillets 32a, 31a. Edge 33 is caused to rotate, possibly by being one end of an angle dimension indicated by the arrow 28.
  • two potential local rotation points 34, 35 are identified, at the centres of the fillet edges 37, 38.
  • Both local rotation points 34, 35 are at the centre of the adjacent fillets 37a, 38a on edge 36 which is being caused to rotate, possibly by being one end of an angle dimension indicated by the arrow 28.
  • Fig.6 illustrates an example of a part in which an angle dimension is formed between end faces 37, 38, the intersection 39 of these two planar faces being coincident with the main axis 40 of the part.
  • Fig.7 is a flow diagram outlining the method of the present disclosure.
  • An entity of interest in a representation of a part in the model is selected 50.
  • the entity may be a face or edge, or a pair of faces or edges.
  • An indication, that the orientation of the entity is to be changed, is received 51.
  • the change in orientation is typically expressed with respect to another entity, but the change in orientation may equally well be a change relative to a fixed direction.
  • the change may be given in terms of an angle, or one of a left, right, or symmetric preference, or both angle and direction.
  • the change may be expressed as being required as the solution of the system of constraints - such as to make the first entity parallel to the second entity.
  • the entity is tested 52 to determine whether any rotation points exist.
  • the rotation points may be global rotation points, i.e. a single common rotation point, examples of which, are shown in Figs.4a to 4c, local rotation points, for example as illustrated in Figs.5a to 5c, or other defined rotation points.
  • the result may be output 57, for example by storing the modified representation in a store for further processing to be applied, or by displaying the modified representation of the model.
  • the method may continue by making a test 59 to determine whether any local rotation points exist. If local rotation points are found, then one is selected 60 and checked 61 for conflicts with other constraints in the system. If no conflict exists 62, the rotation is applied about the selected local rotation point 56. Again, the result may be output 57, for example by storing the modified representation in a store for further processing to be applied, or by displaying the modified representation of the model.
  • Fig.8 illustrates a method in accordance with the disclosure in more detail. For each edited dimension, an intersection of the dimension ends is determined 65. Typically, the ends are either a pair of planes, or a pair of lines contained within a plane.
  • intersection between the ends always exists when the ends are not parallel. If an intersection exists a test 66 is made to determine whether or not the intersection is a significant point or axis. If the intersection is a significant point or axis this is used 67 as a global rotation point, to rotate the entity. A check 68 may be made to determine whether there are any conflicts with other constraints in the model and if there are conflicts, then no result 69 is obtained for the attempted edit. Typically, this means that the system simply chooses an arbitrary rotation point. However, the method may be extended by incorporating steps 59 to 64 above. If there are no conflicts with other constraints, then the selected point can be used 70. The rotation is applied and an edited representation may be output 71.
  • intersection is not significant, potential local rotation points for each moving end are computed 72. If there are no local rotation points, then the intersection of the dimension ends, if it exists, is to be used 73 as a default rotation point. As before, a check for conflicts 68 is carried out, with no result 69 if there is a conflict, or the intersection of the dimension ends selected to be used 70 as the rotation point, if there are no conflicts. The rotation is then applied 71 and an edited representation may be output.
  • Fix if possible may be used by checking each of the computed rotation points in the computed order, so that, in the majority of cases, a sensible rotation point is defined. Where possible this point is fixed, so providing intuitive behaviour of the model.
  • Significant point or axis definition and computation is part of the process of obtaining the rotation points.
  • the model Given the intersection of two ends of the dimension, the model can be searched to determine if the intersection lies on something significant. Examples of 'significant' which provide useful behaviour, include, but are not limited to any of: the intersection being coincident with the base coordinate system; the intersection being coincident with the axis of a set of concentric geometries; the intersection being coincident with the axis of a common neighbour face; the intersection being common with numerous other intersections in the model; the intersection being coincident with the axis of an important entity in the model, for example a mounting hole; or the symmetry line between the ends lying on an important axis or face in the model.
  • angle ⁇ is being edited.
  • the intersection of the two planar faces 37, 38 at the end of the dimension is coincident with the main axis 40 of the part 41. This is a strong indication that any movements applied to the faces 37, 38 should be around this axis 40.
  • Each vertex of a face or edge at the end of the angle dimension is a potential rotation point, except if the adjacent face or edit is a blend/fillet or chamfer.
  • FIGs.9a to 9d Some examples of local rotation points are illustrated in Figs.9a to 9d.
  • Figs.9b to 9d show a magnified view 90 of part of the figure.
  • all of the vertices of the moving face are potential rotation points 80.
  • Fig.9b with potential rotation points 81, two of the vertices at the bottom of the right-hand face are adjacent to blends 83.
  • blends 83 When this is true it is desirable to move the rotation point to the position 82 where the vertex would have been before the blend was created. This is sometimes referred to as the 'virtual vertex'.
  • Fig.9c shows potential rotation points 87 for the case when the blend is related to something else in the model. For example if the blend is concentric to a hole 88, then it is desirable to move the rotation point to be coincident with the blend axis.
  • Other examples of local rotation points may include the axes of adjacent bends in a sheet metal part; the axis of an adjacent feature; or the axis of an adjacent axial face.
  • the local rotation point ordering may require that once a set of candidate local rotation points are generated 67 they are ordered 69 by Euclidian distance from the previously computed intersection line, closest first.
  • a fix-if-possible constraint may then be applied to each position in order for step 70.
  • a fix-if-possible constraint is one that is applied if the model does not become over-defined as a result of it being imposed. Any points at the same distance from the intersection line are applied at the same time, meaning that either they will both be imposed or none will be imposed.
  • the invention outlined above provides improved behavior when making edits to angle dimensions. This is done by making use of the inherent discoverable or explicit clues the model holds that define the behavior the user would generally expect.
  • the present disclosure describes a method applicable to any CAD software which allows angles between entities to be edited, whereby behaviour of rotations are automatically improved, making use of features inherent in the model.
  • the solution presented makes use of known and discovered information within the model to determine a set of suitable points. Moving ends of the dimension are used to discover suitable rotation points. The potentially moving ends are determined when the dimension is created by the user and are most commonly the entities selected to make the angle between.
  • An alternative solution to the problem would be to add additional constraints between the moving entities and the rest of the model to get the desired behavior, or to explicitly fix a rotation point, but this is less desirable because it requires additional user input, so slowing the overall process.
  • the change in orientation input is a consequence of some other change in the system, for example an automated update, where the user is not involved at all, then it is necessary to provide a process whereby that change can be implemented effectively.
  • 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, U XTM, iOSTM, and AndroidTM operating systems.
  • data processing system 101 may be implemented as in a networked environment, distributed system environment, virtual machines in a virtual machine architecture, and/or cloud environment.
  • the processor 102 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 101 may vary for particular implementations.
  • the data processing system 101 in this example may correspond to a computer, workstation, and/or a server.
  • 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 101 may be connected to the network (not a part of data processing system 101), 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 101 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 101).
  • a server also not part of the data processing system 101.
  • 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.
  • machine usable/readable or computer usable/readable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically
  • EEPROMs 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)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)

Abstract

A method of editing a model, performed on a data processing system (101), comprises receiving (51) an indication of a change of orientation to be applied to an entity in the model and testing (52) the entity for rotation points to satisfy the change of orientation. If one or more rotation points are present, a rotation point is selected (53, 60) and assessed (54, 61) for conflicts with one or more existing constraints in the system. If no conflict is found, the change in orientation is caused to be carried out (56) by rotation about the selected rotation point. A representation of the edited model is then output (57).

Description

MODELLING 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
A method of editing a model, the method performed on a data processing system, the method comprising receiving an indication of a change of orientation to be applied to an entity in the model; testing the entity for rotation points to satisfy the change of orientation; if one or more rotation points are present, selecting a rotation point and, assessing the rotation point for conflicts with one or more existing constraints in the system; if no conflict is found, causing the change in orientation to be carried out by rotation about the selected rotation point and outputting a representation of the edited model.
The rotation point may comprises one of a global rotation point, a local rotation point, or another defined rotation point. A change in orientation may be the result of movement of two entities about their respective local rotation points. The test for rotation points may comprise testing the entity for a global rotation point, and if the test for global rotation points is unsuccessful, then testing the entity for local rotation points; and if one or more local rotation points are present, determining an order of local rotation points before assessing the local rotation points in order for conflicts The method may further comprise selecting the first rotation point which does not conflict with an existing constraint and causing the entity to rotate about that point. If the test for global rotation points and local rotation points is unsuccessful, the method may further comprise, before terminating the edit, determining an intersection of dimension ends and using this as the rotation point. The method may further comprise rejecting, or modifying, a global rotation point, or local rotation point, if that point causes conflict with an existing constraint.
The outputting may comprise at least one of storing the edited model for further processing, or displaying the edited model. The entity may comprise a face, or edge, or a pair of faces, or edges. The rotation may be applied to each of the face, or edge, or pair of faces, or edges. The indication of a change in orientation to be applied may include an indication of an angle of rotation to be applied, or an indication of movement of the or each face or edge to the left, to the right, or symmetrically, or an indication of both angle and movement.
The test for a global rotation point may include one of a test for an intersection of an extension of an axis of each surface at a point; a test for a common axis of two cylinders, a test for the presence of more than half of a cylinder about an axis, the cylinder not being a blend. The test for a local rotation point may include one of a test for an endpoint of a linear surface to which the rotation is to be applied; a test for a linear intersection of a blend; a test for a virtual intersection of edges either side of a fillet; or centres of fillets adjacent to the edge being moved. The method may further comprise obtaining an intersection and assessing the intersection to determine whether the intersection is significant by checking a table of definitions. The table of definitions may include at least one of the intersection is coincident with the base coordinate system; the intersection is coincident with the axis of a set of concentric geometries; the intersection is coincident with the axis of a common neighbour face; the intersection is common with numerous other intersections in the model; the intersection is coincident with the axis of an important entity in the model; or the symmetry line between the ends lies on an important axis or face in the model. A data processing system includes a processor; and an accessible memory, the data processing system particularly configured to: receive an indication of a change of orientation to be applied to an entity in the model; test the entity for rotation points to satisfy the change of orientation; if one or more rotation points are present, select a rotation point and assess the rotation point for conflicts with one or more existing constraints in the system; if no conflict is found, cause the change in orientation to be carried out by rotation about the selected rotation point; and, output a representation of the edited model. The data processing system may further comprise one of a display or a store.
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 change of orientation to be applied to an entity in the model;
test the entity for rotation points to satisfy the change of orientation;
if one or more rotation points are present, select a rotation point and assess the rotation point for conflicts with one or more existing constraints in the system;
if no conflict is found, cause the change in orientation to be carried out by rotation about the selected rotation point; and, output a representation of the edited model.
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;
Figures 2a and 2b illustrate a typical angle dimension between two entities;
Figure 3 illustrates typical options for editing an angle dimension;
Figures 4a to 4c illustrate examples of global rotation points; Figures 5a to 5c illustrate examples of local rotation points;
Figure 6 illustrates an example of a modelled part to which the method of the disclosure may be applied; Figure 7 is a flow diagram of a process in accordance with disclosed embodiments;
Figure 8 is a flow diagram of a process in accordance with disclosed embodiments, in more detail; and Figures 9a to 9d illustrate examples of local rotation points. DETAILED DESCRIPTION
The embodiments of Figs.1 to 9d 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 101 comprises a processor 102 connected to a local system bus 103. The local system bus 103 connects the processor 102 to a main memory 104 and graphics display adaptor 105, which may be connected to a display 106. The data processing system 101 may communicate with other systems via a wireless user interface adapter 107 connected to the local system bus 103, or via a wired network, e.g. to a local area network. Additional memory 108 may also be connected via the local system bus 103. A suitable adaptor, such as wireless user interface adapter 107, for other peripheral devices, such as a keyboard 109 and mouse 110, or other pointing device, allows the user to provide input to the data processing system. 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. 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. 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. 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. As part of that modelling, the user may wish to edit the representation of the design, in particular to alter angles at which entities are aligned. The present disclosure describes a system and method for defining behaviour of entities undergoing angle changes.
Editing the angle between two entities in a CAD model is a common operation but one where the results are not naturally well defined. This is because there are usually multiple different positions about which the entities can rotate to satisfy the requested change. It is desirable that rotation positions chosen to provide the result which the user wishes to achieve in various situations be better defined. An angle dimension may, for example, be measured between two lines, or two faces, or two end points, or may be an angle of a circular arc. An entity may be, for example, a surface, or a line, or virtual ends of an arc. Figs. 2a and 2b illustrate a typical angle dimension Θ between two entities, el and e2. Fig.2a shows entities el and e2 separated by an example angle dimension θι and Fig.2b shows an example of rotating the entities el, e2 about random rotation points 1, 2, resulting in a new angle dimension θ2. As the angle Θ is changed symmetrically, the ends of the dimension, for example entities, el and e2, must rotate to satisfy the new angle dimension value θ2. There is no definition in the angle dimension as to which points 1, 2 the ends, el, e2 are to rotate about. However, this ambiguity often leads to an unintuitive result in the edit.
Of the many rotation points 1,2 that could be chosen, the present disclosure details some rotation points which are desirable, methods for choosing those rotation points, and a system for applying the rotation points. Typically, when editing an angle dimension Θ, this may be by direct selection, for example, by a user input, or by indirect selection, which may be an automated step from another part of the system. The input may be one of edit to the left 3, edit to the right 4,or edit symmetrically 5 which may be input using a dialog, for example as shown in Fig.3. Alternatively, or additionally, specific angle values 6 may be entered. This gives one or two moving ends of the angle dimension Θ, for example entities el, e2, depending on the choice made. The dimension to be edited is processed to choose suitable rotation points, as set out in more detail below. The preferred rotation may be global, in which case a single common rotation point is determined, or local in which case two rotation points are determined, one for each entity. Figs. 4a to 4c illustrate examples of global rotation points. In Fig.4a an intersection 10 of relation ends 11, 12 of a part 13 is coincident with a significant axis 14 in the model, such as the axis of some concentric geometries. In Fig.4b, a symmetry line 15 between relation ends 16, 17 of a part 18 passes through a significant axis 14 in the model, such as the axis of some concentric geometries. In Fig.4c, an intersection 19 of relation ends 20, 21 of a part 22 is on a significant axis 14 in the model, such as a complete hole 23.
Figs. 5a to 5c illustrate local rotation examples in 2D. In Fig.5a, two potential local rotation points 25, 26 are identified at the top and bottom of an edge 27 which is being caused to rotate, possibly by being one end of an angle dimension indicated by the arrow 28. In Fig.5b, two potential local rotation points 29, 30 are identified at the virtual intersections of edge 33 first with edge 32 and second with edge 31 on either side of fillets 32a, 31a. Edge 33 is caused to rotate, possibly by being one end of an angle dimension indicated by the arrow 28. In Fig.5c, two potential local rotation points 34, 35 are identified, at the centres of the fillet edges 37, 38. Both local rotation points 34, 35 are at the centre of the adjacent fillets 37a, 38a on edge 36 which is being caused to rotate, possibly by being one end of an angle dimension indicated by the arrow 28. Fig.6 illustrates an example of a part in which an angle dimension is formed between end faces 37, 38, the intersection 39 of these two planar faces being coincident with the main axis 40 of the part. Fig.7 is a flow diagram outlining the method of the present disclosure. An entity of interest in a representation of a part in the model is selected 50. The entity may be a face or edge, or a pair of faces or edges. An indication, that the orientation of the entity is to be changed, is received 51. The change in orientation is typically expressed with respect to another entity, but the change in orientation may equally well be a change relative to a fixed direction. The change may be given in terms of an angle, or one of a left, right, or symmetric preference, or both angle and direction. In another example, the change may be expressed as being required as the solution of the system of constraints - such as to make the first entity parallel to the second entity. The entity is tested 52 to determine whether any rotation points exist. The rotation points may be global rotation points, i.e. a single common rotation point, examples of which, are shown in Figs.4a to 4c, local rotation points, for example as illustrated in Figs.5a to 5c, or other defined rotation points. In one example, if the entity is found to have one or more global rotation points, then one of these is selected 53, a check 54 of the chosen rotation point for conflicts with existing constraints in the system is made and if the outcome of the check is that there is no conflict 55, then rotation of the entity about that rotation point is carried out 56, to change the orientation of the entity in the required manner. Having applied the rotation, the result may be output 57, for example by storing the modified representation in a store for further processing to be applied, or by displaying the modified representation of the model.
If the check for conflicts shows 58 there is a conflict, or if no global rotation points are detected in the test for rotation points, meaning that there are no global rotation points which are suitable, then the method may continue by making a test 59 to determine whether any local rotation points exist. If local rotation points are found, then one is selected 60 and checked 61 for conflicts with other constraints in the system. If no conflict exists 62, the rotation is applied about the selected local rotation point 56. Again, the result may be output 57, for example by storing the modified representation in a store for further processing to be applied, or by displaying the modified representation of the model. In some situations it may not be possible to obtain a definitive rotation point using the tests for global and local rotation points, for example, if there is a conflict 63, in which case other defined rotation points may be checked, such as the intersection of two ends, if there is such an intersection, or the system may simply continue 64 with the edit by choosing an arbitrary point on each end about which the rotation takes place. An indication may be provided to the user that the edit has failed, or that further action is only possible if the rotation point is defined with the type of rotation. Fig.8 illustrates a method in accordance with the disclosure in more detail. For each edited dimension, an intersection of the dimension ends is determined 65. Typically, the ends are either a pair of planes, or a pair of lines contained within a plane. An intersection between the ends always exists when the ends are not parallel. If an intersection exists a test 66 is made to determine whether or not the intersection is a significant point or axis. If the intersection is a significant point or axis this is used 67 as a global rotation point, to rotate the entity. A check 68 may be made to determine whether there are any conflicts with other constraints in the model and if there are conflicts, then no result 69 is obtained for the attempted edit. Typically, this means that the system simply chooses an arbitrary rotation point. However, the method may be extended by incorporating steps 59 to 64 above. If there are no conflicts with other constraints, then the selected point can be used 70. The rotation is applied and an edited representation may be output 71.
If the intersection is not significant, potential local rotation points for each moving end are computed 72. If there are no local rotation points, then the intersection of the dimension ends, if it exists, is to be used 73 as a default rotation point. As before, a check for conflicts 68 is carried out, with no result 69 if there is a conflict, or the intersection of the dimension ends selected to be used 70 as the rotation point, if there are no conflicts. The rotation is then applied 71 and an edited representation may be output.
If there are potential local rotation points, then these may be ordered 74 and checked 75, in the order they have been allocated, against other constraints in the model. If no conflict is found for the first potential local rotation point in order, then that point is used 70 and as before, a representation of the edited model may be output 71. If there is a conflict with the constraints of the model, then the next potential location rotation point from the ordered list is checked 76 and so on, until either there is a result with no conflict, which can be used, or there is no result for the attempted edit, in which case, the system imposes an arbitrary rotation point.
The check against other constraints may also be referred to as a fix-if-possible method. Fix if possible may be used by checking each of the computed rotation points in the computed order, so that, in the majority of cases, a sensible rotation point is defined. Where possible this point is fixed, so providing intuitive behaviour of the model.
Significant point or axis definition and computation is part of the process of obtaining the rotation points. Given the intersection of two ends of the dimension, the model can be searched to determine if the intersection lies on something significant. Examples of 'significant' which provide useful behaviour, include, but are not limited to any of: the intersection being coincident with the base coordinate system; the intersection being coincident with the axis of a set of concentric geometries; the intersection being coincident with the axis of a common neighbour face; the intersection being common with numerous other intersections in the model; the intersection being coincident with the axis of an important entity in the model, for example a mounting hole; or the symmetry line between the ends lying on an important axis or face in the model.
However, there may be other significant points or axes. In each case, the key aspect is that inherent in the model are clues to how the user would expect the edit of an angle dimension to behave. These clues are either discoverable, as with the intersection being coincident with a global axis, or the user has promoted an entity implicitly by using it to define a relationship, e.g. a mounting hole. Checking the intersection proximity with these discoverable and known items on the model allows intuitive behaviour to be provided.
To illustrate this, in the example of Fig.6, angle Θ is being edited. The intersection of the two planar faces 37, 38 at the end of the dimension is coincident with the main axis 40 of the part 41. This is a strong indication that any movements applied to the faces 37, 38 should be around this axis 40.
Local rotation points are computed when necessary for each moving end of the angle dimension. Each vertex of a face or edge at the end of the angle dimension is a potential rotation point, except if the adjacent face or edit is a blend/fillet or chamfer.
Some examples of local rotation points are illustrated in Figs.9a to 9d. Figs.9b to 9d show a magnified view 90 of part of the figure. In Fig.9a all of the vertices of the moving face are potential rotation points 80. In Fig.9b, with potential rotation points 81, two of the vertices at the bottom of the right-hand face are adjacent to blends 83. When this is true it is desirable to move the rotation point to the position 82 where the vertex would have been before the blend was created. This is sometimes referred to as the 'virtual vertex'. In Fig.9c, with potential rotation points 84, vertices adjacent to chamfers 86 must also be ignored and the 'virtual vertex' 85 used as an alternative rotation point. Fig.9d shows potential rotation points 87 for the case when the blend is related to something else in the model. For example if the blend is concentric to a hole 88, then it is desirable to move the rotation point to be coincident with the blend axis. Other examples of local rotation points may include the axes of adjacent bends in a sheet metal part; the axis of an adjacent feature; or the axis of an adjacent axial face.
In the examples described, the local rotation point ordering may require that once a set of candidate local rotation points are generated 67 they are ordered 69 by Euclidian distance from the previously computed intersection line, closest first. A fix-if-possible constraint may then be applied to each position in order for step 70. A fix-if-possible constraint is one that is applied if the model does not become over-defined as a result of it being imposed. Any points at the same distance from the intersection line are applied at the same time, meaning that either they will both be imposed or none will be imposed. The invention outlined above provides improved behavior when making edits to angle dimensions. This is done by making use of the inherent discoverable or explicit clues the model holds that define the behavior the user would generally expect. Currently, users simply have to put up with the response to their edit request behaving in an unexpected manner on some occasions. The present disclosure describes a method applicable to any CAD software which allows angles between entities to be edited, whereby behaviour of rotations are automatically improved, making use of features inherent in the model. The solution presented makes use of known and discovered information within the model to determine a set of suitable points. Moving ends of the dimension are used to discover suitable rotation points. The potentially moving ends are determined when the dimension is created by the user and are most commonly the entities selected to make the angle between. An alternative solution to the problem would be to add additional constraints between the moving entities and the rest of the model to get the desired behavior, or to explicitly fix a rotation point, but this is less desirable because it requires additional user input, so slowing the overall process. Furthermore, where the change in orientation input is a consequence of some other change in the system, for example an automated update, where the user is not involved at all, then it is necessary to provide a process whereby that change can be implemented effectively.
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, U XTM, iOSTM, and AndroidTM operating systems.
In addition, it should be appreciated that data processing system 101 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 102 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 101 may vary for particular implementations. For example the data processing system 101 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 101 may be connected to the network (not a part of data processing system 101), 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 101 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 101). 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 101 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 change of orientation to be applied to an entity in the model; testing the entity for rotation points to satisfy the change of orientation; if one or more rotation points are present, selecting a rotation point and, assessing the rotation point for conflicts with one or more existing constraints in the system; if no conflict is found, causing the change in orientation to be carried out by rotation about the selected rotation point and outputting a representation of the edited model.
2. A method according to claim 1, wherein the rotation point comprises one of a global rotation point, a local rotation point, or another defined rotation point.
3. A method according to claim 2, wherein a change in orientation is the result of movement of two entities about their respective local rotation points.
4. A method according to claim 2 or claim 3, wherein, the test for rotation points comprises testing the entity for a global rotation point, and if the test for global rotation points is unsuccessful, then testing the entity for local rotation points; and if one or more local rotation points are present, determining an order of local rotation points before assessing the local rotation points in order for conflicts.
5. A method according to claim 4, the method further comprises selecting the first rotation point which does not conflict with an existing constraint and causing the entity to rotate about that point.
6. A method according to any of claims 2 to 5, wherein if the test for global rotation points and local rotation points is unsuccessful, the method further comprises, before terminating the edit, determining an intersection of dimension ends and using this as the rotation point.
7. A method according to any of claims 2 to 6, wherein the method further comprises rejecting, or modifying, a global rotation point, or local rotation point, if that point causes conflict with an existing constraint.
8. A method according to any preceding claim, wherein the outputting comprises at least one of storing the edited model for further processing, or displaying the edited model.
9. A method according to any preceding claim, wherein the entity comprises a face, or edge, or a pair of faces, or edges.
10. A method according to claim 9, wherein the rotation is applied to each of the face, or edge, or pair of faces, or edges.
11. A method according to any preceding claim, wherein the indication of a change in orientation to be applied may include an indication of an angle of rotation to be applied, or an indication of movement of the or each face or edge to the left, to the right, or symmetrically, or an indication of both angle and movement.
12. A method according to at least claim 2, wherein the test for a global rotation point includes one of a test for an intersection of an extension of an axis of each surface at a point; a test for a common axis of two cylinders, a test for the presence of more than half of a cylinder about an axis, the cylinder not being a blend.
13. A method according to at least claim 2, wherein the test for a local rotation point includes one of a test for an endpoint of a linear surface to which the rotation is to be applied; a test for a linear intersection of a blend; a test for a virtual intersection of edges either side of a fillet; or centres of fillets adjacent to the edge being moved.
14. A method according to any preceding claim, wherein the method further comprises obtaining an intersection and assessing the intersection to determine whether the intersection is significant by checking a table of definitions.
15. A method according to claim 14, wherein the table of definitions includes at least one of the intersection is coincident with the base coordinate system; the intersection is coincident with the axis of a set of concentric geometries; the intersection is coincident with the axis of a common neighbour face; the intersection is common with numerous other intersections in the model; the intersection is coincident with the axis of an important entity in the model; or the symmetry line between the ends lies on an important axis or face in the model.
16. A data processing system comprising:
a processor; and an accessible memory, the data processing system particularly configured to:
receive an indication of a change of orientation to be applied to an entity in the model;
test the entity for rotation points to satisfy the change of orientation;
if one or more rotation points are present, select a rotation point and assess the rotation point for conflicts with one or more existing constraints in the system;
if no conflict is found, cause the change in orientation to be carried out by rotation about the selected rotation point; and,
output a representation of the edited model.
17. A system according to claim 16, wherein the data processing system further comprises one of a display or a store.
18. A non-transitory computer-readable medium encoded with executable
instructions that, when executed, cause one or more data processing systems to: receive an indication of a change of orientation to be applied to an entity in the model;
test the entity for rotation points to satisfy the change of orientation;
if one or more rotation points are present, select a rotation point and assess the rotation point for conflicts with one or more existing constraints in the system;
if no conflict is found, cause the change in orientation to be carried out by rotation about the selected rotation point; and,
output a representation of the edited model.
PCT/IB2016/052767 2016-05-13 2016-05-13 Modelling method and system WO2017195000A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/IB2016/052767 WO2017195000A1 (en) 2016-05-13 2016-05-13 Modelling method and system
CN201680085679.6A CN109154951A (en) 2016-05-13 2016-05-13 Modeling method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2016/052767 WO2017195000A1 (en) 2016-05-13 2016-05-13 Modelling method and system

Publications (1)

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

Family

ID=56087469

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2016/052767 WO2017195000A1 (en) 2016-05-13 2016-05-13 Modelling method and system

Country Status (2)

Country Link
CN (1) CN109154951A (en)
WO (1) WO2017195000A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452238A (en) * 1989-06-13 1995-09-19 Schlumberger Technology Corporation Method for solving geometric constraint systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10157268A1 (en) * 2001-11-22 2003-06-12 Philips Intellectual Property Method and device for the simultaneous display of arbitrarily selectable complementary sectional images
EP2954425A4 (en) * 2013-02-05 2017-01-11 Brigham Young University System and methods for multi-user cax editing conflict management
CN105229646B (en) * 2013-05-22 2019-09-10 西门子产品生命周期管理软件公司 The rule-based constraint interaction in geometrical model
US9235659B2 (en) * 2014-03-17 2016-01-12 Siemens Product Lifecycle Management Software Inc. Local behavior in a variational system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452238A (en) * 1989-06-13 1995-09-19 Schlumberger Technology Corporation Method for solving geometric constraint systems

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DMITRY USHAKOV: "How to Express Design Intent in Rhino 3D Part I. Assembly Design and Kinematic Simulation", 1 November 2009 (2009-11-01), pages 1 - 17, XP055332593, Retrieved from the Internet <URL:http://www.ledas.com/pdf/HowToExpressDesignIntentInRhino3D.pdf> [retrieved on 20170105] *
HSU C ET AL: "A CONSTRAINT-BASED MANIPULATOR TOOLSET FOR EDITING 3D OBJECTS", PROCEEDINGS OF THE FOURTH SYMPOSIUM ON SOLID MODELING AND APPLICATIONS ATLANTA, GA, MAY, 14-16, 1997; [PROCEEDINGS OF THE SYMPOSIUM ON SOLID MODELING AND APPLICATIONS], NEW YORK, ACM, US, vol. SYMP. 4, 14 May 1997 (1997-05-14), pages 168 - 180, XP000724303, ISBN: 978-0-89791-946-3, DOI: 10.1145/267734.267779 *

Also Published As

Publication number Publication date
CN109154951A (en) 2019-01-04

Similar Documents

Publication Publication Date Title
US20210263499A1 (en) Conversion of mesh geometry to watertight boundary representation
US8447576B2 (en) System and method for producing editable three-dimensional models
EP3295303B1 (en) Annotation creation system and method
US20160275206A1 (en) Geodesic sketching on curved surfaces
EP3718031A1 (en) A method of operating a cad system model for modelling an article to be manufactured
US8473257B2 (en) System and method for constraining curves in a CAD system
US11392726B2 (en) Variational modeling method and system for editing of geometric objects
WO2017195000A1 (en) Modelling method and system
US20150302114A1 (en) Duplicate pattern of assembly components in cad models
US11232237B2 (en) System and method for perception-based selection of features in a geometric model of a part
US11468204B2 (en) Method for measuring wrinkles with reference to target surface
US9916061B2 (en) Drawing object inferring system and method
US10073600B1 (en) Selecting large and small entities on a computer display
US9690878B2 (en) Geometric modeling with mutually dependent blends
US11068621B2 (en) Method for patching a sheet body to a target body
JP2022149195A (en) Display program, display method, and information processor
WO2017194998A1 (en) Model editing system and method
CN110199280A (en) For including the method and system for the multiple view CAD that edit operation is propagated across view when ensuring constraint consistency

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: 16725932

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16725932

Country of ref document: EP

Kind code of ref document: A1