WO2013165821A1 - Determining boolean region participants for a notional context given arbitrary bodies - Google Patents

Determining boolean region participants for a notional context given arbitrary bodies Download PDF

Info

Publication number
WO2013165821A1
WO2013165821A1 PCT/US2013/038315 US2013038315W WO2013165821A1 WO 2013165821 A1 WO2013165821 A1 WO 2013165821A1 US 2013038315 W US2013038315 W US 2013038315W WO 2013165821 A1 WO2013165821 A1 WO 2013165821A1
Authority
WO
WIPO (PCT)
Prior art keywords
tool
target body
tool body
target
data processing
Prior art date
Application number
PCT/US2013/038315
Other languages
French (fr)
Inventor
Eric Mawby
Hui Qin
Feng Yu
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 JP2015510339A priority Critical patent/JP6147333B2/en
Priority to CN201380023086.3A priority patent/CN104272352B/en
Priority to EP13722903.5A priority patent/EP2877982A1/en
Publication of WO2013165821A1 publication Critical patent/WO2013165821A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • G06F2113/00Details relating to the application field
    • G06F2113/24Sheet material
    • 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/2021Shape modification

Definitions

  • This invention relates to a method, a product data management data processing system and a computer-readable medium for determining boolean region participants for a notional context given arbitrary bodies according to the independent claims.
  • the present disclosure is directed, in general, to computer-aided design, visualization, and manufacturing 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).
  • PLM product lifecycle management
  • a method includes receiving a target body and a tool body, and evaluating a body type of the target body and a body type of the tool body. The method includes evaluating interactions between the target body and the tool body, and applying comparison criteria to determine spatial relation and relative convexity of an intersection between the target body and the tool body. The method includes identifying tool face regions of the tool body based on the evaluations and the determined spatial relation and relative convexity of the intersection. The method includes adding the tool face regions to the target body to produce a modified target body.
  • Figure 1 depicts a block diagram of a data processing system in which an embodiment can be implemented
  • Figures 2A and 2B illustrate a pocket feature in a target body, in accordance with disclosed embodiments
  • Figures 3A and 3B illustrate two exemplary bodies, in accordance with disclosed embodiments
  • Figures 4A-4D illustrate an example of an operation in accordance with disclosed embodiments
  • Figure 5 depicts a flowchart of a process in accordance with disclosed embodiments
  • Figures 6A-6G depict example bodies used to illustrate a process in accordance with disclosed embodiments.
  • Figures 7A-7P depict examples of different final products produced according to disclosed processes.
  • FIGURES 1-7 and the various embodiments used to describe the principles of the present disclosure in this patent 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. The numerous innovative teachings of the present application will be described with reference to exemplary non-limiting embodiments.
  • Disclosed embodiments include computer-implemented processes that can determine what regions of an arbitrary target body and arbitrary tool body participate in a Boolean operation, and modify the target body appropriately.
  • FIG. 1 depicts a block diagram of a data processing system in which an embodiment can be implemented, for example as a PDM system particularly configured by software or otherwise to perform the processes as described herein, and in particular as each one of a plurality of interconnected and communicating systems as described herein.
  • the data processing system depicted includes a processor 102 connected to a level two cache/bridge 104, which is connected in turn to a local system bus 106.
  • Local system bus 106 may be, for example, a peripheral component interconnect (PCI) architecture bus.
  • PCI peripheral component interconnect
  • main memory 108 main memory
  • graphics adapter 1 10 may be connected to display 111.
  • Peripherals such as local area network (LAN) / Wide Area Network / Wireless (e.g. WiFi) adapter 1 12, may also be connected to local system bus 106.
  • Expansion bus interface 1 14 connects local system bus 106 to input/output (I/O) bus 1 16.
  • I/O bus 1 16 is connected to keyboard/mouse adapter 118, disk controller 120, and I/O adapter 122.
  • Disk controller 120 can be connected to a storage 126, which can be any suitable machine usable or machine readable storage medium, including but not limited to nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), magnetic tape storage, 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), and other known optical, electrical, or magnetic storage devices.
  • ROMs read only memories
  • EEPROMs electrically programmable read only memories
  • CD-ROMs compact disk read only memories
  • DVDs digital versatile disks
  • audio adapter 124 Also connected to I/O bus 1 16 in the example shown is audio adapter 124, to which speakers (not shown) may be connected for playing sounds.
  • Keyboard/mouse adapter 1 18 provides a connection for a pointing device (not shown), such as a mouse, trackball, trackpointer, etc.
  • a data processing system in accordance with an embodiment of the present disclosure includes an operating system employing a graphical user interface.
  • the operating system permits multiple display windows to be presented in the graphical user interface simultaneously, with each display window providing an interface to a different application or to a different instance of the same application.
  • a cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed and/or an event, such as clicking a mouse button, generated to actuate a desired response.
  • One of various commercial operating systems such as a version of Microsoft WindowsTM, a product of Microsoft Corporation located in Redmond, Wash, may be employed if suitably modified.
  • the operating system is modified or created in accordance with the present disclosure as described.
  • LAN/ WAN/Wireless adapter 1 12 can be connected to a network 130 (not a part of data processing system 100), 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 100 can communicate over network 130 with server system 140, which is also not part of data processing system 100, but can be implemented, for example, as a separate data processing system 100.
  • Various embodiments include systems and methods to determine what regions of an arbitrary target body and arbitrary tool body participate in a Boolean operation, such as with regard to a specific context.
  • FIGS. 2A and 2B illustrate a "Pocket" feature 210 in a target body 205.
  • a profile-based feature contains a "recipe" of ingredients and instructions for how to construct a feature.
  • the example Pocket feature collects input such as a target body 205 to which the pocket 210 should be added, a profile for the shape of the pocket 210 (illustrated as square 215), a direction and distance to sweep a tool body from the profile (illustrated as arrow 220), and a Boolean instruction to combine the target and tool bodies.
  • the recipe is concise; it expects exactly the ingredients required to produce a pocket and then produces a pocket.
  • FIGS. 3A and 3B illustrate two exemplary bodies. Consider an operation to combine these bodies such that the "tool" body 325 becomes a pocket on the "target" body 305. Where the profile-based feature the tool body 325 was constructed for the purpose of producing a pocket, the bodies in this example are arbitrary and could be used for any operation. "Pocket" is a notional context only, unlike the prescribed context of the profile-based feature.
  • Figures 4A-4D illustrate a more sophisticated example of such an operation, with Figs. 4A and 4C showing an oblique "top” view and Figs. 4B and 4D showing a "bottom” view.
  • the task is to modify the target body 405 with the tool body 425 to produce the "feature" 410 shown in Figs. 4B and 4D.
  • This example is not achieved by simply subtracting a tool from a target.
  • the notional context of the target remains an overall convex form and the tool produces a locally concave feature in the target, which is notionally a "pocket,” but notice how the thickness of the tool produces a void on the "near" side of the target while adding wall thickness on the "far” side.
  • Disclosed embodiments include computer-implemented processes that can determine what regions of an arbitrary target body and arbitrary tool body participate in a Boolean operation given a notional context. Programmatically the algorithm can simulate the human view, to interpret notion and perception, given the arbitrary bodies. [0036] Disclosed embodiments are particularly but not exclusively advantageous when dealing with thin-wall bodies.
  • the bodies may be solid or sheet in any combination.
  • a solid body may be thin-wall or "thick"; where "thick” only means it is not a characteristic thin-wall body.
  • Figure 5 depicts a flowchart of a process in accordance with disclosed embodiments. Various steps of this process are described with reference to a non-limiting example as depicted in Figures 6A-6G.
  • This process analyzes a target body 605 and a tool body 625 to produce a "notional feature" 610 to be added to the target body 625, the notional feature 610 representing the result of a Boolean region operation between the target body 605 and the tool body 625.
  • the notional feature is am “emboss" (pocket, depression, generally a locally concave form).
  • the "system” refers to a PDM data processing system configured or programmed to perform the various actions described below.
  • the system receives a target body and a tool body (step 505). These bodies can be three-dimensional object model bodies in the PDM system. "Receiving" as used herein, can include loading from storage, receiving from another device or process, receiving via an interaction with a user, or otherwise.
  • Fig. 6A shows a target body 605 intersecting a tool body 625.
  • the system can receive a user selection to produce a resulting model including notional feature 610, as illustrated in the example of Figs. 6B and 6C.
  • the system can evaluate the respective body types of the target body and the tool body (step 510). This can include determining if each body is a solid or a sheet.
  • the system can evaluate the number of, geometric characteristics of, and topological characteristics of the intersections between the target body and the tool body (step 515). [0042] The system can evaluate the number of, geometric characteristics of, and topological characteristics of the intersecting face sets between the target body and the tool body (step 520). This step can include identifying face loops 630 between the target body and tool body, as illustrated in Fig. 6D. These face loops correspond to the intersections between the respective faces of the target body and the tool body, and can be identified mathematically by the system since it knows the location of each of the faces.
  • the system can evaluate the number of, geometric characteristics of, and topological characteristics of the face regions of the target body and the tool body (step 525).
  • steps 515-525 can be generically referred to as evaluating interactions between the target body and the tool body.
  • the system can determine distinguishing characteristics of the intersection between the target body and the tool body (step 530).
  • the system can apply comparison criteria to the target body and the tool body to determine the spatial relation and relative convexity of the intersection between the target body and the tool body (step 535).
  • the system can identify tool face regions of the tool body that can be combined with the target body to produce a notional feature based on, for example, the evaluations and the determined spatial relation and relative convexity of the intersection (step 540). This is illustrated in the example Figs. 6E and 6F, which show the identified tool face region 635 of tool body 625. Note that, in many cases, the region is bounded by the face loops identified above.
  • the system can "split" the tool body using the target body to produce the tool face regions 635 to be added to the target body (step 545). These regions 635, after splitting, can be maintained as a separate body as shown in Fig. 6G. Note that, in many cases, the splitting is performed along the face loops identified above.
  • the system can add the tool face regions 635 to the target body 605 (step 550) to produce the modified target body as a final product as shown in Figs. 6B and 6C.
  • This step can include removing any features (edges, faces, etc.) from the target body 605 that are "cut off from the target body by the addition of the tool face regions 635.
  • This step can include storing or displaying the modified target body 605.
  • Figures 7A-7P depict examples of different final products produced according to disclosed processes, depending on the characteristics of the target body and tool body.
  • the term «interactions» between tool bodies refers to a number of relations between the bodies, including the number of, geometric characteristics of, and topological characteristics of the «intersections» between the target body and the tool body; the number of, geometric characteristics of, and topological characteristics of the intersecting face sets between the target body and the tool body; identifying face loops between the target body and tool body; and evaluate the number of, geometric characteristics of, and topological characteristics of the face regions of the target body and the tool body as described herein. Turning to the Fig 7 A to Fig 70.
  • Fig. 7A shows the interaction between a thin-wall target body and a thick tool body
  • Fig. 7B shows a corresponding final product of a process as disclosed herein.
  • Fig. 7C shows the interaction between a thin-wall target body and a thin-wall tool body
  • Fig. 7D shows a corresponding final product of a process as disclosed herein.
  • Fig. 7E shows the interaction between a thin-wall target body and a sheet tool body
  • Fig. 7F shows a corresponding final product of a process as disclosed herein
  • Fig. 7G shows the interaction between a thick target body and a thick tool body
  • Fig. 7H shows a corresponding final product of a process as disclosed herein.
  • Fig. 71 shows the interaction between a thick target body and a thin-wall tool body
  • Fig. 7J shows a corresponding final product of a process as disclosed herein.
  • Fig. 7K shows the interaction between a thick target body and a sheet tool body
  • Fig. 7L shows a corresponding final product of a process as disclosed herein.
  • Fig. 7M shows the interaction between a sheet target body and a thick tool body
  • Fig. 7N shows a corresponding final product of a process as disclosed herein.
  • Fig. 70 shows the interaction between a sheet target body and a sheet tool body
  • Fig. 7P shows a corresponding final product of a process as disclosed herein.
  • Processes as described herein can be used in systems that implement a Boolean or Boolean-like capability, where the Boolean has a notional context such as "emboss" or "pad” or “pocket” (which is a higher-order context than a primitive unite or subtract), that accepts arbitrary bodies as input, and that automatically determines how the bodies form the notional feature without explicit inputs or instructions to produce the same.
  • a notional context such as "emboss" or "pad” or “pocket” (which is a higher-order context than a primitive unite or subtract)
  • 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).
  • 510 evaluating a body type of the target body and a body type of the tool body; evaluating body types 515 evaluating intersections between the target body and the tool body

