HK1193066B - Method and system for designing and producing a user-defined toy construction element - Google Patents
Method and system for designing and producing a user-defined toy construction element Download PDFInfo
- Publication number
- HK1193066B HK1193066B HK14106633.4A HK14106633A HK1193066B HK 1193066 B HK1193066 B HK 1193066B HK 14106633 A HK14106633 A HK 14106633A HK 1193066 B HK1193066 B HK 1193066B
- Authority
- HK
- Hong Kong
- Prior art keywords
- user
- volume
- digital representation
- coupling
- elements
- Prior art date
Links
Description
Technical Field
The present invention relates to designing and manufacturing of user-defined toy construction elements connectable to pre-manufactured toy construction elements of a toy construction system, each pre-manufactured toy construction element comprising coupling elements for coupling the pre-manufactured toy construction element with one or more other pre-manufactured toy construction elements of the toy construction system.
Background
Various types of construction model concepts for physically constructing toy sets are known. In particular, the concept of using modularity or semi-modularity is very popular. Generally, these concepts provide a set of pre-manufactured toy building elements, which may be interconnected with each other in some predetermined manner. To this end, each toy building element comprises one or more coupling elements for interconnecting the toy building element with other such toy building elements. Examples of such systems of toy building elements include plastic toy building elements available under the trade name LEGO.
Although offering a great deal of flexibility, such toy construction model systems are limited to pre-manufactured toy construction elements. It is thus desirable to enable a user to design and manufacture his or her own user-defined construction elements which can be interconnected with pre-manufactured toy construction elements of a toy construction system, thereby allowing the user of the toy construction system to construct more types of construction models. Manufacturing methods, commonly referred to as 3D printing, are known. The term 3D printing generally refers to additive manufacturing technology (additive manufacturing technology) in which a three-dimensional object is formed by laying down successive layers of material. The 3D printing method is typically based on a 3D computer file or other digital representation of the holding space to be filled with material.
An apparatus for performing such a 3D printing method is generally called a 3D printer. 3D printers are typically faster, less expensive and easier to use than other additive manufacturing techniques. More recently, 3D printers have provided product developers the ability to print parts and components made from multiple materials with different mechanical and physical properties in a single build process. Advanced 3D printing techniques are used to make models that can be used as prototypes for products. Although 3D printers used in professional product development are advanced and expensive, recently smaller and less expensive 3D printers have been developed, which are even suitable for personal use.
For the purposes of the present description, the term "automated manufacturing" is intended to include 3D printing and other manufacturing techniques that allow for the automated manufacture of 3D objects based on digital, computer-generated illustrations of objects. It should be understood that the term "automated manufacturing process" refers to a manufacturing process that is performed at least in part by an apparatus in an automated manner; however, any such method may include one or more manual steps performed by a user, such as manual control of the device, such as a finishing step of cleaning, polishing, and/or the like.
It is generally desirable to provide a method and system that provides a tool for designing and manufacturing customized articles that can be used with existing components of a toy construction system to construct customized toy structures.
The user of such a toy building system may be of any age and training level. It is therefore desirable that the method and system do not place particular demands on the level of training of the user or the skill level of the designer.
It is further generally desirable that such methods and systems are not too expensive for the typical user of toy construction systems that include educational, inspirational and/or entertaining elements.
It is further generally desirable that user-defined building elements can be used in combination with pre-manufactured building elements without the user having to perform the relevant assembly and adjustment work.
Disclosure of Invention
Disclosed herein is a computer-implemented method of generating a digital representation of a user-defined construction element connectable to one or more pre-manufactured toy construction elements of a toy construction system, each pre-manufactured toy construction element comprising a plurality of coupling elements for connecting the pre-manufactured toy construction element with one or more other pre-manufactured toy construction elements of the toy construction system, the method comprising
Determining one or more locations for placement of one or more coupling elements to be included in the user-defined building element;
receiving input representing a user of a user-defined shape;
generating a digital representation of a user-defined construction element from at least the user input and the determined one or more locations, the user-defined construction element comprising the one or more coupling elements at the determined one or more locations;
providing a digital representation for automatically manufacturing the user-defined construction element.
Thus, a user-friendly and efficient method is provided which ensures compatibility of the finally formed user-defined building element with pre-manufactured building elements of a toy building system.
An embodiment of the manufacturing method for manufacturing a user-defined building element based on the generated digital representation may thus comprise selecting a coupling type and position according to the building system, defining the shape of the article in digital form resulting in a digital representation of the user-defined building element and sending it to a 3D printer or other device for automatic manufacturing of the 3D object. The user-defined elements thus manufactured may then be incorporated into a model with pre-manufactured items.
The generated digital representation may include any suitable data structure suitable for describing a 3D item. It will be appreciated that some embodiments of the method may comprise generating different types of digital representations of the user-defined construction element, for example a first representation adapted for displaying the item on a computer and for allowing a user to manipulate and edit the 3D shape by means of suitable 3D design software. The method may comprise converting the first digital representation into a second digital representation, the second digital representation being adapted as an input to an automated manufacturing method, for example to a 3D printer.
In some embodiments, the numerical illustration does not indicate a volume to be occupied by a material, such as plastic or other material suitable for use in an automated manufacturing process.
The user-defined construction elements may have any size and shape manufactured by an automated manufacturing method, wherein the coupling elements are of a type and positioned at a location compatible with the toy construction system. In particular, the user-defined building element may have a shape that is different from the shape of the pre-manufactured toy building elements of the toy building system.
The pre-manufactured building element may be any toy building element having coupling elements allowing the pre-manufactured building element to be interconnected with other pre-manufactured toy building elements of a toy building system for building a toy model from the pre-manufactured toy building elements. The coupling element may thus have any suitable type of coupling element that allows the building elements to be interconnected, e.g. by friction, a latching function or using different coupling principles. The coupling elements may be used for releasable interconnection of toy building elements in order to allow easy disassembly of the building toy model and reuse of the same elements in different models. When the coupling elements are arranged in a uniform manner according to a set of rules, e.g. on grid positions of a uniform 3D grid, the toy building elements may be interconnected in many different ways. Other rules for arranging coupling elements may include the positioning of different types of coupling elements on different faces of a building element, thereby for example defining a bottom face and a top face of the building element, wherein the bottom face comprises a first type of coupling element and the top face comprises a second different type of coupling element, for example such that the second type of coupling element is connectable to the first type. Similarly, the coupling elements may have coupling directions associated with them, and the coupling elements may be arranged such that the coupling directions of at least a subset of the coupling elements of the building elements (e.g. coupling elements on the same face of a multi-faced building element) are oriented in a uniform direction.
The generation of the shape of the user-defined design method may allow the user to freely design the shape, wherein the method ensures and/or verifies that the coupling element positioning is according to rules for arranging coupling elements in a toy construction system. In addition, the method may ensure and/or verify that additional design constraints exist. For example, the automated manufacturing process may impose a number of design constraints, such as with respect to the size of the article that may be manufactured, minimum and/or maximum wall thicknesses, minimum or maximum radii of curvature of the edges, and the like. Similarly, the toy construction system may also impose additional design constraints. In particular, each type of coupling element may have one or more associated design constraints in order to ensure that the coupling element may actually be coupled to another coupling element.
At least a first design constraint associated with each coupling element may include defining a first volume associated with each coupling element; and enforcing the first design constraint may include generating a digital representation representing a volume of the element including the first volume. Thus, the method ensures that the user does not remove any necessary parts of the coupling element.
Similarly, at least a second design constraint may include defining a second volume associated with the coupling element; and enforcing the second design constraint may include generating a digital representation representing the volume of the element excluding the second volume. Thus, the user effectively prevents any free space required by a coupling element to be connected with another coupling element from being filled or blocked.
Typically, enforcing the design constraints may comprise generating a digital representation of a user-defined construction element having a modified shape determined from the user input and the design constraints and comprising the one or more coupling elements at the determined one or more positions.
In some embodiments, the method may implement additional or alternative design constraints. For example, one design constraint may suggest a minimum number of coupling elements to be included in a building element. Another example of a design constraint may suggest a minimum distance between the coupling elements, where the minimum distance may be a function of the respective type of coupling element. Other design constraints may present alternative or additional constraints related to the number of coupling elements or their relative orientation arrangement. Some design constraints may be based, for example, on estimated weights of design elements, or calculations of torques applied by previously placed coupling elements. In another example, a design constraint may be a constraint that enforces a surface on which a certain type of coupling element may be placed. For example, in embodiments comprising coupling elements in the form of protrusions and corresponding cavities (such as described above with respect to figures 3 a-c), the protrusion-type and cavity-type coupling elements may be limited to being placed on opposite surfaces of the building element, thereby defining a top (i.e. upwardly facing) surface and a bottom surface (i.e. downwardly facing). For example, the protrusion may be limited to being placed on the top surface, while the cavity may be limited to being placed on the bottom surface.
In addition to the implementation and/or validation of such design constraints, the degrees of freedom afforded to the user by the computer-implemented method in different embodiments are different, for example based on the skill level, experience, and/or age of the target user. While some embodiments may allow for a large degree of freedom, other embodiments may limit the degree of freedom in various ways, such as by limiting user input selecting a shape from a set of template design elements that may be combined in a variety of predetermined ways.
In particular, in some embodiments, the computer-implemented method provides a set of user-selectable basic shapes and simple and intuitive tools to obtain a quick start of the design method. This computer-implemented design approach may be supported by guidance and automatic checking of formal requirements and rules adopted for adherence to the build system. The inventive part of the design method can be supported by heuristics from ideas and templates of professional designers.
It should be appreciated that the determination of the coupling element position and type may be made prior to receiving user input representing a user-defined shape. For example, the method may first (e.g., based at least in part on user input) the position and optionally the type and/or orientation of the coupling element relative to a suitable coordinate system. The user can then use a suitable design tool to design the shape of the building element with the selected arrangement of coupling elements. Alternatively or additionally, the user may first design the shape, and then the method may determine the position, e.g., based at least in part on the user input, the position and optionally the type and/or orientation of the coupling element relative to the designed shape. It is further understood that the positioning of the coupling element may be performed during the design of the user-defined shape, for example as an integral part of the design step. For example, the user may be given the opportunity to change the position of a previously selected coupling element.
The invention may be implemented in different ways, including the method as described above and the following data processing system, and further in manufacturing implementations, each yielding the advantages and benefits described for at least one of the aspects described above, and each having one or more preferred embodiments corresponding to the preferred embodiments described for at least one of the aspects described above and/or defined in the claims.
It should be noted that the features of the methods described above and below may be implemented in software and implemented in a data processing system or other processing device resulting from the execution of computer-executable instructions. The instructions may be program code loaded in a memory, such as a RAM, from a storage medium or from another computer via a computer network. Alternatively, the features may be implemented by hardware circuitry instead of, or in combination with, software.
Further herein is a computer program comprising program code means for performing all the steps of the method as described above and below when said program is run on a computer. The computer program may be embodied as a computer readable storage medium, such as a data signal embodied as a carrier wave or the like.
Further disclosed herein is a computer program product comprising program code stored on a computer readable medium for performing the method as described above and in the following when said computer program is run on a computer.
Typically, user-defined building elements can be digitally built, designed and prepared by specialized software that supports all stages of the method. Such software may be used for a number of purposes and embodiments of such computer programs may provide the following functionality:
allowing a user to specify the type(s) and setting(s) of coupling element(s) on a user-defined building element;
allowing the user to freely design the shape of the user-defined building element and assisting the user in the method;
interactively visualizing the design building element during the method;
interpreting and/or executing relevant rules of the building system;
it will be driven or otherwise interfaced for direct interoperation with the 3D printer system.
Further disclosed herein are embodiments of a data processing system configured to perform the steps of the methods disclosed herein. The data processing system may comprise a 3D printer or other suitable device for automatically manufacturing the toy building element based on the generated digital representation.
Thus, embodiments of the method and system embodiments disclosed herein allow a user to immediately test and adjust a design in a fast iterative loop; effectively, the manufacture of the physical object is an integral part of the method.
Further, embodiments of the methods and systems described herein provide for inexpensive manufacture of user-defined construction elements, where the cost for manufacturing an item is justified compared to the price of the pre-manufactured item and the model used in conjunction with the item. Furthermore, the cost may be kept rather low in order to allow for multiple iterations for experimentation and adjustment of the design, thereby not limiting the inventive design approach.
In general, embodiments of the method disclosed herein provide a method that ensures that the formed user-defined building element fits with other building elements from the toy building system with respect to the physical characteristics, in particular the shape, size and orientation, of the connecting member. For example, embodiments of the method ensure that the connectors are relatively positioned according to any modular grid or the like defined by the building system. Further, other rules employed by the building system (e.g., orientation of a particular type of connector) may be verified and ensured by embodiments of the methods disclosed herein.
Drawings
Embodiments of the invention will be described in more detail below in connection with preferred embodiments and with reference to the accompanying drawings, in which:
FIGS. 1a-b illustrate a data processing system for generating and operating a digital representation of a user-defined construction element;
FIG. 2 shows a graphical user interface of a data processing system for generating and operating a digital representation of a user-defined construction element;
figures 3a-c show examples of pre-manufactured toy building elements and coupling elements thereof;
FIG. 4 shows a flow chart of a method of generating a digital representation of a user-defined construction element;
figures 5a-c and 6a-b show hierarchical data structures for digitally illustrating building elements and for facilitating implementation of building elements that satisfy design constraints.
Detailed Description
Fig. 1a-b show a data processing system for generating and manipulating a computer readable model of a geometric object.
FIG. 1 shows a schematic diagram of an example of a computer system. The computer system comprises a suitably programmable computer 101, such as a personal computer, including a display 120, a keyboard 121, and a computer mouse 122 and/or other pointing device (e.g., touchpad, trackball, light pen, touch screen, etc.).
The computer system, designated 101, is adapted to facilitate design, storage, operation and output of a user-defined digital representation of a toy construction element. Computer system 101 may be used as a stand-alone system or as a client of a client/server system.
The system further includes a 3D printer 123 or other suitable device connected to the computer 101 for automatically manufacturing the 3D object. It will be appreciated that the 3D printer may also be located at a remote location, for example connected to another computer, and the digital representation (or control code derived therefrom) may be transmitted to the 3D printer via a suitable computer network or other communication means.
FIG. 1b shows a block diagram of a data processing system for generating and manipulating a digital representation of a user-defined toy construction model. The computer 101 comprises a memory 102, which may be implemented partly as volatile memory means and partly as non-volatile memory means, such as Random Access Memory (RAM) and a hard disk. The memory has stored thereon computer program code embodying 3D design application software 110 for, when executed by the central processing unit 103, generating a digital representation of the building element as described herein. Further, the memory has stored therein model data 111, i.e. a data structure representing a digital representation of a physical object, such as a user-defined toy construction element. Examples of data formats for storing user-defined toy building elements include, but are not limited to, any suitable file format for storing 3D shapes, such as meshes, like wavefront. Further examples include data formats illustrating 3D shapes such as volumes, for example voxel based data formats (e.g. RAW, DAT, OpenQVis, Fields 3D). Further, the digital representation of the toy building set may be stored in a data format for storing a tree representation of the construction entity geometry (CSG); this allows the entire design methodology to be stored. For example, such a tree format may be implemented as an XML format illustrating the tree structure and including a pointing device or other reference to a corresponding data file or object (illustrated, for example, in the WavefrontOBJ format) on which the illustration of the basic shape has been stored, on which the CSG tree structure is based.
Further, the memory stores therein data describing the design templates 107, the coupling elements 108, and the design constraints 109.
The design application 110 may comprise functionality for reading and interpreting data structures defining a physical shape, such as a user-defined toy construction element. The design application is operable to read data structures and convert such data structures into a known graphical format for display on a computer display.
The design application further comprises means for translating user interaction actions via the user interface into user commands, e.g. for retrieving template shapes from a library of elements, for placing selected shapes at user selected positions in the modeling environment, for manipulating a digital representation of a user-defined toy construction element, e.g. by implementing rotations, modifying shapes of user-defined construction elements, etc. Along with each command, there may be an associated set of corresponding parameters, such as cursor coordinates relative to a display coordinate system, shape type, and so forth. The design application is operable to modify the data structure of the physical shape in response to a user command. The design application is further adapted to control memory, files, user interfaces, etc.
User 105 can interact with computer system 101 through a user interface 106, which preferably includes a graphical user interface displayed on a computer screen, and one or more input devices, such as a keyboard and/or pointing device.
To load, store, or transfer the digital representation or other data of the user-defined toy construction element, the computer system includes an input/output unit (I/O)104, which optionally provides a plurality of I/O ports, such as serial, parallel, network, wireless, and/or the like. The input/output unit may be used as an interface to different types of storage media and different types of computer networks, such as the internet. Further, input/output units (I/O)104 may be used to exchange data structures with other users, e.g., interactively. Further, the input/output unit may be configured to transmit data to a device for automatically manufacturing the 3D object (e.g., a 3D printer). To this end, the memory may have stored therein a device driver or similar software operable to convert the digital representation generated by the design application software into suitable control code that is interpretable by the 3D object automated manufacturing process.
Data exchange between the memory 102, the Central Processing Unit (CPU)103, the user interface (Ul)106 and the input/output unit 104 may be realized through a data bus 112.
FIG. 2 shows a graphical user interface for designing application software. The user interface comprises a display area 201 displaying a view of a 3D shape 203 illustrating a user defined toy construction element. The shape is shown from a predetermined viewpoint. The user interface further comprises a palette 205 comprising a number of basic shapes 206 that can be selected by the user. For example, a user may click on one of the basic shapes 206 with a mouse, thereby selecting the shape, and drag the selected shape into the display area 201 to reach a desired position. Additionally, the user interface may include one or more other palettes that allow the user to, for example, select a coupling element.
The user interface further comprises a menu bar 207 comprising a number of menu buttons 208 for activating various functions or tools. For example, the toolbar may include a rotating tool for changing the virtual camera position, thereby allowing the user to view shape 203 from different directions. The menu bar may further include a zoom tool for zooming in/out the 3D shape. Other examples of tools include a drawing tool for outlining a physical shape, a combination operation tool for combining different shapes, an eraser tool for erasing a user-selected portion of a shape, and the like.
The menu bar 207 may further provide standard functions, such as functions for storing data structures, opening previously stored data structures, printing images of user-defined construction elements, assisting functions, selecting a 3D printer, initiating a 3D printing method, etc.
Figures 3a-c show examples of building elements and coupling elements thereof.
Figure 3a shows a perspective view of the building element 301. The building element 301 has a top surface 302 with eight studs 303a-h, which studs 303a-h can engage corresponding holes of another building element, for example on the bottom surface of the other building element. Accordingly, the building element 301 comprises a bottom surface (not shown) with corresponding holes. The building element 301 further comprises a side 304, which does not comprise any coupling elements.
In general, the coupling elements may be grouped into different categories of coupling elements, such as fittings, receptacles, and hybrid elements. The joint may be received by a receiver of another building element, thereby providing a connected coupling element between the building elements. For example, the fitting may fit between components of another element, fit into a bore, or the like. The receiver is a coupling element that can receive a connector of another building element. The hybrid elements are parts that can be used as receivers and connectors, usually depending on the type of mating coupling elements of other building elements.
Figure 3b shows a perspective view of the building element 310 from below. The building element 310 has non-rectangular top and bottom faces. The bottom face comprises holes 311, 312, 313 for receiving corresponding studs of one or more other building elements, such as the building element of figure 3 a. The hole is defined by edge 314, by second pin 315, and corners 316 and 317. The properties of all the above elements thus determine the connection properties of the bottom face of the building element 310.
Figure 3c shows two building elements 331 and 332. The building element 331 is a building block with four studs 333 on its top face and four corresponding holes on the bottom face (not shown). The building blocks 332 are examples of building elements having surfaces comprising planes that are not mutually orthogonal. In particular, the building element 332 has an inclined face 334. As shown in figure 3c, in its current position the building elements 331 and 332 are not connected, because in the shown position there are no coupling elements engaged with each other.
It will be appreciated that the building elements and coupling elements thereof described above are only used as examples of possible building elements and possible coupling elements.
FIG. 4 shows a flow chart of a method for manufacturing a user-defined construction element. The method comprises an initial sub-method of generating a digital representation of a user-defined construction element, followed by a step S404 for manufacturing the user-defined construction element based on the generated digital representation.
The sub-method of producing the digital representation may be implemented in software executing on a data processing system, such as a suitably programmed general purpose computer.
A sub-method of producing a digital representation comprises an initial step S401 of selecting one or more coupling elements from a set of available types of coupling elements, and selecting a position and orientation (e.g. relative to a suitable coordinate system) for each selected coupling element. For example, the method may define a discrete 3D grid with respect to a coordinate system. Some or all of the grid points of the grid may illustrate the effective positions for the coupling elements. For example, the 3D mesh may have the form of parallel planes, each plane comprising a 2D mesh, the 2D meshes each being a rectangular or square mesh. The 2D meshes of the planes may be aligned with each other. It will be appreciated that the selection of the coupling elements and their positions and/or their orientations may be based at least in part on the respective user selections. For example, the user may be provided with a function for selecting the type of coupling element. To this end, the data processing system may include a database 411 or other suitable repository of numerical representations of the respective coupling elements. The database 411 or other repository may be stored in the memory or other suitable storage device of the data processing system. Similarly, the user may be provided with functionality for selecting a location for placement of a selected coupling element. The method may automatically restrict the selectable positions of the grid points with respect to the 3D grid. Similarly, the user may be provided with functionality for selecting the orientation of the selected coupling element. The method may automatically limit the orientation to discrete directions, for example, relative to a coordinate system. A graphical depiction of the selected linkage element may be displayed at the selected location in a display area of a user interface of the data processing system. The digital representation 410 of the coupling element, its position and orientation, may be generated and stored in a memory or other storage medium of the data processing system.
In general, in some embodiments, the method may provide functionality for allowing a user to initially specify connectors that connect the user-defined construction element to one or several of the pre-manufactured construction elements. This can be done in a number of ways.
In some embodiments, a user may select one or a few examples from a set of linking elements maintained by a data processing system that are known to be used for 3D printing in general, or for a particular 3D printing system at hand in particular. The system may then assist the user in placing these connectors according to the rules set forth by any type of grid and construction system. For example, for a modular building system sold under the trade name LEGO, the connectors will be placed horizontally according to one grid and vertically according to another grid, and some coupling elements may be limited to a specific orientation, e.g. the nose always faces upwards, etc. Alternatively or additionally, the user may select a coupling element from a set of coupling elements to which the user-defined construction element will be attachable. The method may then automatically select the appropriate type of mating coupling element and allow the user to place the mating coupling element.
Alternatively or additionally, the data processing system may provide functionality allowing a user to input a digital representation of a toy model built with the building elements of the toy building system. The digital representation of the toy model may be generated using any suitable method, such as the method disclosed in WO 2004/034333. An example of a suitable digital modular tool that is commercially available is available under the trade name LEGODigitaltesigner. In particular, such a digital model may comprise a representation of the positions and types of coupling elements of the building elements used for building the input model. The input model may then illustrate the base to which a new user-defined building element should be attachable. Thus, the method may identify an exposed coupling element of the input digital model to which a coupling element available for a user-defined construction element may be attached. The method may then provide the function of allowing the user to select one or more identified exposed coupling elements to which the user-defined building element should be attachable. The method may then determine the type, position and orientation of the coupling element that is connectable to the user-identified coupling element of the input digital model.
One example may be a model train for which a user wishes to form a new, streamlined front; the user can set up the entire locomotive in the LEGODigitatalDesigner and leave the space and nose open for attaching the new front. Effectively, since LEGODigitaltDesigner already ensures model compatibility with the construction system, the selected set of connectors will already be properly aligned and oriented with respect to the associated grid and rules.
In step S402, the method provides the user with a function allowing the user to design the shape of the building element. For example, the user may be provided with functionality for selecting a building element template. To this end, the data processing system may include a database 412 or other suitable repository of digital representations of respective design templates of the building elements and/or building element components. Database 412 or other repository may be stored in a memory or other suitable storage device of the data processing system.
The method may display a graphical depiction of the selected template and the selected join element in a display area of a graphical user interface of the data processing system. The method may further provide functionality that allows the user to modify the shape, such as various drawing and design tools known in the art. Alternatively or additionally, the user may be provided with functionality for designing new shapes without initially selecting a template.
In general, when choosing the placement of the coupling element, a high degree of freedom is provided for the user to easily design the actual shape of the new building element in such a way that: intersecting them with the coupling elements so that they form a single connected solid geometry that is easy to print. For example, the method may generate a voxel structure (voxelstrecture) illustrating a user-defined shape. Based on the voxel structure, the method may then determine (e.g., by a shading algorithm) that the shape has a single connected geometry. Further, the method may use a thinning program or similar morphological operations to identify thin/weak portions of the geometry. The design may be a freeform method using techniques known in the art, such as techniques known as computer-aided design (CAD) systems and/or modular programming. In some embodiments, the method may provide a set of predetermined shapes, including basic shapes (boxes, spheres, toroids, cylinders, etc.) and more detailed ornamental and pre-designed templates. The user must be able to modify such items by placing, rotating, zooming, and other ways that may change shape; the method may provide the functionality of a freehand sculpting mode in which a user can easily push, smooth, magnify, contract, and/or otherwise manipulate a particular portion of the shaped surface with a hand (mouse), much like working directly on, for example, a plaster model. Further, the method may allow for the input of shapes from arbitrary 3D models (e.g., downloaded from the internet).
The method may further provide functionality that allows a user to combine shapes to form more complex shapes; in this way, even an untrained user can quickly build a desired building element by combining basic and predetermined shapes, without the need for skills to construct individual shapes or to construct individual shapes. Examples of functions that provide for easy use of shapes that allow a user to combine multiple sub-shapes into a building element will be described in more detail below.
The method may store the altered digital representation 410 of the shape altered and/or designed by the user, including the selected coupling elements in the memory or other suitable storage device of the data processing system.
It should be understood that even though steps S401 and S402 are shown as separate steps in fig. 4, they may be combined into a single step or performed in a different order. For example, one approach may allow a user to edit a user-defined shape before and after selecting and positioning a join element.
During step S403, the method verifies whether some predetermined design constraints are met. To this end, the data processing system may include a database 413 or other suitable repository of design constraints. Database 413 or other repository may be stored in a memory or other suitable storage device of the data processing system. If the method determines that one or more design constraints are not satisfied, the method may inform the user of the relevant design constraints and optionally provide guidance on how to satisfy the relevant design constraints. Alternatively or additionally, the method may automatically modify the shape of the user design for execution to meet the design constraints. Changes made by user modifications in response to an unsatisfied design constraint being alerted and/or changes made due to automatic execution of a design constraint result in modification of digital representation 410. Further, the method may display a graphical illustration of the changed shape, optionally with the changes made appropriately highlighted.
The method may provide functionality for retaining a shape designed by the user, optionally including options to retract and adjust or cancel portions of the design method, and handling requirements for more contouring of the selected connector, which is ultimately also part of the designed shape. Examples of design constraints associated with the coupling elements will now be described in more detail.
In some embodiments, the method may implement a set of design constraints by generating a hierarchical combination of geometric shapes, illustrating user-defined and/or user-selected shapes and shapes associated with respective join elements (e.g., a common set operator using union, intersection, and/or difference sets) to define relationships between the shapes and the sub-shapes that make up them. To this end, the method may employ a technique known as Constructive Solid Geometry (CSG). Typically, CSG allow users to "add" two shapes together or "subtract" one shape from the other (using a union and difference set operator and/or an intersection operator).
In the following, and with reference to the examples shown in fig. 5 and 6, the implementation of the design constraints associated with the coupling element will be illustrated. It is noted that figures 5 and 6 show the geometry in the form of a two-dimensional cross-section. However, it should be understood that the principles discussed are also applicable to 3D models. Further, fig. 5 and 6 show specific examples of coupling elements and user-defined shapes. However, it should be understood that the method of enforcing constraints through the defined set relationships between shapes and sub-shapes may also be applicable to other types of coupling elements and/or user-defined shapes.
In the example shown in fig. 5a, the user has chosen to add a basic rectangle 501 to an ellipse 502, resulting in a more complex solid shape 503 with curved and straight edges. In 3D, the rectangle may correspond to a block, the ellipse corresponds to an ellipsoid, and the edge corresponds to a surface in 3D.
The method may maintain a hierarchical structure, for example in the form of a CSG tree, defining the original basic shape (and its layout, scaling, etc.), and a selected operator combining them, which in the example of fig. 5a is a union operator.
In general, embodiments of a method for generating a digital representation of a user-defined construction element may thereby generate a digital representation of a user-defined construction element in a hierarchical data structure (e.g., a binary tree), where leaf nodes of the tree represent the underlying geometry, and where each node represents a collective operation with respect to its immediately preceding nodes. The root node thus represents the final building element. It is further understood that nodes may have additional attributes associated with them. For example, leaf nodes illustrating a basic shape may have coordinates associated with them indicating the position and rotation of the shape.
In the example shown in fig. 5b, the user has instead chosen to subtract/cut out a rectangle (block) 501 from an ellipse (ellipsoid) 502, resulting in a different more complex solid shape 504.
Thus, a set operator, such as a union and difference set, provides an easy way for a user to use to form, for example, a circular or rectangular hole or a flush rough shaped bottom surface in or through an object.
Again, internally, the method may simply keep a small hierarchical data structure, such as a CSG tree, for the new composite shape 503 or 504, while the method may display the direct geometric result on the screen.
An advantage of hierarchical data structures and set operators such as CSG is that they provide the ability to further integrate shapes that themselves are made up of smaller hierarchies, thereby forming large hierarchies by interactively adding and subtracting them, resulting in very complex shapes. For example, FIG. 5c shows an example where the user chooses to remove a small cylinder 505 from an initial shape 503 formed by adding an ellipsoid 501 and a block 502, thereby forming a small cavity 506 in the upper surface of the final shape 507. It should be noted that by keeping the entire hierarchy including the operations that combine them as an internal illustration, it is easy to later roll back or undo the shape combination or e.g. adjust the position of the initial sphere and just recalculate the final shape.
In an embodiment of the design method for producing a digital representation of a user-defined construction element as described herein, a hierarchical structure, such as a CSG tree, may be used to ensure the order of combination of shapes and thereby effectively insist on the integrity of the originally arranged connectors, regardless of how the user defines the overall shape of the design construction element.
In general, each coupling element may be associated with one or more first volumes (i.e. regions in 3D space) to be filled with material and one or more second volumes that should remain empty.
For example, fig. 6a shows an example of a prefabricated construction element 601, the construction element 601 comprising a coupling element 602 in the form of a pair of protruding arms, each having a hook-shaped transverse projection 604. The mating coupling element (which may be attached to coupling element 602) in the user-defined construction element may, for example, have the form of a cylindrical blind hole or other shape that provides a pair of opposing surfaces with respective flanges that project toward the respective other surfaces. The user-defined building element should thus comprise a suitable structure to which the coupling element 602 can be connected and provide sufficient space in which the coupling element 602 from the pre-manufactured building element can be inserted and the space required for the element of the coupling element 602 to bend.
To this end, the coupling element of the user-defined building element may be defined by a first volume 605 and a second volume 606, said first volume 605 being to be filled with material, allowing the coupling element 602 to grip on the user-defined building element, and the second volume 606 should remain empty, allowing the coupling element 602 to slide into place, including the space required for the connector arm to bend. It is understood that both types of volumes, i.e. one or more volumes that have to be filled with material and volumes that have to remain empty, can also be defined for other types of coupling elements.
By defining the above-mentioned two types of volumes for each type of building element, the method may subsequently enforce the design constraints associated with the coupling element. A coupling element to be included in a user-defined construction element may thus relate to a leaf node comprising two types of volumes as a hierarchical data structure illustrating the user-defined construction elements. The method may further generate a subsequent node that combines the volume associated with the coupling element and the remaining shape. In particular, the first volumes may be combined by a union operation, while the second volumes may be combined by a difference operation.
In particular, the volume associated with the building element may be placed at the root attachment of the tree structure, while all shapes designed by the user are placed in the subtree that is subordinate to the volume associated with the coupling element, thereby ensuring that the solid volume added by the user does not fill the cavity required by the coupling element. Similarly, the method may ensure that the user does not cut off any portion of the coupling element that is required for proper coupling functionality.
Fig. 6b schematically shows an example of a numerical illustration in the form of a tree structure. The tree structure comprises leaves 621, 622, 623, where leaf 621 illustrates the user defined shape, while leaves 622 and 623 illustrate the volume related to the coupling element attachable to coupling element 602 of the pre-manufactured building element 601. Leaf 622 illustrates a first volume that needs to be solid (i.e., filled with material), while leaf 623 illustrates a second volume that needs to remain empty. Even though node 621 is shown as a leaf node, it should be understood that node 621 may be the root of a sub-tree that includes a plurality of nodes illustrating combinations of respective partial shapes that together form user-defined shape 621.
When volume 623 is subtracted from volume 621 (as illustrated by node 624) and volume 622 is added to the formed difference set volume by a union operation (as illustrated by node 625), the formed shape has the form illustrated by volume 626, ensuring that the formed building element can be connected to the coupling element 602. In particular, since the user-designed shape 621 is affiliated with the volumes 622 and 623 that define the connection, the shape 623 is always engraved with the necessary space for the coupling element to be able to slide into place, and the shape 622 is always added material at the edge where it is desired to provide a hinge on which the coupling element 602 can be hinged.
Thus, in a tree structure such as a CSG tree, the coupling integrity of the final shape of the user defined building element can be ensured when the volume associated with the coupling element is applied in the root layer.
It will further be appreciated that the method may include a correlated volume that illustrates the input base model to ensure that no part of the designed item conflicts with the model for which it was designed. Furthermore, the method can calculate the necessary additional free space required for the item to slide into place on the chosen connection to effectively and safely ensure that the user does not make a theoretically suitable but in reality unattainable design.
Referring again to fig. 4, it should be understood that even though step S403 is shown as a separate step in fig. 4, the validation and/or execution of design constraints may be partially or fully integrated into one or both of steps S401 and S402, such as described above with respect to the execution of the operative positioning of the coupling elements relative to the grid.
Upon completion of the design method, the method may send the final digital representation 410 to a 3D printer or another suitable peripheral, for example by responding to a user's command, for automated manufacturing of the building element; or the method may return to step S401, allowing the user to continue the design method. When the user has completed the design method and is ready for manufacturing the designed building element, the exact shape of the building element is illustrated in software as a solid geometric description, e.g. based on a hierarchical data structure as described above. It will be appreciated that the method may store the digital representation in non-volatile memory, on a hard disk or other suitable storage medium.
The software may perform various checks and debugs on the model before sending it to the 3D printer system, some of which may be required depending on the actual 3D printing technique employed.
Many 3D printers manufacture layers of articles by laminating the bottom to the top or the top to the bottom. In both cases of upper (or lower) articulated details (i.e. details that are not connected to the rest of the object until the 3D printing process reaches the layer connecting them), it may be necessary to debug the object to be printed. To prevent such (temporary) segmented and unconnected structures, it may be necessary to add temporary support structures to the model before sending it to the printer, typically tiny columns of material that hold this separate portion of the support structure until printing is complete. The user then removes the support structures and collates the article by hand, for example by cutting or grinding away the remaining studs of the post.
Further, it may be desirable to add support structures during printing to minimize the gravitational forces on various details. The software method may perform these physical calculations with respect to the article prior to printing the object, and the method may specify where and how to include the support structure, either automatically or in cooperation with a user.
The software will also be able to perform other checks of the integrity of the designed article, typically by applying mathematical morphological methods on the geometry, prior to manufacturing the designed article. Such inspection may include detecting (and alerting) for unconnected segments and portions that are too thin to be produced and durable.
Also, mathematical morphological methods can be used to introduce cavities inside very large solid volumes-or to make the entire solid structure into a shell form without modifying any surface portions-in order to reduce material usage, energy usage, manufacturing time and/or price or to reduce weight and strain of the manufactured object. Again, the need and method may vary, depending on the 3D printing technology at hand.
Further, the method may send the digital representation unchanged, after conversion to a different format. The software method may further interact directly with the 3D printer (and its accompanying lower level driver software), including any required interaction with the user (dialog supporting the manual setup process required by the user). This is advantageous because an untrained user may not be able to export a mockup as a file, possibly converting it to another 3D file format that is appropriate for a particular printer, and finally printing it using some third party software. To support untrained users and allow design cycles to be repeated quickly, the entire manufacturing process must be an integral part of the software.
Finally, in step S404, the user-defined construction element is manufactured by a 3D printer or other peripheral. It will be appreciated that variations of the above-described method may be practiced by those skilled in the art within the scope of the present invention. For example, the order of some of the above-described steps may be changed, the steps may be combined, and the like.
Claims (22)
1. A computer-implemented method of generating a digital representation of a user-defined construction element connectable to one or more pre-manufactured toy construction elements of a toy construction system, each pre-manufactured toy construction element comprising a plurality of coupling elements for coupling the pre-manufactured toy construction element with one or more other pre-manufactured toy construction elements of the toy construction system, the method comprising
Determining one or more locations for placement of one or more coupling elements to be included in the user-defined building element;
receiving input representing a user of a user-defined shape;
generating a digital representation of a user-defined construction element from at least the user input and the determined one or more locations, the user-defined construction element comprising the one or more coupling elements at the determined one or more locations;
providing a digital representation for automatically manufacturing the user-defined construction element.
2. The method of claim 1, further comprising, for each coupling element, defining one or more design constraints for the user-defined shape associated with the coupling element; and wherein generating the digital representation includes performing the determined design constraints.
3. A method according to claim 2, wherein enforcing the design constraints comprises generating a digital representation of a user-defined construction element having a changed shape determined from the user input and the design constraints, and comprising the one or more coupling elements at the determined one or more positions.
4. A method according to claim 2 or 3, wherein the digital representation represents the volume of the element to be occupied by the material in order to form a user-defined construction element; wherein at least a first design constraint associated with the coupling element comprises defining a first volume associated with the coupling element; and wherein enforcing the first design constraint includes generating a digital representation representing a volume of the element including the first volume.
5. A method according to claim 4, wherein enforcing the design constraints comprises generating a digital representation of a user-defined construction element having a changed volume occupied by material, the changed volume comprising a union of the user-defined volume and the first volume.
6. The method of claim 2, wherein the digital representation represents a volume of the element to be occupied by the material to form a user-defined construction element; wherein at least a second design constraint associated with the coupling element comprises defining a second volume associated with the coupling element; and wherein enforcing the second design constraint includes generating a digital representation of the element volume excluding the second volume.
7. A method according to claim 6, wherein enforcing the design constraints comprises generating a digital representation of a user-defined construction element having a changed volume occupied by material, the changed volume being determined as a difference set of the user-defined volume and the second volume.
8. The method of claim 1, wherein the digital representation represents a volume of the element to be occupied by the material to form a user-defined construction element; the method comprises the following steps:
obtaining a digital representation of a toy construction model constructed from said toy construction element; and is
Defining a third design constraint for the user-defined shape, wherein the third design constraint comprises determining from the obtained digital representation a third volume representing a volume associated with at least a portion of the toy construction model; and
a digital representation is generated representing the volume of the element excluding the third volume.
9. A method according to claim 1, wherein the digital representation represents the volume of the element to be occupied by material in order to form a user-defined construction element.
10. A method according to claim 1, wherein determining one or more locations for placement of one or more coupling elements to be included in the user-defined building element further comprises selecting a respective type of coupling element for each of the one or more coupling elements from a set of types of coupling elements.
11. The method of claim 1, wherein
Determining one or more locations for placing one or more coupling elements to be included in the user-defined building element further comprises selecting the one or more locations as grid points of a discrete grid of locations for placing coupling elements.
12. The method of claim 1, wherein
Determining one or more locations for placement of one or more coupling elements to be included in the user-defined building element includes receiving user input representing a user selection of one or more coupling elements and corresponding locations, and placing a representation of the selected coupling elements in a three-dimensional view displayed on a display of the data processing system.
13. The method of claim 1, wherein
Determining one or more locations for placing one or more coupling elements to be included in the user-defined building elements comprises receiving a user input representing a user selection of a digital representation of one of a plurality of template building elements comprising a plurality of coupling elements positioned at respective predetermined locations.
14. The method of claim 1, wherein
Determining one or more locations for placement of one or more coupling elements to be included in the user-defined building element comprises:
obtaining a digital representation of a toy construction model constructed from the toy construction element;
selecting one or more coupling elements of the obtained toy construction model to which user-defined construction elements are attachable;
determining the one or more positions for placing one or more coupling elements to be included in the user-defined building element from the positions of the selected one or more coupling elements of the obtained toy building model.
15. The method of claim 14, further comprising
Determining from the detected types of coupling elements of the selected one or more coupling elements of the obtained toy construction model the type of coupling element associated with each determined position.
16. A method of manufacturing user-defined building elements connectable to pre-manufactured toy building elements of a toy building system, each pre-manufactured toy building element comprising a plurality of coupling elements for coupling the pre-manufactured toy building element with one or more other pre-manufactured toy building elements of the toy building system, the method comprising
Generating a digital representation of a user-defined construction element by performing the steps of the method defined in any one of claims 1 to 15;
manufacturing a user-defined building element based on the digital representation.
17. The method of claim 16, wherein the digital representation represents a volume of the element to be occupied by the material so as to form a user-defined construction element, and wherein manufacturing comprises filling at least the volume of the element with a predetermined material.
18. The method of claim 16 or 17, wherein manufacturing comprises a 3D printing process.
19. A data processing system comprising a storage medium having stored thereon a computer program comprising program code means for performing all the steps of any of claims 1 to 16 when said program is run on a data processing system.
20. A data processing system according to claim 19, comprising a 3D printer configured to manufacture a user-defined construction element based on the digital representation.
21. A computer program comprising program code means for performing all the steps of any one of claims 1 to 16 when said program is run on a computer.
22. A data signal embodied in a carrier wave, the data signal comprising program code for performing all the steps of any of claims 1 to 16 when the program code is run on a computer.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DKPA201170361 | 2011-07-05 | ||
| DKPA201170361 | 2011-07-05 | ||
| PCT/EP2012/062975 WO2013004720A1 (en) | 2011-07-05 | 2012-07-04 | Method and system for designing and producing a user-defined toy construction element |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1193066A1 HK1193066A1 (en) | 2014-09-12 |
| HK1193066B true HK1193066B (en) | 2016-12-09 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103764237B (en) | The method and system of toy building elements is defined for Design and manufacture user | |
| US7979251B2 (en) | Automatic generation of building instructions for building element models | |
| US6906712B2 (en) | Automated three-dimensional alternative position viewer | |
| US8374829B2 (en) | Automatic generation of building instructions for building element models | |
| US7952575B2 (en) | Computer-implemented process and system for creating a parametric surface | |
| US20080312764A1 (en) | Methods and systems for explicit representation of composite structures | |
| CN102782686A (en) | Improvements relating to user interfaces for designing objects | |
| Zhang et al. | Functionality-aware retargeting of mechanisms to 3D shapes | |
| Kukreja et al. | A comparative study of VR CAD modelling tools for design | |
| Coward | A Beginner's Guide to 3D Modeling: A Guide to Autodesk Fusion 360 | |
| HK1193066B (en) | Method and system for designing and producing a user-defined toy construction element | |
| Takala et al. | Industrial design based on geometric intentions | |
| Perles et al. | Interactive virtual tools for manipulating NURBS surfaces in a virtual environment | |
| Khoda | Computer-aided design of additive manufacturing components | |
| US12391000B2 (en) | System and method for creating lattice structures | |
| Yarkınoğlu | Computer Aided Manufacturing (CAM) Data Generation For Solid Freeform Fabrication | |
| Weichel | Mixed physical and virtual design environments for digital fabrication | |
| Bircan | Development of a NURBS based adaptive slicing procedure for fused deposition modeling in rapid prototyping applications | |
| Biddle | Simplified computer-aided design software for mass customisation: a thesis presented in partial fulfilment of the requirements for the degree of Master of Engineering in Mechatronics at Massey University, Albany, New Zealand | |
| Spreacker | Design of architectural space through void modeling representations |