This application claims priority under 35 U.S.C. §119 or 365 to Europe, Application No. 13305841.2, filed Jun. 20, 2013. The entire teachings of the above application(s) are incorporated herein by reference.
The invention relates to the field of computer programs and systems, and more specifically to a method, system and program for designing a folded sheet object, as well as a folded sheet object obtainable by said method and a data file storing said folded sheet object.
A number of systems and programs are offered on the market for the design, the engineering and the manufacturing of objects. CAD is an acronym for Computer-Aided Design, e.g. it relates to software solutions for designing an object. CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM is an acronym for Computer-Aided Manufacturing, e.g. it relates to software solutions for defining manufacturing processes and operations. In such systems, the graphical user interface (GUI) plays an important role as regards the efficiency of the technique. These techniques may be embedded within Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise.
The PLM solutions provided by Dassault Systèmes (under the trademarks CATIA, ENOVIA and DELMIA) provide an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Some CAD systems now deal with packaging design. Packaging design systems may typically allow to define the shape of a flat carton board sheet and the arrangement of bend lines on said sheet in such a way that, according to a folding procedure, which may also be a matter of packaging design, the flat sheet changes itself into a three dimensional box that is able to contain some kind of goods. Packaging design CAD systems include for example ArtiosCAD software (registered trademark). ArtiosCAD includes geometric tools for a user to interactively define the outside shape, bend lines and panels of a flat carton board sheet as well as the folding procedure and the resulting three-dimensional shape of the package. For the sake of comprehensiveness, it is noted that ArtiosCAD also includes other functions related to packaging design (drawing, artwork, flexible package, layout for manufacturing) that are out of the scope of the present discussion.
The key point of state of the art packaging design systems is related to the bend lines arrangement: each bend line can be folded independently. Formally, this means that the panels' adjacency graph is acyclic. The panels' adjacency graph is a non-directed graph defined as follows. Vertices are panels' numbers and arcs capture the adjacency relationship: an arc joins panel number i and panel number j if the said panels are adjacent (meaning that they share a bend line). From the mathematical point of view, the flat carton board sheet corresponds to a planar graph and the panels' adjacency graph is its dual graph.
As opposed to the acyclic graph, the theoretical case of a local cycle in the panels' adjacency is not handled by the prior art in a satisfactory way. The corresponding significant folding situation is characterized when at least four bend lines are concurrent at a point P and when no boundary line meets point P. It is well known from state of the art that folding is generally impossible with three or less concurrent bend lines. Furthermore, it is well known from state of the art that folding is generally impossible when bend lines in such a cycle are not concurrent and not parallel (parallelism is discussed later).
As mentioned previously, a cyclic situation with folding is allowed by parallel bend lines, as illustrated by
In this context, the invention aims at improving the design of a folded sheet object.
According to one aspect, it is therefore provided a computer-implemented method for designing a folded sheet object. The method comprises the step of providing panels separated by bend lines, including at least four adjacent panels forming a cycle and separated by concurrent bend lines, with predetermined angles between successive bend lines. And the method also comprises the step of determining a control law linking the angles between the adjacent panels of the cycle, as a function of the predetermined angles between successive bend lines
The method may comprise one or more of the following:
with:
and αi(i=1 . . . 4) are the predetermined angles (αi) between successive bend lines, where ψ is the angle between the pair of the adjacent panels corresponding to α1 and α2, and φ is the angle between the pair of the adjacent panels corresponding to α1 and α3;
It is further proposed a folded sheet object obtainable by the above method.
It is further proposed a data file storing said folded object.
It is further proposed a computer-implemented method for simulating the folding of a folded sheet object. The method comprises the step of providing predetermined values for a number of the angles between pairs of the adjacent panels. The method also comprises the step of determining values of the other angles between pairs of the adjacent panels with the control law.
It is further proposed a computer program comprising instructions for performing any or both of the above methods. The computer program is adapted to be recorded on a computer readable storage medium.
It is further proposed a computer readable storage medium having recorded thereon the above computer program.
It is further proposed a CAD system comprising a processor coupled to a memory and a graphical user interface, the memory having recorded thereon the above computer program.
The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.
Embodiments of the invention will now be described, by way of non-limiting example, and in reference to the accompanying drawings, where:
A description of example embodiments of the invention follows.
The design method considers the case mentioned earlier of at least four adjacent panels forming a cycle separated by concurrent bend lines. The design method then determines at S20 a control law that allows the potential simulation of the folding of a folded sheet, since the control law links the angles between the adjacent panels of the cycle. The control law is a function of the predetermined angles between successive bend lines, such that the control law may be determined once and for all after the providing S10. Thus the user need not intervene for the simulation. For this reason, the design method improves the design of a folded sheet object, by considering a specific case (i.e. at least four adjacent panels forming a cycle and separated by concurrent bend lines) that may occur in some industrial cases (e.g. the packaging industry) and adding to the folded sheet object some data (i.e. the control law) that may conveniently be used for simulation of the folding of the folded sheet object, without the need for user intervention.
State of the art packaging design CAD systems cannot handle cyclic situations featuring concurrent bend lines. The background art limitation is the acyclic adjacency graph, which is unable to handle complex cyclic folding. However, complex cyclic folding is useful in packaging design because it helps several panels to be folded at the same time: folding one panel involves neighboring panels folding because of the cyclic dependency. Conversely, an acyclic procedure requires each panel to be folded individually. Folding several panels at the same time through cyclic dependency simplifies the physical folding machine, which in turn shortens the time to design, build and repair the folding machine and, finally, shortens the time to manufacture packaged goods. Some prior art packaging design systems tolerate a cyclic adjacency graph when dealing with the flat sheet design. But, when creating the folding procedure (in simulation), the user is asked to break the cycle by selecting a bend line. This action is not legitimate design intent. It is motivated by the weakness of such prior packaging design system. The resulting folding simulation is unrealistic and time consuming since the user is asked again to manage by hand the behavior of folded panels in the neighborhood of the cut bend line.
On the contrary, the simulation of the folding of a folded sheet object designed by the present design method may be automatic, excluding any user action, or any action that consists in breaking the cycle of adjacent panels (other actions may be performed by the user, e.g. to define the folding configuration, or to define physical constraints/variation laws when there are more than four panels, as explained later).
A folded sheet object is a specific kind of modeled object. A modeled object is any object defined/described by structured data that may be stored in a data file (i.e. a piece of computer data having a specific format) and/or on a memory of a computer system. A folded sheet object is a modeled object that represents any type of physical sheet that may be folded. For example, the folded sheet object designed may represent a planar sheet (the folded sheet object may thus have a “planar state”) that may form any kind of package after folding. By extension, the expression “folded sheet object” may designate the data itself, or the physical sheet. Notably, a folded sheet object may comprise data allowing the simulation of the folding of the folded sheet object (thereby representing the folding of the physical sheet represented by the folded sheet object). The folded sheet object obtained by the method has a specific structure. The data forming the folded sheet object designed by the method comprise any data that describe at least four adjacent panels forming a cycle, bend lines separating the panels, predetermined angles between successive bend lines, and eventually the control law.
The design method is for designing a folded sheet object, e.g. the steps of the design method constituting at least some steps of such design. “Designing a folded sheet object” designates any action or series of actions which is at least part of a process of elaborating a folded sheet object. Thus, the design method may comprise creating the folded sheet from scratch, before the providing S10. Alternatively, the design method may comprise providing a folded sheet object previously created, and then modifying the folded sheet object, e.g. for adding to it the control law determined at S20.
The simulation of the folding of such a folded sheet object is easy, as illustrated with reference to
The determining S40 may be automated. The values provided at the providing step S30 may be provided by the user, or by an underlying process that defines constraints on some of the panels (e.g. to simulate a physical pressure in order to perform the folding of the physical sheet represented by the folded sheet object), in which latter case the providing S30 and the determining S40 may be iterated to simulate the whole folding process of the folded sheet object, e.g. with predetermined time steps. Such a simulation may be subsequent to the design of the modeled object, and/or it may be performed at a separate time, based on the folded sheet object designed by the design method.
The folded sheet object may be a CAD modeled object or a part of a CAD modeled object. In any case, the folded sheet object designed by the method may represent the CAD modeled object or at least part of it, e.g. a 3D space occupied by the CAD modeled object. A CAD modeled object is any object defined by data stored in a memory of a CAD system. According to the type of the system, the modeled objects may be defined by different kinds of data. A CAD system is any system suitable at least for designing a modeled object on the basis of a graphical representation of the modeled object, such as CATIA. Thus, the data defining a CAD modeled object comprise data allowing the representation of the modeled object (e.g. geometric data, for example including relative positions in space).
The design and/or simulation method may be included in a manufacturing process, which may comprise, after performing the method, producing a physical product corresponding to the folded sheet object, e.g. performing a packaging method with a physical sheet represented by the folded sheet object, e.g. the folding in the packaging method being performed according to the simulation method. In any case, the folded sheet object designed by the method may represent a manufacturing object, e.g. a physical sheet such as a board sheet in any foldable material, e.g. carton/paper/plastic/metal. The method can be implemented using a CAM system, such as DELMIA. A CAM system is any system suitable at least for defining, simulating and controlling manufacturing processes and operations.
The methods are computer-implemented. This means that the methods are executed on at least one computer, or any system alike. For example, the methods may be implemented on a CAD system. Thus, steps of the methods are performed by the computer, possibly fully automatically, or, semi-automatically (e.g. steps which are triggered by the user and/or steps which involve user-interaction, for example for validating results).
A typical example of computer-implementation of the design and/or simulation method is to perform the method with a system suitable for this purpose. The system may comprise a memory having recorded thereon instructions for performing the method. In other words, software is already ready on the memory for immediate use. The system is thus suitable for performing the method without installing any other software. Such a system may also comprise at least one processor coupled with the memory for executing the instructions. In other words, the system comprises instructions coded on a memory coupled to the processor, the instructions providing means for performing the method. Such a system is an efficient tool for designing a folded sheet object.
Such a system may be a CAD system. The system may also be a CAE and/or CAM system, and the CAD modeled object may also be a CAE modeled object and/or a CAM modeled object. Indeed, CAD, CAE and CAM systems are not exclusive one of the other, as a modeled object may be defined by data corresponding to any combination of these systems.
The system may comprise at least one GUI for launching execution of the instructions, for example by the user. Notably, the GUI may allow the user to trigger the step of providing S10 or S30, and then, if the user decides to do so, e.g. by launching a specific function, to trigger the rest of the method.
The folded sheet object may be 3D (i.e. three-dimensional). This means that the folded sheet object is defined by data allowing its 3D representation. A 3D representation allows the viewing of the representation from all angles. For example, the folded sheet object, when 3D represented, for example during simulation of the folding, may be handled and turned around any of its axes, or around any axis in the screen on which the representation is displayed. This notably excludes 2D icons, which are not 3D modeled, even when they represent something in a 2D perspective. The display of a 3D representation facilitates design or understanding of a simulation (i.e. increases the speed at which designers or engineers statistically accomplish their task). This speeds up the manufacturing process in the industry.
The GUI may be a typical CAD-like interface, having standard menu bars 2110, 2120, as well as bottom and side toolbars 2140, 2150. Such menu and toolbars contain a set of user-selectable icons, each icon being associated with one or more operations or functions, as known in the art. Some of these icons are associated with software tools, adapted for editing and/or working on the 3D modeled object 2000 (folded sheet object) displayed in the GUI. The software tools may be grouped into workbenches. Each workbench comprises a subset of software tools. In particular, one of the workbenches is an edition workbench, suitable for editing geometrical features of the modeled product 2000. In operation, a designer may for example pre-select a part of the object 2000 and then initiate an operation (e.g. a sculpting operation, or any other operation such as a change of dimension, color, etc.) or edit geometrical constraints by selecting an appropriate icon. For example, typical CAD operations are the modeling of the punching or the folding of the 3D modeled object displayed on the screen. The GUI may for example display data 2500 related to the displayed product 2000. In the example of
The client computer comprises a central processing unit (CPU) 1010 connected to an internal communication BUS 1000, a random access memory (RAM) 1070 also connected to the BUS. The client computer is further provided with a graphics processing unit (GPU) 1110 which is associated with a video random access memory 1100 connected to the BUS. Video RAM 1100 is also known in the art as frame buffer. A mass storage device controller 1020 manages accesses to a mass memory device, such as hard drive 1030. Mass memory devices suitable for tangibly embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM disks 1040. Any of the foregoing may be supplemented by, or incorporated in, specially designed ASICs (application-specific integrated circuits). A network adapter 1050 manages accesses to a network 1060. The client computer may also include a haptic device 1090 such as a cursor control device, a keyboard or the like. A cursor control device is used in the client computer to permit the user to selectively position a cursor at any desired location on screen 1080. By screen, it is meant any support on which displaying may be performed, such as a computer monitor. In addition, the cursor control device allows the user to select various commands, and input control signals. The cursor control device includes a number of signal generation devices for input control signals to system. Typically, a cursor control device may be a mouse, the button of the mouse being used to generate the signals.
To cause the system to perform the method, it is provided a computer program comprising instructions for execution by a computer, the instructions comprising means for this purpose. The program may for example be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention may be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The instructions may advantageously be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. The application program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language. The program may be a full installation program, or an update program. In the latter case, the program updates an existing CAD system to a state wherein the system is suitable for performing the method.
The design method is now further discussed.
As explained earlier, the folded sheet object is provided at S10 as data describing panels (representing physical panels, e.g. planar) separated by bend lines (representing bend lines between two physical panels, e.g. straight). Each bend line may be associated to two panels separated by said bend line. Such data may be provided at S10 as geometry and topology. The data may comprise or not comprise information regarding the thickness of the panels of the folded sheet object. In an example, the method is performed as if the physical sheet is made of a zero thickness material. The panels may have any form. The panels may be quadrilateral, e.g. rectangular as on
Now, the folded sheet object provided at S10 is of a specific kind, as it includes at least four adjacent panels forming a cycle and separated by concurrent bend lines, as sheet 400 of
Now, given such information on the folded sheet object, the method determines at S20 a control law linking the angles βi between the adjacent panels of the cycle, as a function of the predetermined angles αi. The angles βi are the angles between two adjacent panels (i.e. angles between two planes intersecting on the bend line separating the adjacent panels, e.g. taken on the side of the planes occupied by the panels). At any time, the folded sheet object may be described, in terms of its position e.g. during folding, by the angles between all pairs of adjacent panels. The method is discussed for the case of one contemplated cycle. But as many control laws as there are cycles (which may generally be one or more) may be determined by the method, and control laws linking other angles, i.e. not belonging to cycles, may also be determined by the method. The way several such control laws are organized and the way to simulate the folding of the whole folded sheet object is however out of the scope of the present discussion, as it may be an implementation detail. The control law determined at S20 is any kind of data that tells how the angles βi (of the contemplated cycle) relate all together. The control law thus corresponds to physical folding possibilities offered for a physical sheet corresponding to the folding sheet object. The control law is provided as a function of the angles αi such that the simulation of the folding necessarily corresponds to what is physically possible.
For example, the control law may fix, given predetermined values for a number of the angles βi between pairs of the adjacent panels equal to the degree of freedom of the cycle, values for the angles βi between other pairs of the adjacent panels. This allows a fast and easy simulation.
Indeed, a cycle may have a degree of freedom, depending on the number of panels the cycle comprises and on the predetermined angles αi between successive bend lines. A bend line is said to be folded when the angle between its two adjacent panels changes. The degree of freedom is the highest number of bend lines (of the cycle) that may be folded separately, in the theoretical case that no constraint exists on the panels except for the fact they are rigid and attached by the bend lines in a rotary way. For example, a cycle of four panels such as cycles comprising panels 1, 2, 3 and 4 of sheet 400 of
As exemplified later, the folding may comprise several (discrete) configurations. A folding configuration is a way of completing the folding of the physical sheet, in the theoretical case that no constraint exists on the panels except for the fact they are rigid and attached by the bend lines in a rotary way. Actually, as known from the packaging industry, a same folded sheet object may be folded in different ways, depending, for a given degree of freedom, on the geometry of the cycle, including the values of predetermined angles αi between successive bend lines. This variety of folding ways leads to different results at the end of the physical folding (until panels stick together and physically block the folding). These different discrete results correspond to so-called folding configurations. Starting from a planar state, for example, given folded sheet object 400 of
As will be exemplified later, the control law may fix, given predetermined values for a number of the angles βi between pairs of the adjacent panels equal to the degree of freedom of the cycle, a value for each angle βi between other pairs of the adjacent panels, for any, several or each respective folding configuration. In other words, the control law may be adapted to the fact that there may be several folding configurations, and the control law may output angles for the angles βi according to any requirements regarding the configurations that may be simulated. This allows any wanted simulation to be feasible.
Referring back to the simulation of the folding of
For example, the folded sheet object may be initially provided as a planar sheet, e.g. having one or more cycles as defined above. Then the user may activate a folding simulation function of the system. Then the user may be asked to apply virtual pressures on panels of the cycles(s), thereby, for each cycle, defining initial values for a number N of the angles (βi) between pairs of the adjacent panels (φ), with N inferior or equal to the degree of freedom of the cycle (N=1 in the case of a cycle of four panels). For example a value corresponding to a predetermined angular delta (e.g. equal to 1°) is set for each angle βi between two adjacent panels for which a pressure is applied to one of the panels (so-called “initial angle”). For example, one of the two panels may be fixed, and the other one, to which a pressure is applied, rotated related to the fixed panel. Alternatively, such values may be defined automatically, in any possible way. In any case, said initial values are provided at S30, and may already define one folding configuration in this example. The simulation method may then, at the determining S40, determine the values for the other angles βi, as explained earlier. Steps S30 and S40 may be repeated, each time adding the predetermined angular delta to each initial angle. The addition of the predetermined angular delta is stopped once two adjacent panels are folded such that one lies on the other. The folded sheet object may be represented, e.g. displayed, throughout such iteration, so that the whole folding procedure may be represented.
As can be seen, the goal of the presented methods is to solve complex cyclic folding with a control law, e.g. by using a closed form formula as discussed later. Thanks to the control law, the folding of the folded sheet object may be easily simulated as explained earlier, by giving a value for some of the angles βi at S30, and deducing at S40 the values of the other angles βi thanks to the control law, possibly automatically.
As mentioned above, for the simulation, the user may be asked to provide authentic design information to the system, at the beginning of the providing S30, e.g.:
choose the initial folding orientation; and/or
if there are more than four bend lines, choose the controlled bend line(s) and define the angle(s) variation(s).
An example where folded sheet 400 of
The method of the example solves the problem of simulating a complex cyclic folding. The solution is to evaluate a mathematical function given by the closed form formula. In other words, no numerical or iterative algorithm is needed, which makes the method simple, fast, and CPU-efficient. Furthermore, as discussed later the method may advantageously reuse the singularity analysis of the closed form formula. This is particularly efficient in packaging design because the planar starting situation is in fact a singular situation from the equations point of view.
The closed form formula implemented by the control law is now discussed for a 4-cycle such as the one of the example of
The geometry of the 4-cycle may be entirely specified by setting angles αi, i=1, . . . , 4 between consecutive bend lines that are provided at S10.
In this example, the cycle has four adjacent panels and the control law comprises the solution of an equation of the type F(ψ,φ)=0. In other words, the control law describes a process that outputs, given predetermined values for a one of the angles βi between pairs of the adjacent panels, referred to as q), the degree of freedom of the cycle being equal to 1, values for the angles βi between other pairs of the adjacent panels, including ψ, said process comprising solving (i.e. outputting the solution of) F(ψ,φ)=0 so as to first determine ψ, and then other angles βi in a straightforward way. Angles ψ and φ are the angles between successive pairs of the adjacent panels. In other words, given a predetermined order between panels (e.g. clockwise or anti-clockwise, given any normal), two successive pairs of adjacent panels are likewise ordered, by the fact that they share a common panel (as they are successive). Referring to
To sum up, given three consecutive panels i, j, k, let angle φ be the angle between panels i and j and let angle ψ be the angle between panels j and k, as illustrated on
The equation (function F) may specifically be:
and αi(i=1 . . . 4) are the predetermined angles between successive bend lines, where ψ is the angle between the pair of the adjacent panels corresponding to α1 and α2, and φ is the angle between the pair of the adjacent panels corresponding to α1 and α3.
Solving F(ψ, φ)=0 with respect to angle ψ yields two closed form expressions of angle ψ with respect to angles φ and αi, each corresponding to a different folding configuration:
In order to capture parameters dependency, ψ+ and φ− are considered as functions ψ+(α1, α2, α3, α4, φ) and ψ−(α1, α2, α3, α4, φ). The formulas that define these functions are valid as long as angles φ and αi are such that c2≦a2+b2. If angles φ and αi are such that c2>a2+b2, there exists no angle ψ such that F(ψ,φ)=0. In such a case, the method may output that the simulation is not feasible. If angles φ and αi are such that c2=a2+b2, then
and ψ+=ψ−=α.
An example of the initial situation when solving the four bend lines complex folding is now discussed.
In the context of packaging design, the starting situation is a flat carton board sheet, meaning that for the folded sheet object:
α1+α2+α3+α4=2π
ψ0=π
φ0=π
Then, b=0 and c2=a2, which makes ψ0=π a double solution. This means that when starting to fold, that is, when changing the value of angle φ0=π into a smaller value φ<π, the two motions φψ+(α1, α2, α3, α4, φ) and φψ−(α1, α2, α3, α4, φ) are possible, corresponding to a respective folding configuration. Consequently, the designer may choose one solution by orienting the folding of one bend line, for example by defining a virtual pressure on a panel adjacent to another panel defined (again by the user) to be fixed. It must be understood that, in the simulation of one folding configuration, after the folding started according to the user's choice, the solution is locally unique and the motion is well defined, as illustrated on
Panels positions may be computed by associating the following xyz axis system to the 4-cycle. The origin of the axis system is the concurrent point of bend lines and the first vector of the axis system is the bend line u0 shared by panels 1 and 2. Bend line v0 is shared by panels 1 and 4. Bend line w0, is shared by panels 3 and 4. Bend line s0 is shared by panels 2 and 3. Axis system, bend lines vectors and panels are illustrated on
At initial flat position, and considering that Σi αi=2π, the coordinates of vectors u0, v0, w0, and s0 are the following.
During the motion, panel number 1 is fixed, meaning that u0 and v0, do not depend on angle φ. Notation R(θ, u) is the rotation defined by angle θ and axis u. Then, as the angle φ changes from the initial value φ=π to a final value φ=φ1, the corresponding motion of bend line w0 is:
w(φ)=R(π−φ,v0)w0
meaning that bend line w0 is rotated with angle it π−φ around axis v0. Similarly, the corresponding motion of bend line s0 is:
s(φ)=R(ψε(φ)+π,u0)s0
meaning that bend line s0 is rotated with angle ψε(φ)+π around axis u0. Symbol ε is + or − depending on the user's initial choice.
It should be noticed that the angle between vector w(φ) and vector s(φ) is equal to α3 for any value of angle φ. This is because the rigidity of each panel is captured by functions ψ+ and ψ−.
The previous process provides exact positioning of all panels. In addition, and for practical reasons, it might be useful to compute angle values between adjacent panels. Panels are numbered 1, 2, 3, 4 according to their respective bend line angles α1, α2, α3, α4.
By definition, angle β1 is the angle between panels 4 and 1, β2 is the angle between panels 1 and 2, β3 is the angle between panels 2 and 3, and β4 is the angle between panels 3 and 4, as illustrated in
Firstly, normal vectors of panels 2, 3 and 4 are computed by using their respective bend lines. Bend lines of panel 2 are u0 and s(φ), so normal vector n2 of panel 2 is the normalized cross product
Bend lines of panel 3 are w(φ) and s(φ), so normal vector n3 of panel 3 is the normalized cross product:
Bend lines of panel 4 are v0 and w(φ), so normal vector n4 of panel 4 is the normalized cross product:
Secondly, a panel is locally considered as an oriented half plane limited by a bend line. In order to capture which side of the half plane includes the panel, a so-called “side vector” is needed. This side vector is defined by the cross product of the normal vector of the panel with the bend line direction oriented according to the local topology. The naming convention is that mij is the side vector of bend line measuring βi with respect to panel j. Since each bend line is shared by two panels, there are eight side vectors.
m11=n1×(−v0)
m14=n4×v0
m21=n1×u0
m22=n2×(−u0)
m32=n2×s(φ)
m33=n3×(−s(φ))
m43=n3×w(φ)
m44=n4×(−w(φ))
Now, cosines of angles β3 and β4 are the scalar products of adjacent side vectors, that is:
cos(β3)=(m32,m33)
cos(β4)=(m43,m44)
In order to determine the signs of sinus values, the so-called “sector” is introduced. By definition the sector of two adjacent panels is the region of 3D space that includes the normal vectors of both panels. Angles βi precisely define these sectors. In fact the so-called “sectors sharpness's” σi, i=1, . . . , 4 are useful. The sector sharpness is the sign of the scalar product of the sum of side vectors with the sum of normal vectors. The sharpness's of interest are:
σ3=Sign(m32+m33,n2+n3)
σ4=Sign(m43+m44,n3+n4)
By construction, if this scalar product is positive (respectively negative), the sector is sharp (resp. non sharp).
Obviously, according to the geometry provided at S10, the control law may thus indicate if an objective of angles βi is possible or not, and determined the remaining angles βi only when it is possible.
The general case when the cycle has more than four panels (four panels or more) is now discussed.
In such a case, the design method may determine at S20 the control law based on the theoretical developments for determining the control law in the case the cycle has four panels. Namely, the determining S20 may comprise partitioning the panels into four groups. In other words, the panels are gathered into groups of at least one panel (depending on the total number of panels of the cycle). Then, for each group which comprises at least two panels, the method may determine a virtual panel that forms a cycle with the panels of the group (i.e. the virtual panel is a theoretical panel that would form a cycle of adjacent panels with the panels of the group), thereby forming a virtual cycle of four adjacent panels (virtual or not virtual) that each correspond to a respective group. In other words, the cycle of more than four panels is assimilated to a cycle of four panels. As a consequence, the determining S20 may easily end by defining equation F defined for the virtual cycle, just like what is performed in the case of four panels (explained above), and the control law determined at S20 may then simply comprise the solution of said equation F.
The relevant point in such a generalization of the four panel case is that the virtual panels are not rigid, unlike the real initial panels of the folded sheet object. Thus, the angles between successive bend lines of the virtual cycle are not necessarily fixed. However, for the purpose of solving F for the virtual cycle, said angles are fixed (thus, the angles between the panels forming a cycle with a virtual panel are set to a determined value at a given time of the simulation of the folding). How to set such angles between the panels is explained later. It is noted that in the implementation of the algorithm, recursion may be used to bring the problem of more than four panels to the problem of four panels, according to the creation of virtual panels discussed here.
The generalization is now discussed with the specific case of a five-panel cycle.
When dealing with a five-panel cycle, the principle is to define an equivalent four-panel cycle and to reuse the previous formulas. This is done by replacing two adjacent panels by an equivalent panel as illustrated in
In order to reuse the four-cycle formula, it is necessary to compute the angle of the equivalent panel according to those of the replaced panels.
Then, the angle δ= of the equivalent panel is given by the following formula:
δ(β,γ,θ)=cos−1(cosβ cosγ+sinβ sinγ cosθ)
Now, when the cycle has more than four panels and a degree of freedom higher or equal to 2 (which is the case of the example now discussed), at least one angle between a pair of adjacent panels may be controlled by a variation law depending on the angle between another pair of adjacent panels. A variation law is thus a function that links two angles βi together, by putting the value of one under the control of the value of the other. Such a variation law may simplify the task of the user when simulating the folding in a case of more than four panels. The variation law may be deduced from physical or machining constraints of the folding.
In the example, during the folding motion, angle θ is controlled by a variation law depending on the driving angle φ. This variation law depends on the folding strategy and may involve the user's decision. This means that angle δ between the two bending lines of the replacing panel is allowed to change during the motion. Collecting all data in the same drawing yields to
By choosing φ as the driving angle and by noting the variation law θ=θ(φ), the angle δ=δ(α2, α3, θ(φ)) is related to according to the previous formula. Finally, angle ψ is given by the following formula, where ε∈{+, −} depends on the initial choice,
ψ=ψε(α1,δ(α2,α3,θ(φ)),α4,α5,φ)
Generalization to an arbitrary number of bend lines is possible by successively combining pairs of adjacent panels until the resulting number of panels is four.
For example, given a 6-cycle α1, . . . , α6, suppose that angle φ controls the angle between adjacent panels 1 and 6. Let (1,2,3,4,5,6) be the notation for the sequence of adjacent panels. According to the user's defined folding strategy, panels 2 and 3 are replaced by an equivalent panel, noted (2,3). This requires a variation law θ1=θ1(φ) for controlling the angle between panels 2 and 3 and this introduces angle δ1(α2, α3, θ1(φ)) between the bend lines of the equivalent panel (2,3). This reduces the number of adjacent panels from six to five, and the new sequence is noted (1, (2,3), 4,5,6). Then, following the user defined folding strategy, adjacent panels 4 and 5 are replaced by an equivalent panel, noted (4,5), thus requiring another variation law θ2=θ2(φ) for controlling the angle between panels 4 and 5 and introducing angle δ2 (α4, α5, θ2(φ)) between bend lines of the equivalent panel (4,5). This is represented on
Now the number of adjacent panels is four, the new sequence is noted (1, (2,3), (4,5), 6), allowing the following formula for controlling the angle between panel 1 and panel (2,3).
ψ=ψε(α1,δ2(α2,α3,θ1(φ)),δ2(α4,α5,θ2(φ)),α6,φ)
The process of replacing a pair of adjacent panels by an equivalent panel may involve another equivalent panel. For example, after panels 2 and 3 are replaced by an equivalent panel (2,3) like in the previous example, meaning that the sequence is (1, (2,3), 4,5,6), the folding strategy could replace adjacent panels (2,3) and 4 by an equivalent panel, noted ((2,3), 4), as shown on
The corresponding sequence is (1, (2,3), 4,5,6) and the formula for angle ψ is
ψ=ψε(α1,δ2(δ1(α2,α3,θ1(φ)),α4,θ2(φ)),α5,α6,φ)
Angle ψ drives the angle between panel 1 and panel ((2,3), 4).
The teachings of all patents, published applications and references cited herein are incorporated by reference in their entirety.
While this invention has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
13305841 | Jun 2013 | EP | regional |
Number | Name | Date | Kind |
---|---|---|---|
8830223 | Evans | Sep 2014 | B2 |
20080065359 | Rudolph | Mar 2008 | A1 |
20100138021 | Hindman | Jun 2010 | A1 |
20120158369 | Bachrach | Jun 2012 | A1 |
Entry |
---|
Kato, J. et al., “Automatically Making Origami Diagrams ”, Graphics Recognition, Recent Advances and New Opportunities [LNCS], pp. 1-8 (Sep. 20, 2007). |
Mullineux, G. and Matthews, J., “Constraint-based simulation of carton folding operations”, Computer Aided Design, 42(3): 257-265 (Mar. 1, 2010). |
Zarkandi, et al., “Singularity Analysis of Single-DOF Spherical Mechanisms Using Instantaneous Poles”, IJRRAS, 5(1): 35-42 (Oct. 2010). |
Chiang, C.H., “Kinematics of spherical mechanisms,” Cambridge University Press, (Cover Page and Table of Contents) (1988). |
Esko ArtiosCAD User Guide, 963 pages; Jun. 2012: http://help.esko.com/docs/en-us/artioscad/12/userguide/pdf/EAC12—UserGuide—en-us.pdf. |
EPO Search Report (dated Oct. 23, 2013) in EP Application No. 13 30 5841, 1 page. |
Number | Date | Country | |
---|---|---|---|
20140379111 A1 | Dec 2014 | US |