Abstract

Product Data Management (PDM) systems and methods. A method includes receiving a target body and a tool body, and evaluating a body type of the target body and a body type of the tool body. The method includes evaluating interactions between the target body and the tool body, and applying comparison criteria to determine spatial relation and relative convexity of an intersection between the target body and the tool body. The method includes identifying tool face regions of the tool body based on the evaluations and the determined spatial relation and relative convexity of the intersection. The method includes adding the tool face regions to the target body to produce a modified target body.

Description

DETERMINING BOOLEAN REGION PARTICIPANTS FOR A NOTIONAL CONTEXT GIVEN ARBITRARY BODIES
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This invention relates to a method, a product data management data processing system and a computer-readable medium for determining boolean region participants for a notional context given arbitrary bodies according to the independent claims.
TECHNICAL FIELD
[0002] The present disclosure is directed, in general, to computer-aided design, visualization, and manufacturing 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 [0003] PDM systems manage PLM and other data. Improved systems are desirable.
SUMMARY OF THE DISCLOSURE
[0004] Various disclosed embodiments include systems and methods for determining Boolean region participants for a notional context given arbitrary bodies in CAD object models. [0005] Various disclosed embodiments include PDM systems and methods. A method includes receiving a target body and a tool body, and evaluating a body type of the target body and a body type of the tool body. The method includes evaluating interactions between the target body and the tool body, and applying comparison criteria to determine spatial relation and relative convexity of an intersection between the target body and the tool body. The method includes identifying tool face regions of the tool body based on the evaluations and the determined spatial relation and relative convexity of the intersection. The method includes adding the tool face regions to the target body to produce a modified target body.
[0006] 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 spirit and scope of the disclosure in its broadest form.
[0007] 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; the phrases "associated with" and "associated therewith," as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; 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
[0008] For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, wherein like numbers designate like objects, and in which:
[0009] Figure 1 depicts a block diagram of a data processing system in which an embodiment can be implemented;
[0010] Figures 2A and 2B illustrate a pocket feature in a target body, in accordance with disclosed embodiments;
[0011] Figures 3A and 3B illustrate two exemplary bodies, in accordance with disclosed embodiments;
[0012] Figures 4A-4D illustrate an example of an operation in accordance with disclosed embodiments;
[0013] Figure 5 depicts a flowchart of a process in accordance with disclosed embodiments;
[0014] Figures 6A-6G depict example bodies used to illustrate a process in accordance with disclosed embodiments; and
[0015] Figures 7A-7P depict examples of different final products produced according to disclosed processes.
DETAILED DESCRIPTION
[0016] FIGURES 1-7 and the various embodiments used to describe the principles of the present disclosure in this patent 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. The numerous innovative teachings of the present application will be described with reference to exemplary non-limiting embodiments.
[0017] In a PDM or CAD context, it can be advantageous to perform a Boolean operation to "subtract" a shape from an object model. When performing an operation to remove a "tool body" from a "target body", it can be important to ensure that proper regions of the target body are removed, and that other portions of the target body are modified to properly reflect the operation, such as by adding appropriate faces to the target body that bound the region removed by the tool body.
[0018] Disclosed embodiments include computer-implemented processes that can determine what regions of an arbitrary target body and arbitrary tool body participate in a Boolean operation, and modify the target body appropriately.
[0019] Figure 1 depicts a block diagram of a data processing system in which an embodiment can be implemented, for example as a PDM system particularly configured by software or otherwise to perform the processes as described herein, and in particular as each one of a plurality of interconnected and communicating systems as described herein. The data processing system depicted includes a processor 102 connected to a level two cache/bridge 104, which is connected in turn to a local system bus 106. Local system bus 106 may be, for example, a peripheral component interconnect (PCI) architecture bus. Also connected to local system bus in the depicted example are a main memory 108 and a graphics adapter 1 10. The graphics adapter 1 10 may be connected to display 111.
[0020] Other peripherals, such as local area network (LAN) / Wide Area Network / Wireless (e.g. WiFi) adapter 1 12, may also be connected to local system bus 106. Expansion bus interface 1 14 connects local system bus 106 to input/output (I/O) bus 1 16. I/O bus 1 16 is connected to keyboard/mouse adapter 118, disk controller 120, and I/O adapter 122. Disk controller 120 can be connected to a storage 126, which can be any suitable machine usable or machine readable storage medium, including but not limited to nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), magnetic tape storage, 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), and other known optical, electrical, or magnetic storage devices.
[0021] Also connected to I/O bus 1 16 in the example shown is audio adapter 124, to which speakers (not shown) may be connected for playing sounds. Keyboard/mouse adapter 1 18 provides a connection for a pointing device (not shown), such as a mouse, trackball, trackpointer, etc.
[0022] Those of ordinary skill in the art will appreciate that the hardware depicted in Figure 1 may vary for particular implementations. For example, other peripheral devices, such as an optical disk drive and the like, also may be used in addition or in place of the hardware depicted. 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.
[0023] A data processing system in accordance with an embodiment of the present disclosure includes an operating system employing a graphical user interface. The operating system permits multiple display windows to be presented in the graphical user interface simultaneously, with each display window providing an interface to a different application or to a different instance of the same application. A cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed and/or an event, such as clicking a mouse button, generated to actuate a desired response.
[0024] One of various commercial operating systems, such as a version of Microsoft Windows™, a product of Microsoft Corporation located in Redmond, Wash, may be employed if suitably modified. The operating system is modified or created in accordance with the present disclosure as described.
[0025] LAN/ WAN/Wireless adapter 1 12 can be connected to a network 130 (not a part of data processing system 100), 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 100 can communicate over network 130 with server system 140, which is also not part of data processing system 100, but can be implemented, for example, as a separate data processing system 100.
[0026] Various embodiments include systems and methods to determine what regions of an arbitrary target body and arbitrary tool body participate in a Boolean operation, such as with regard to a specific context.
[0027] The NX software product by Siemens Product Lifecycle Management Software Inc. and other CAD modeling packages provide numerous modeling features used to construct a part. A popular variety of feature is a profile-based feature. Figures 2A and 2B illustrate a "Pocket" feature 210 in a target body 205.
[0028] A profile-based feature contains a "recipe" of ingredients and instructions for how to construct a feature. The example Pocket feature collects input such as a target body 205 to which the pocket 210 should be added, a profile for the shape of the pocket 210 (illustrated as square 215), a direction and distance to sweep a tool body from the profile (illustrated as arrow 220), and a Boolean instruction to combine the target and tool bodies. The recipe is concise; it expects exactly the ingredients required to produce a pocket and then produces a pocket.
[0029] While profile -based features are convenient, explicit methods of modeling - explicitly construct target and tool bodies and explicitly combine with a Boolean operation - remain prevalent. [0030] Figures 3A and 3B illustrate two exemplary bodies. Consider an operation to combine these bodies such that the "tool" body 325 becomes a pocket on the "target" body 305. Where the profile-based feature the tool body 325 was constructed for the purpose of producing a pocket, the bodies in this example are arbitrary and could be used for any operation. "Pocket" is a notional context only, unlike the prescribed context of the profile-based feature. [0031] Given a notion of "pocket" and a context where body 305 is a target and body 325 is a tool, producing a pocket 310 can be considered as a Boolean operation that subtracts the tool body 325 from the target body 305 to produce the result illustrated in Fig. 3B. This is a human view. An "algorithm" view as executed by a PDM system process cannot assume that a tool is simply subtracted to produce a pocket. The notional context of "pocket" only means the target remains an overall convex form and the tool produces a locally concave feature in the target. These two bodies could also participate, for example, in a notional context of "pad."
[0032] Figures 4A-4D illustrate a more sophisticated example of such an operation, with Figs. 4A and 4C showing an oblique "top" view and Figs. 4B and 4D showing a "bottom" view. The task is to modify the target body 405 with the tool body 425 to produce the "feature" 410 shown in Figs. 4B and 4D.
[0033] This example is not achieved by simply subtracting a tool from a target. The notional context of the target remains an overall convex form and the tool produces a locally concave feature in the target, which is notionally a "pocket," but notice how the thickness of the tool produces a void on the "near" side of the target while adding wall thickness on the "far" side.
[0034] In the human view it may be apparent how the tool should modify the target given the a priori notion of the product; after all, a human modeled the bodies with a purpose in mind. However, spatial senses such as "near" and "far" side, geometric descriptions of "pocket" or "wall," and decisions of what regions of which bodies remain or are removed, are perceptual.
[0035] Disclosed embodiments include computer-implemented processes that can determine what regions of an arbitrary target body and arbitrary tool body participate in a Boolean operation given a notional context. Programmatically the algorithm can simulate the human view, to interpret notion and perception, given the arbitrary bodies. [0036] Disclosed embodiments are particularly but not exclusively advantageous when dealing with thin-wall bodies. The bodies may be solid or sheet in any combination. A solid body may be thin-wall or "thick"; where "thick" only means it is not a characteristic thin-wall body.
[0037] Figure 5 depicts a flowchart of a process in accordance with disclosed embodiments. Various steps of this process are described with reference to a non-limiting example as depicted in Figures 6A-6G. This process analyzes a target body 605 and a tool body 625 to produce a "notional feature" 610 to be added to the target body 625, the notional feature 610 representing the result of a Boolean region operation between the target body 605 and the tool body 625. In this example, the notional feature is am "emboss" (pocket, depression, generally a locally concave form).
[0038] In this process, the "system" refers to a PDM data processing system configured or programmed to perform the various actions described below. [0039] The system receives a target body and a tool body (step 505). These bodies can be three-dimensional object model bodies in the PDM system. "Receiving" as used herein, can include loading from storage, receiving from another device or process, receiving via an interaction with a user, or otherwise. Fig. 6A shows a target body 605 intersecting a tool body 625. As part of this step, the system can receive a user selection to produce a resulting model including notional feature 610, as illustrated in the example of Figs. 6B and 6C.
[0040] The system can evaluate the respective body types of the target body and the tool body (step 510). This can include determining if each body is a solid or a sheet.
[0041] The system can evaluate the number of, geometric characteristics of, and topological characteristics of the intersections between the target body and the tool body (step 515). [0042] The system can evaluate the number of, geometric characteristics of, and topological characteristics of the intersecting face sets between the target body and the tool body (step 520). This step can include identifying face loops 630 between the target body and tool body, as illustrated in Fig. 6D. These face loops correspond to the intersections between the respective faces of the target body and the tool body, and can be identified mathematically by the system since it knows the location of each of the faces.
[0043] The system can evaluate the number of, geometric characteristics of, and topological characteristics of the face regions of the target body and the tool body (step 525).
[0044] One or more of steps 515-525 can be generically referred to as evaluating interactions between the target body and the tool body. [0045] From the evaluations, the system can determine distinguishing characteristics of the intersection between the target body and the tool body (step 530). [0046] The system can apply comparison criteria to the target body and the tool body to determine the spatial relation and relative convexity of the intersection between the target body and the tool body (step 535).
[0047] The system can identify tool face regions of the tool body that can be combined with the target body to produce a notional feature based on, for example, the evaluations and the determined spatial relation and relative convexity of the intersection (step 540). This is illustrated in the example Figs. 6E and 6F, which show the identified tool face region 635 of tool body 625. Note that, in many cases, the region is bounded by the face loops identified above.
[0048] The system can "split" the tool body using the target body to produce the tool face regions 635 to be added to the target body (step 545). These regions 635, after splitting, can be maintained as a separate body as shown in Fig. 6G. Note that, in many cases, the splitting is performed along the face loops identified above.
[0049] The system can add the tool face regions 635 to the target body 605 (step 550) to produce the modified target body as a final product as shown in Figs. 6B and 6C. This step can include removing any features (edges, faces, etc.) from the target body 605 that are "cut off from the target body by the addition of the tool face regions 635. This step can include storing or displaying the modified target body 605.
[0050] Unless specified otherwise, the various steps described herein can be performed in a different order, performed concurrently or sequentially, can be omitted or combined, or can be repeated, as may be specified in the claims below.
[0051] Figures 7A-7P depict examples of different final products produced according to disclosed processes, depending on the characteristics of the target body and tool body. Regarding the nomenclature «interactions» and «intersections» when one body is placed so that it "overlaps" another, they intersect and also interact. Specific «intersections» are a subset of all the «interactions» between two bodies. That is, the term «interactions» between tool bodies refers to a number of relations between the bodies, including the number of, geometric characteristics of, and topological characteristics of the «intersections» between the target body and the tool body; the number of, geometric characteristics of, and topological characteristics of the intersecting face sets between the target body and the tool body; identifying face loops between the target body and tool body; and evaluate the number of, geometric characteristics of, and topological characteristics of the face regions of the target body and the tool body as described herein. Turning to the Fig 7 A to Fig 70.
[0052] Fig. 7A shows the interaction between a thin-wall target body and a thick tool body, and Fig. 7B shows a corresponding final product of a process as disclosed herein.
[0053] Fig. 7C shows the interaction between a thin-wall target body and a thin-wall tool body, and Fig. 7D shows a corresponding final product of a process as disclosed herein.
[0054] Fig. 7E shows the interaction between a thin-wall target body and a sheet tool body, and Fig. 7F shows a corresponding final product of a process as disclosed herein. [0055] Fig. 7G shows the interaction between a thick target body and a thick tool body, and Fig. 7H shows a corresponding final product of a process as disclosed herein.
[0056] Fig. 71 shows the interaction between a thick target body and a thin-wall tool body, and Fig. 7J shows a corresponding final product of a process as disclosed herein.
[0057] Fig. 7K shows the interaction between a thick target body and a sheet tool body, and Fig. 7L shows a corresponding final product of a process as disclosed herein.
[0058] Fig. 7M shows the interaction between a sheet target body and a thick tool body, and Fig. 7N shows a corresponding final product of a process as disclosed herein.
[0059] Fig. 70 shows the interaction between a sheet target body and a sheet tool body, and Fig. 7P shows a corresponding final product of a process as disclosed herein. [0060] Processes as described herein can be used in systems that implement a Boolean or Boolean-like capability, where the Boolean has a notional context such as "emboss" or "pad" or "pocket" (which is a higher-order context than a primitive unite or subtract), that accepts arbitrary bodies as input, and that automatically determines how the bodies form the notional feature without explicit inputs or instructions to produce the same. [0061] 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.
[0062] 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 100 may conform to any of the various current implementations and practices known in the art.
[0063] 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).
[0064] 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.
[0065] 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. List of used reference numerals, glossary
100 data processing system
102 processor
104 cache/bridge
106 local system bus
108 main memory
110 graphics adapter
111 display
112 Local Area Network / Wide Area Network / Wireless adapter
114 expansion bus interface
116 input/output bus, I/O bus
118 keyboard/mouse adapter
120 disk controller
122 I/O adapter
124 audio adapter
126 storage
130 network
140 server system
205 target body
210 "Pocket" feature, pocket
215 square
220 arrow
305 target body
310 pocket
325 tool body
405 target body
410 feature
425 tool body
505 receiving a target body and a tool body
510 evaluating a body type of the target body and a body type of the tool body; evaluating body types 515 evaluating intersections between the target body and the tool body
520 evaluating intersection face sheets
525 evaluating face regions
530 determining distinguishing characteristics of intersection
535 determining spatial relation and relative convexity
540 identifying tool face regions that can be combined
545 splitting tool body
550 adding tool face regions to target body
605 target body
610 notional feature
625 tool body
630 face loop
635 face region
CAD Computer Aided Design
I/O Input/Output
LAN local Area Network
PCI peripheral component interconnect
PDM product data management
PLM product lifecycle management
WAN wide area network

Claims

Claims
1. A method for product data management - in the following denoted by PDM -, performed by a PDM data processing system (100), comprising:
- receiving (505), in the PDM data processing system, a target body (405, 605) and a tool body (625);
- evaluating (510) a body type of the target body (405, 605) and a body type of the tool body (425, 625);
- applying (535) comparison criteria to determine spatial relation and relative convexity of an intersection between the target body (405, 605) and the tool body (425, 625);
- identifying (540) tool face regions (635) of the tool body (425, 625) based on the
evaluations and the determined spatial relation and relative convexity of the intersection; and
- adding (550) the tool face regions (635) to the target body(405, 605) to produce a
modified target body (405, 605).
2. The method of claim 1 , wherein the PDM data processing system also splits (545) the tool body (425, 625) using the target body (405, 605) to produce the tool face regions. (635).
3. The method of claim 1 , further comprising evaluating interactions (515, 520, 525) between the target body (405, 605) and the tool body (425, 625).
4. The method of claim 3, wherein evaluating interactions (515, 510, 525) between the target body (405, 605) and the tool body (425, 625) includes evaluating a number of, geometric characteristics of, and topological characteristics of the intersection between the target body (405, 605) and the tool body (425, 625).
5. The method of claim 3, wherein evaluating interactions (515, 520,-525) between the target body (405, 605) and the tool body (425, 625) includes evaluating a number of, geometric characteristics of, and topological characteristics of intersecting face sets between the target body (405, 605) and the tool body (425, 625).
6. The method of claim 5, wherein the PDM data processing system also identifies (540) at least one face loop between the target body (405, 605) and tool body (425, 625) that corresponds to an intersection between respective faces of the target body (405, 605) and the tool body (425, 625).
7. The method of claim 3, wherein evaluating interactions between the target body (405, 605) and the tool body (425, 625) includes evaluating a number of, geometric characteristics of, and topological characteristics of face regions of the target body (405, 605)and the tool body.
8. The method of claim 1 , wherein the PDM data processing system also determines distinguishing characteristics of the intersection between the target body (405, 605)and the tool body.
9. A product data management data processing system (100) - in the following denoted by PDM data processing system (100) - , comprising:
- at least one processor (102); and
- an accessible memory (108, 126), the PDM data processing system (100) configured to
- receive (505) a target body (405, 605) and a tool body (425, 625);
- evaluate (510) a body type of the target body (605) and a body type of the tool body (425, 625);
- evaluate interactions between the target body (405, 605) and the tool body (425, 625);
- apply (535) comparison criteria to determine spatial relation and relative convexity of an intersection between the target body (405, 605) and the tool body (425, 625);
- identify (540) tool face regions of the tool body (425, 625) based on the evaluations and the determined spatial relation and relative convexity of the intersection; and
- add (550) the tool face regions to the target body (405, 605) to produce a modified target body.
10. The PDM data processing system of claim 9, wherein the PDM data processing system also splits (545) the tool body (425, 625) using the target body (405, 605) to produce the tool face regions.
1 1. The PDM data processing system of claim 9, wherein evaluating (515, 520, 525) interactions between the target body (405, 605) and the tool body (425, 625) includes evaluating a number of, geometric characteristics of, and topological characteristics of the intersection between the target body (405, 605)and the tool body.
12. The PDM data processing system of claim 9, wherein evaluating (515, 520, 525) interactions between the target body (405, 605) and the tool body (425, 625) includes evaluating a number of, geometric characteristics of, and topological characteristics of intersecting face sets between the (405, 605) and the tool body.
13. The PDM data processing system of claim 12, wherein the PDM data processing system also identifies (540) at least one face loop between the target body (405, 605) and tool body (425, 625) that corresponds to an intersection between respective faces of the target body (405, 605) and the tool body.
14. The PDM data processing system of claim 9, wherein evaluating (515, 520, 525) interactions between the target body (405, 605) and the tool body (425, 625) includes evaluating a number of, geometric characteristics of, and topological characteristics of face regions of the target body (405, 605) and the tool body.
15. The PDM data processing system of claim 9, wherein the PDM data processing system also determines distinguishing characteristics of the intersection between the target body (405, 605) and the tool body.
16. A non-transitory machine-readable medium encoded with executable instructions that, when executed, cause a product data management data processing system (100) - in the following denoted by PDM data processing system (100) - to:
- receive (505) a target body (405, 605) and a tool body;
- evaluate (510) a body type of the target body (405, 605) and a body type of the tool body;
- evaluate (515) interactions between the target body (405, 605) and the tool body;
- apply comparison criteria to determine spatial relation and relative convexity of an
intersection between the target body (405, 605) and the tool body;
- identify tool face regions of the tool body (425, 625) based on the evaluations and the determined spatial relation and relative convexity of the intersection; and
- add (550) the tool face regions to the target body (405, 605) to produce a modified target body.
17. The machine-readable medium of claim 16, wherein the PDM data processing system also splits (545) the tool body (425, 625) using the target body (405, 605) to produce the tool face regions.
18. The machine-readable medium of claim 16, wherein evaluating (515, 520, 525) interactions between the target body (405, 605) and the tool body (425, 625) includes evaluating a number of, geometric characteristics of, and topological characteristics of the intersection between the target body (405, 605) and the tool body.
19. The machine-readable medium of claim 16, wherein evaluating (515, 520, 525) interactions between the target body (605) and the tool body (425, 625) includes evaluating a number of, geometric characteristics of, and topological characteristics of intersecting face sets between the target body (605) and the tool body.
20. The machine-readable medium of claim 19, wherein the PDM data processing system also identifies at least one face loop between the target body (405, 605)and tool body (425, 625) that corresponds to an intersection between respective faces of the target body (405, 605) and the tool body.
21. The machine-readable medium of claim 16, wherein evaluating (515, 520, 525) interacttions between the target body (605) and the tool body (425, 625) includes evaluating a number of, geometric characteristics of, and topological characteristics of face regions of the target body (405, 605) and the tool body.
PCT/US2013/038315 2012-05-04 2013-04-26 Determining boolean region participants for a notional context given arbitrary bodies WO2013165821A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015510339A JP6147333B2 (en) 2012-05-04 2013-04-26 Determining what participates in Boolean domain operations for a conceptual context given an arbitrary body
CN201380023086.3A CN104272352B (en) 2012-05-04 2013-04-26 Method and apparatus and PDM data handling systems for PDM
EP13722903.5A EP2877982A1 (en) 2012-05-04 2013-04-26 Determining boolean region participants for a notional context given arbitrary bodies

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261643163P 2012-05-04 2012-05-04
US61/643,163 2012-05-04
US13/564,000 2012-08-01
US13/564,000 US10102331B2 (en) 2012-05-04 2012-08-01 Determining boolean region participants for a notional context given arbitrary bodies

Publications (1)

Publication Number Publication Date
WO2013165821A1 true WO2013165821A1 (en) 2013-11-07

Family

ID=49513262

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/038315 WO2013165821A1 (en) 2012-05-04 2013-04-26 Determining boolean region participants for a notional context given arbitrary bodies

Country Status (5)

Country Link
US (1) US10102331B2 (en)
EP (1) EP2877982A1 (en)
JP (1) JP6147333B2 (en)
CN (1) CN104272352B (en)
WO (1) WO2013165821A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160267201A1 (en) * 2014-05-13 2016-09-15 Siemens Product Lifecycle Management Software Inc. Method for construction of a step feature in a 3d model

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01222379A (en) 1988-03-01 1989-09-05 Fujitsu Ltd System for set operation of solid
JPH087800B2 (en) 1992-10-07 1996-01-29 日本アイ・ビー・エム株式会社 Method and apparatus for synthesizing solid model
JPH07200873A (en) 1993-12-27 1995-08-04 Mutoh Ind Ltd Production of three-dimensional model
US6307555B1 (en) * 1998-09-30 2001-10-23 Silicon Graphics, Inc. Boolean operations for subdivision surfaces
US6629065B1 (en) * 1998-09-30 2003-09-30 Wisconsin Alumni Research Foundation Methods and apparata for rapid computer-aided design of objects in virtual reality and other environments
WO2000055815A1 (en) 1999-03-17 2000-09-21 Fujitsu Limited Cad system and recording medium
JP2002324103A (en) 2001-02-26 2002-11-08 Nihon Yamamura Glass Co Ltd Apparatus, method, program for package design and recording medium recorded with the program
US7176942B2 (en) * 2001-03-23 2007-02-13 Dassault Systemes Collaborative design
US7337093B2 (en) * 2001-09-07 2008-02-26 Purdue Research Foundation Systems and methods for collaborative shape and design
US7313504B2 (en) 2001-10-15 2007-12-25 Solidworks Corporation Model management technology using grouping of features
US6776614B2 (en) * 2002-02-13 2004-08-17 Lingualcare, Inc. Modular system for customized orthodontic appliances
US7397473B2 (en) * 2004-07-16 2008-07-08 Geometric Ltd. Geometry based search method for 3D CAx/PDM repositories
CN100478996C (en) 2006-04-04 2009-04-15 天津大学 Three dimension uniform model construction method of water conservancy hydropower engineering geological information
US10372833B2 (en) * 2008-04-14 2019-08-06 The Boeing Company Part standard geometry management in a computer aided design system
CN100585638C (en) 2008-07-16 2010-01-27 永凯软件技术(上海)有限公司 Curved body three-dimensional boundary representation model reconstruction method and device based on line boundary
US8825450B2 (en) * 2009-10-22 2014-09-02 Dassault Systemes Method and system for updating a modeled object in a product lifecycle management system
US8723863B2 (en) 2010-07-07 2014-05-13 Siemens Product Lifecycle Management Software Inc. Data processing system with construction geometry
US8983803B2 (en) * 2011-09-02 2015-03-17 Siemens Product Lifecycle Management Software Inc. Tolerant intersections in graphical models

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BRUDERLIN B: "Robust regularized set operations on polyhedra", 19910108; 19910108 - 19910111, vol. i, 8 January 1991 (1991-01-08), pages 691 - 700, XP010093302 *
HIGASHI M ET AL: "FACE-BASED DATA STRUCTURE AND ITS APPLICATION TO ROBUST GEOMETRIC MODELING", PROCEEDINGS OF THE THIRD SYMPOSIUM ON SOLID MODELING AND APPLICATIONS. SALT LAKE CITY, MAY 17 - 19, 1995; [PROCEEDINGS OF THE SYMPOSIUM ON SOLID MODELING AND APPLICATIONS], NEW YORK, ACM, US, vol. SYMP. 3, 17 May 1995 (1995-05-17), pages 235 - 246, XP000530123, ISBN: 978-0-89791-672-1, DOI: 10.1145/218013.218068 *
LIU S Q ET AL: "Real-time, dynamic level-of-detail management for three-axis NC milling simulation", COMPUTER AIDED DESIGN, ELSEVIER PUBLISHERS BV., BARKING, GB, vol. 38, no. 4, 1 April 2006 (2006-04-01), pages 378 - 391, XP027878698, ISSN: 0010-4485, [retrieved on 20060401] *
WACO D L ET AL: "GEOMETRIC REASONING FOR MACHINING FEATURES USING CONVEX DECOMPOSITION", COMPUTER AIDED DESIGN, ELSEVIER PUBLISHERS BV., BARKING, GB, vol. 26, no. 6, 1 June 1994 (1994-06-01), pages 477 - 489, XP000453434, ISSN: 0010-4485, DOI: 10.1016/0010-4485(94)90069-8 *

Also Published As

Publication number Publication date
JP2015516097A (en) 2015-06-04
CN104272352A (en) 2015-01-07
JP6147333B2 (en) 2017-06-14
EP2877982A1 (en) 2015-06-03
US10102331B2 (en) 2018-10-16
CN104272352B (en) 2017-06-20
US20130297268A1 (en) 2013-11-07

Similar Documents

Publication Publication Date Title
CN107053165B (en) Method and data processing system for simulating and processing anti-collision management
WO2007112405A3 (en) Asset and liability modeling tool
US20140058707A1 (en) Variational modeling with removal features
CN109558624A (en) Generate the 2D drawing for representing mechanical part
KR20170098037A (en) Method and apparatus of simulating for variable structure based on virtual reality technique
US20160085887A1 (en) Method for improving efficiency of industrial robotic energy consumption and cycle time by handling location orientation
US20160275206A1 (en) Geodesic sketching on curved surfaces
US20100231587A1 (en) System and method for determining a virtual curve in an object model
US10102331B2 (en) Determining boolean region participants for a notional context given arbitrary bodies
EP2845130B1 (en) System and method for bending and unbending complex sheet metal bend regions
Manteaux et al. Interactive detailed cutting of thin sheets
US8923999B2 (en) Volumetric cut planning
US20140324394A1 (en) Curves in a variational system
EP2700029A1 (en) Notch re -blend in a cad object
CN111105501A (en) 3D design of B-REP skin
US20120078580A1 (en) Integrated History-Free and History-Based Modeling
US9400854B2 (en) Aerospace joggle on multiple adjacent web faces with intersecting runouts
US8983803B2 (en) Tolerant intersections in graphical models
WO2014193736A1 (en) System and method for providing sketch dimensions for a drawing view
US20140089817A1 (en) Distributed systems and methods for collaborative creation and modification of geometric models
EP2942722A1 (en) Three-dimensional cad method for generating an accurate solid model from a laminated composite part definition

Legal Events

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

Ref document number: 13722903

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015510339

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2013722903

Country of ref document: EP