Automated production of architectural wood products
By introducing wooden joint design and automation design auxiliary systems into building wood products, the problems of low automation and high cost in the existing technology are solved, and efficient and low-cost customized building wood products are achieved to meet complex space needs.
Patent Information
- Application Number
- CN201980063850.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-09-26
- Filing Date
- 2019-09-25
- Publication Date
- 2024-12-31
- Estimated Expiration
- 2039-09-25
AI Technical Summary
The existing technology has low degree of automation when producing customized building wood products, resulting in high costs and different quality. The existing software solutions require professional knowledge and make it difficult to quickly generate effective solutions, which limits the popularity of customized building wood products.
It adopts wooden joint design and automated design auxiliary systems, and automatically writes machine code through online design and ordering methods, simplifies on-site installation, realizes distributed manufacturing, and improves production efficiency and quality.
It realizes high-quality customized building wood products produced on orders, reduces production costs, improves production efficiency, reduces manual errors and time, and adapts to complex space needs.
Smart Images

Figure CN112771461B_ABST
Abstract
Description
Background Art
[0001] Today, there are two basic market solutions for the production of architectural wood products. These solutions mainly involve the manufacture of pre-determined-size units or the production of customized units using less automated methods. Although the first method may be more economical, actual construction situations often require at least a combination of the two methods when the overall dimensions of the installation site cannot accommodate fixed-size units, which will result in additional costs for design and coordination beyond the purchase and basic installation of the units. Solutions to complex object and space problems, such as designing and coordinating customized architectural wood products within a space, may require the use of sketching and modeling software. Current software solutions may require considerable drafting expertise and familiarity with the design problem. Considering the existing technology, the time and skills required to generate an initial effective solution may become a significant barrier to obtaining customized architectural wood products. The design and production of customized units using non-automated methods is more expensive than automated methods, but the quality may be higher. Therefore, it is necessary to develop an automated design and manufacturing process to create high-quality, made-to-order architectural wood products that are customizable and cost-effective. Summary of the invention
[0002] The present invention discloses a method for constructing a unit, a method for designing a unit, and a computer program product, and specifically discloses a system and method for making custom-sized architectural wood products produced on order, including: design of wood joints, a system for deploying the wood joints in the overall structural design of a single architectural wood product unit, and methods for online design (including automated design assistance) and ordering, methods for automatically writing machine codes, methods for preparing machine parts, and methods for simplifying on-site installation. With automation and generation of digital codes for manufacturing customized building components, this method makes it possible to form a distributed manufacturing center. Compared with traditional custom woodworking shops, through the method, the center can produce customized wood products more efficiently and more effectively with minimal reassembly and / or training. BRIEF DESCRIPTION OF THE DRAWINGS
[0003] Advantages of embodiments of the present invention will become apparent from the following detailed description of exemplary embodiments of the present invention, which description should be considered in conjunction with the accompanying drawings, in which like reference numerals represent like elements, and in which:
[0004] Figure 1 Schematic diagram of the process flow for producing custom-sized architectural wood products made to order;
[0005] Figure 2 is a schematic diagram of an exemplary embodiment of a unit in a process flow;
[0006] Figure 3is a schematic diagram of an exemplary embodiment of a unit with shelves in a process flow;
[0007] Figure 4 is a schematic diagram of an exemplary embodiment of an assembly in a process flow;
[0008] Figure 5 A schematic diagram of an exemplary embodiment for design assistance in a process flow;
[0009] Figure 6 is an exemplary schematic diagram of edge types in a process flow;
[0010] Figure 7 It is a schematic diagram of the types of joints in the process flow;
[0011] Figure 8 It is a schematic diagram of a CNC machine tool (CNC Machine) in the process flow;
[0012] Fig. 9 It is a schematic diagram of the assembly unit in the process flow;
[0013] Fig.10 A schematic diagram of the installation in the process flow;
[0014] Fig.11A A schematic diagram of exemplary items and parameters of the process flow is provided;
[0015] Fig. 11B A schematic diagram of exemplary items and parameters of the process flow is provided;
[0016] Fig. 12A It is a schematic diagram of the coded edge type of the process flow;
[0017] Fig. 12B It is a schematic diagram of the coded edge type of the process flow;
[0018] Fig. 12C It is a schematic diagram of the coded edge type of the process flow;
[0019] Fig.13 A schematic diagram of distributed manufacturing using process flow;
[0020] Fig.14 A schematic diagram of exemplary connection types for a process flow;
[0021] Fig.15 is another exemplary connection type schematic diagram of the process flow;
[0022] Fig.16 is another exemplary connection type schematic diagram of the process flow;
[0023] Fig.17 is another exemplary connection type schematic diagram of the process flow;
[0024] Fig.18 generating schematics for exemplary machine codes in the process flow;
[0025] Fig.19 Schematic diagrams for making pre-programmed and parameterized unit objects in process flows;
[0026] Fig. 20 A schematic diagram of CNC geometry calculation for an exemplary parametric part in a process flow;
[0027] Fig.21 An exemplary joint diagram for each edge relative to the point object spacing in the process flow;
[0028] Fig. 22 is another exemplary joint type schematic diagram of the process;
[0029] Fig.23 is a schematic diagram of an exemplary panel with one edge type and two joint types during the process;
[0030] Fig.24 Schematic diagram of an exemplary interior design product during the process;
[0031] Fig.25A is a schematic diagram of an exemplary building system product;
[0032] Fig.25B is a schematic diagram of an exemplary building system product;
[0033] Fig.25C is a schematic diagram of an exemplary building system product;
[0034] Fig.25D is a schematic diagram of an exemplary building system product;
[0035] Fig.25E is a schematic diagram of an exemplary building system product;
[0036] Fig.25F is a schematic diagram of an exemplary building system product;
[0037] Figure 25G is a schematic diagram of an exemplary building system product;
[0038] Fig.25H is a schematic diagram of an exemplary building system product;
[0039] Fig.25I is a schematic diagram of an exemplary building system product;
[0040] Fig.25J is a schematic diagram of an exemplary building system product;
[0041] Figure 25K is a schematic diagram of an exemplary building system product;
[0042] Figure 25L is a schematic diagram of an exemplary building system product;
[0043] Figure 25M is a schematic diagram of an exemplary building system product;
[0044] Fig.26 is a schematic diagram of an exemplary embodiment of a connector type;
[0045] Fig.27A is a schematic diagram of an exemplary embodiment of a set having 2 layers;
[0046] Fig.27B is a schematic diagram of an exemplary embodiment of a set having three layers;
[0047] Fig.27C is a schematic diagram of an exemplary embodiment of a set having 4 layers;
[0048] Fig.28 Schematic diagrams of exemplary embodiments of different sets;
[0049] Fig.29 A schematic diagram of an exemplary embodiment of a set partitioned into a maximum and minimum number of subsets;
[0050] Fig.30 A schematic diagram of an exemplary embodiment of a collection insert function;
[0051] Fig.31 A schematic diagram of an exemplary embodiment of a collection deletion function;
[0052] Fig.32 A schematic diagram of an exemplary embodiment of a collection editing function;
[0053] Fig.33 A schematic diagram of an exemplary embodiment of a collection editing function;
[0054] Fig.34 A schematic diagram of an exemplary embodiment of a collection editing function;
[0055] Fig.35 A schematic diagram of an exemplary embodiment of a collection editing function;
[0056] Fig.36 A schematic diagram of an exemplary embodiment of a collection editing function;
[0057] Fig.37 A schematic diagram of an exemplary embodiment of a collection editing function;
[0058] Fig.38A schematic diagram of an exemplary embodiment of a collection editing function;
[0059] Fig.39 A schematic diagram of an exemplary embodiment of a collection editing function;
[0060] Fig.40 A schematic diagram of an exemplary embodiment of a collection editing function;
[0061] Fig.41 A schematic diagram of an exemplary embodiment of a collection editing function;
[0062] Fig.42 A schematic diagram of an exemplary embodiment of a collection editing function;
[0063] Fig.43 A schematic diagram of an exemplary embodiment of a collection editing function;
[0064] Fig.44 is a schematic diagram of an exemplary embodiment of a room layout;
[0065] Fig.45 A schematic diagram of an exemplary method for generating a room layout;
[0066] Fig.46 A schematic diagram of an exemplary embodiment of a pre-programmed layout type;
[0067] Fig.47 is a schematic diagram of an exemplary embodiment of a wall layout;
[0068] Fig.48A A schematic diagram of an exemplary embodiment of a method for generating a wall design layout;
[0069] Fig.48B A schematic diagram of an exemplary embodiment of a method for generating a wall design layout;
[0070] Fig.49 A schematic diagram of an exemplary embodiment of a method for generating a collection;
[0071] Fig.50 A schematic diagram of an exemplary embodiment of a method for generating a wall design layout;
[0072] Fig.51 A schematic diagram of an exemplary embodiment of a method for automatically generating a collection design;
[0073] Fig.52 is an exemplary schematic diagram of different sets of fitness scores of individuals;
[0074] Fig.53A is a schematic diagram of an exemplary embodiment of a collection builder function;
[0075] Fig.53Bis a schematic diagram of an exemplary embodiment of a collection builder function;
[0076] Fig.54 A schematic diagram of an exemplary embodiment of the input and output of a collection editing function;
[0077] Fig.55 is a schematic diagram of an exemplary embodiment of a method for solving a design problem. DETAILED DESCRIPTION
[0078] Various aspects of the present invention are disclosed in the following description of specific embodiments of the present invention and the related drawings. Alternative embodiments may be designed without departing from the spirit or scope of the present invention. In addition, well-known elements of exemplary embodiments of the present invention will not be described in detail or will be omitted to avoid obscuring the relevant details of the present invention. In addition, in order to facilitate understanding of the description, several terms used herein are discussed below.
[0079] As used herein, the word "exemplary" means "serving as an example, instance, or illustration." The embodiments described herein are not limited thereto but are merely exemplary. It should be understood that the described embodiments are not necessarily to be construed as preferred or advantageous over other embodiments. Furthermore, the terms "embodiments of the invention," "embodiments," or "invention" do not require that all embodiments of the invention include the discussed features, advantages, or modes of operation.
[0080] In addition, many embodiments are described in terms of sequences of actions to be performed by, for example, elements of a computing device. It should be appreciated that the various actions described herein may be performed by specific circuits (e.g., application specific integrated circuits (ASICs)), by program instructions executed by one or more processors, or by a combination of the two. In addition, these sequences of actions described herein may be considered to be fully embodied in any form of computer-readable storage medium having stored therein a corresponding set of computer instructions which, when executed, will cause an associated processor to perform the functions described herein. Therefore, various aspects of the present invention may be embodied in a variety of different forms, all of which are contemplated to be within the scope of the subject matter claimed. In addition, for each embodiment described herein, the corresponding form of any such embodiment may be described herein as, for example, logic that is "configured to" perform the described actions.
[0081] According to exemplary embodiments, and with reference to the accompanying drawings, systems and methods for automated manufacturing of building wood products may be described. According to exemplary embodiments, such systems and methods may produce higher quality building wood products with greater storage space and customizable sizes at competitive prices. The structural integrity of the product may be improved by designing wood joints and systems for deploying wood joints in building wood product units. Custom-sized wood units may be efficiently created by automatically calculating machine tool code processes for automated part preparation. Thus, custom building products may be produced with efficiencies similar to mass production of units of standard shapes and sizes. Manufacturing may be distributed to a network of regional centers (which may be coordinated or partnered with existing third-party workshops); this may improve transportation cost efficiencies compared to centralized manufacturing centers, and enable companies to more easily expand and adapt to changes in market demand. In addition, the ability to fully automate the manufacturing of custom parts based on custom design parameters may create greater efficiencies by creating and actually applying automated online customer-driven design tools.
[0082] According to an exemplary embodiment, a manufacturing process can automate the creation of high-quality, made-to-order architectural millwork with customizable dimensions. Such a process can be adapted to desired millwork structures, including but not limited to storage cabinets, shelves, free-standing closets, bookcases, storage bins, and vanities. Automated manufacturing processes can have many benefits over conventional industrial batch production methods. For example, manual cutting and measuring in the variable-size millwork creation process can be eliminated, and efficient customer-driven design and installation techniques can be integrated.
[0083] Additionally, the product can have structural benefits compared to conventional solutions. Repeating the proposed design for connecting parts can be time consuming, require skilled woodworkers, and can be cost-prohibitive using conventional custom methods. The design of these connections and the method of integrating them into a large-scale production process with machine precision can provide a higher strength (more durable) product while using less material (more storage space).
[0084] Now turn to the exemplary Figure 1 , 2 , 3, 4 and 5, Figure 1An exemplary diagram of a process flow 100 for making custom-sized architectural millwork products made to order. According to an exemplary embodiment, the process flow may include five major stages: a design stage 110, a review stage 120, an ordering stage 130, a manufacturing stage 140, and an installation stage 160. In an exemplary embodiment, the development of a millwork product may begin with a customer-initiated project and end with the delivery of a coordinated collection of custom millwork units for installation. Moreover, in an exemplary embodiment, the process flow may provide a web-based interface and may allow the customer to drive the design process flow, and the software may generate data and documents for ordering, manufacturing, shipping, and installing the millwork product. Such a process flow may provide an opportunity to reduce overall labor, time, errors, and costs compared to traditional practices.
[0085] The process flow 100 may begin with an option to open the design phase 110 or repair interface 102. The design interface 112 may present an intuitive user interface. The user may then use the user interface to design a project 114, which may provide design assistance to the user. In the next exemplary step, the user may enter project parameters 116 (see FIG. 11 for examples of project parameters), such as desired dimensions.
[0086] Next, the review phase 120 may be initiated. In a first exemplary step of the review phase 120, the software may model the user project 122. Subsequently, the project may be viewed 124. The customer may view the project in a web-based two-dimensional and / or three-dimensional representation. Embodiments may also allow customers to view virtual reality and augmented reality formats. Some customers may be wary of how a piece of furniture looks online and may seek to view the product in person. Virtual reality and augmented reality allow customers to view the project as if they were in their own room or right in front of them. The customer may view the project in its entirety, including all assemblies and units, as well as view each unit individually within a frame. By isolating these assemblies or units, the software may facilitate the use of design aids to adjust parameters such as size and alignment. The customer may then download a custom digital model of the project as a computer-aided design (CAD) file in 2D and 3D formats. This may help coordinate larger projects that may be combined with the unit or assembly. In another exemplary embodiment, a scaled 3D model may be downloaded in a 3D printable format. In another exemplary step of the review phase 120, the customer may view project data 126. The project data may include information for final review and approval prior to ordering, such as a description of each unit and project cost.
[0087] In the next exemplary stage, the product may be ordered (order 132) to initiate the ordering stage 130. When the customer places the order 132, the software may process the order 134. While processing the order 134, the software may save the order to an online account and may also generate assembly data, installation data, order shipping data, order tracking data, drawings, models, and reference instructions to facilitate the assembly 156 and installation stages 160.
[0088] After the ordering phase 130 is completed, the manufacturing phase 140 may be initiated. In a first exemplary step of the manufacturing phase 140, manufacturing data 142 may be calculated. The manufacturing data may be Fig.18 . The manufacturing data may generate a material list 144, generate a machine code 146 for guiding cutting, milling, etching, milling, sawing, bending, forming, welding, pinning, bonding, gluing, tapping, grinding, painting, finishing, lifting, conveying, picking and cutting and / or implement machine operations (e.g., for a CNC machine), may provide assembly data 148, and may provide data to facilitate the installation process. Exemplary assembly data may include data for tracking parts, orienting parts, assembling parts in sequence, picking parts, lifting parts, conveying parts, connecting parts, cataloging unit hardware, identifying unit hardware locations, installing unit hardware, picking units, lifting units, conveying units, finishing units, packaging units, and cataloging unit adjacencies. Examples of data for facilitating the installation process may include data for identifying unit locations within a total design space, (e.g., a kitchen where physical units are compared with automatically generated physical graphics or with visual graphics and models automatically generated on a personal computer or augmented reality device). On-site assembly, and providing on-site installation instructions (e.g., unit installation sequence). Assembly data can be delivered to the manufacturing center in the form of static or interactive text, graphics, and modeling illustrations by various methods.
[0089] Exemplary visualization formats may include automatically generated labels for part identification, orientation, assembly order, and part adjacency indexing. These labels may be automatically printed and may be temporarily affixed to the parts manually or automatically using a machine device. More complex data and instructions may be transmitted to the manufacturing center as a program for an augmented reality device or any other type of graphical user interface. Augmented reality models (or models viewed on other computing devices such as personal computers or mobile devices) and visualizations may provide access to assembly data and may provide manufacturers with the information needed to complete tasks within a single program designed for the assembly of one or more units. This may allow companies to create programs that automatically design and deliver models of customized units to manufacturers, regardless of the manufacturer's experience level in assembling similar units. Some manufacturers may use the model to access limited information, while other manufacturers may use the same model to access more information, thereby increasing their confidence in assembling units. Training manuals for various experiences may be embedded in the assembly data for any given unit. As new manufacturers become familiar with the manufacturing process, errors in the assembly process may be minimized.
[0090] Assembly data may also be electronically transmitted to programmable equipment (e.g., a cart with an electronic display) at the manufacturing center to assist in the molding, assembly, transport, sorting, and shipping of parts and units. Since each part of a project order is unique, identifying, sorting, and tracking parts can be a considerable challenge for custom units. A program may be created for the cart, wherein a display panel may be connected to a slot or container of the cart, and may indicate a location for placing a part with a unique identification mark that corresponds to an identification on the display panel of the cart. After removing the part from a fixture of a CNC machine or assembly station, the part may be quickly placed in a container or slot of the cart. When the part is removed from a lifting device of a CNC machine or assembly station, the part may be quickly placed in a container or slot of the cart. The program may indicate the location of each part in the cart so that the parts may be quickly and orderly picked up from the cart to be placed on a lifting device of another CNC machine or assembled in sequence. For example, a cart may contain parts for two units of a project.
[0091] The parts in the cart may be arranged so that the manufacturer can quickly select parts for a first unit in the order of assembly and then quickly pick up parts for a second unit in the order of assembly. The cart may then be reprogrammed for parts for other units, or for sorting and transporting assembled units to another manufacturing station, such as a finishing station. The software may then use the materials list to order materials 150 (i.e., the materials in the previously calculated manufacturing data 142) for the project. An example of materials used in a process flow is raw materials that are pre-processed into industry standard sizes, such as thin wood boards, wood panels, thin foam boards, thin metal sheets, thin plastic sheets, thin glass sheets, pipes, tubes, and other metal and plastic extrusions.
[0092] In the next step, the material may be delivered from the supplier to a molding location (delivering material 152). At the molding location, the material may be molded (cutting material 154) using, for example, a CNC machine or by other means. Examples of part molding may include cutting, milling, milling, molding, bending, and sawing. After molding, the molded material may be assembled (assembling 156). The molded material may then be finished 158, such as sanding, staining, and painting the assembled unit. The material may be finished before molding, after molding, or not finished at all.
[0093] The final stage may be the installation stage 160. The product may be shipped from the cutting and assembly location to the installation location (shipping 162). Or the product may be stored at a regional manufacturing center or another storage center for easy pickup. In the final step, the customer may install the unit (installation 164).
[0094] Reference now Figure 2 , Figure 3 , Figure 4 and Figure 5 , Figure 2 It can be an exemplary embodiment of a unit in a design process flow. Figure 2 In the example, "w", "d", and "h" may represent the width, depth, and height of the desired object. The client may enter parameters to specify the width, depth, and height, or may use a set of recommended specifications. Figure 3 , an exemplary embodiment of a unit with optional partitions during the design process is shown. Figure 2 In addition to the global parameters shown, each unit can also have internal parameters for adding partitions, drawers, doors, etc. Figure 3 , the spacers can be selected, moved or removed. In addition, the spacers can be copied and other identical spacers can be placed in the design. Figure 4An exemplary embodiment of a collection in the design process is shown. Figure 4 If the units are configured to be combined into interconnected sets, the inner wall 202 may be unfinished and may be equipped with a joint or other means for connecting the two walls.
[0095] According to an exemplary embodiment, the process flow can begin with the design phase, which can include customer-driven design using pre-programmed components. In an exemplary embodiment, the customer can initiate a project, which is defined as one or more units and / or one or more sets of units presented in a three-dimensional web-based graphical user interface (e.g., Fig.11A shown). Figure 5 An exemplary embodiment of a design aid in the design process is shown. Each unit can be added to the web-based 3D model at a default layout position, which is a set of coordinates (x, y, z) defined by the customer relative to an origin or object already located in the model, or by associating one side of the added unit with a selected side of a unit already located in the model to form a layout such as Figure 4 and Figure 5 The collection shown. According to an exemplary embodiment, the formation of collections can allow the software to categorize neighboring units. There is no limit to how many neighboring units exist in a collection. This information can be used to generate customized documentation and links to simplify the installation process.
[0096] According to an exemplary embodiment, Figure 5 As shown, other design assistance features of the graphical user interface may include functions for aligning and setting equal-sized cells. In an exemplary embodiment, the alignment function can facilitate the alignment of two or more sides with parallel planes by identifying a target plane. For each manipulated cell, the function can calculate a value that can increase or decrease its overall size perpendicular to the target plane. In addition, in an exemplary embodiment, another function can recalculate the isovector parameters of the selected cell so that the directions of the parameters are parallel and their sum values are defined by the client.
[0097] According to an exemplary embodiment, at the end of the design phase, the review phase can be initiated. The system can calculate and present two-dimensional and three-dimensional computer-generated visualizations, a list of project parameters (e.g., type of unit, size, number of doors / drawers / shelves), and project costs. Optionally, the customer can download these contents as a file that can be read by computer-aided design software to be integrated into the design of a larger project that requires better collaboration. The project parameters can be saved as a closed proprietary specification of the builder. If the customer accepts, the order processing phase can be initiated. In an exemplary embodiment, order processing can be performed by software that takes the design parameters of each unit as input and outputs a list of machine instructions for automatic cutting of parts in preparation for the manufacturing phase. The machine instructions may include details such as the height and width of each component, the number of components, and the shape of each component. The components can be cut into rectangular shapes. The edges of the components can be cut to form protrusions or holes to connect together so that the edge of one component can be connected to the edge of another component.
[0098] Now refer to the example Figure 6 and Figure 7 , showing different exemplary joint types and edges. Each cell can be a programmed collection of surface and edge types. Figure 6 and 7 As shown, each edge type can be a set of joints. Any type of joint or any combination of types of joints can be considered. Figure 6 Various joint applications are shown, a hammerhead mortise and tenon joint 602, a mortise and tenon joint 604, a splice joint 606, and a mechanical fastener 608. One or more mortise and tenon joints 602 may be used to connect the edges or corners of two components together at a 90° angle. One or more mortise and tenon joints 604 may connect the edge or corner of one component to the interior of another component. One or more splice joints 606 may connect the corner or edge of one component to the corner or edge of another component such that the two components extend along the same plane to form a planar component. Additionally, one or more mechanical fasteners may connect two components, which may be stacked on top of or adjacent to each other such that the surfaces of the two components are parallel and connected.
[0099] Figure 7Various methods for joining two planar wood parts are shown. A 90 degree angle 702 can be formed by using a process similar to dovetail joinery, where the edges of the two parts interlock. A T-joint 704 can be formed by making a hole in the interior of one component and a correspondingly sized protrusion on the edge of the other component, where the edge of one component connects to the center or interior of another component. In addition, a splice joint 706 can connect two planar wood parts of different thicknesses so that the two components extend along the same plane in the form of one component extending from the end of the other component to form a planar component. In addition, Figure 7 Also shown is a method of connecting two parallel planar parts, where one part can have an embedded insert nut 708 and can be connected to the other part with a screw 710 that engages the nut 708. Various other types of joints can be implemented into the components, such as dovetail or tongue and groove joints.
[0100] The number of joints and the spacing between each joint (such as Fig.21 The software can calculate the machine code for all the joints and parts required to form each unit from thin flat sheets and / or boards of non-metallic materials (such as plywood and solid hardwood). The parts can be algorithmically arranged in a two-dimensional plane for mechanical cutting (this function may be called nesting), and the lengths of the parts in the x and y directions of the two-dimensional plane correspond to the dimensions of the physical material. Figure 8 As shown, the software can then output a machine-readable digital file for a computer numerical control (CNC) slotting machine.
[0101] Now refer to the example Figure 8, a CNC slotting machine is shown. The CNC machine tool can have a slotter 802, which can be a main cutting element. The slotter 802 can rotate and can be equipped with a cutting surface. The slotter 802 can be connected to a plurality of guide rails, which can allow the slotter to move anywhere along the platform 804 of the CNC machine tool. A sheet material 806 to be cut is placed on top of the platform 804 so that the slotter can cut any part of the material 806. A single sheet material 806 can be cut into multiple parts 807. A fixed x-axis guide 808 can be fixed to the side of the CNC machine tool. A y-axis track 810 can be vertically connected to the x-axis guide 808, thereby allowing the y-axis guide 810 to move along the x-axis guide 808. A z-axis armature 812 is movably connected to the y-axis guide 810 so that the z-axis armature 812 can slide in any direction along the y-axis guide 810. Since the y-axis guide 810 can also slide along the x-axis guide 808, the z-axis armature 812 can be moved anywhere in the x and y directions along the plane of the platform of the CNC machine tool. In addition, the z-axis armature 812 can move downward in the vertical direction toward the platform 804 and the material 806 to be cut. In this example, the device for supporting the material can be a vacuum platform 804. Other examples of CNC lathes include machine tools with devices for supporting materials and digitally controlling tool movement to form parts of various material types (such as the parts shown in Figure 25), including additive and subtractive manufacturing tool heads. The material support device can also be digitally controlled and can move the supported material in the x-axis, y-axis, z-axis, or any combination of the three when processing or forming materials.
[0102] After cutting, the parts can be removed from the machine tool and assembled. Each part can have an identification tag indicating the unit type and how Fig. 9 Position and assembly sequence as shown. Adjacent parts can be secured together by glue and friction. Lack of rigidity is a common disadvantage of manufactured wood, which can often be overcome by using heavy mechanical fasteners and thicker, higher quality materials. The interlocking joinery in the method of the present invention can produce excellent rigidity with minimal thickness of material, thereby reducing potential time consumption when sending back damaged units while increasing the available storage area for the customer. Parts can be assembled using a single tool (e.g., a mallet) and simple techniques (e.g., hammering). Because complex cuts can be calculated by software and performed by a CNC lathe, less labor skills are required to assemble custom-sized wood products of excellent quality and rigidity.
[0103] Now refer to the example Fig.10 , Fig.11A and Fig. 11B, which shows the assembly process of the collection. Fig.10 As shown, the set 1000 can be a combination of multiple products (for example, a given set 1000 can include a unit 1002 having a door, which itself constitutes a unit 1004, or can include a storage cabinet formed by defining the unit 1002 within the unit 1004, such as a row or column of storage cabinets). During the design stage, the dimensions of the unit 1002 and the unit 1004 can be designed to be similar so that they can be placed adjacent to each other to form a unit. Mechanical fasteners can be used to connect the unit 1002 and the unit 1004. Fig.10 and Figure 7 As shown, the mechanical fastener may be a screw 710 in unit 1002 that engages a corresponding nut 708 in unit 1004. Depending on the size or structure of the unit, multiple mechanical fasteners may be used. In an exemplary embodiment, unit 1002 and unit 1004 may have equal height and depth.
[0104] Fig.11A An exemplary embodiment of a wall mounted storage cabinet 1100 is shown. The storage cabinet may be a combination of multiple units. In this exemplary embodiment, a double cabinet unit 1102 is connected to a single cabinet unit 1104. They may be connected by adhesive, screws and nuts, or any other technique. In addition, a leveling platform 1106 may be placed below the double cabinet unit 1102 and the single cabinet unit 1104. The leveling platform 1106 may be fixedly attached to the unit or may be fixed to the wall.
[0105] Fig. 11B Can be with Fig.11A An exemplary embodiment of unit parameters related to an exemplary storage cabinet unit in the embodiment of the present invention. The design software may record these parameters according to the user's specifications, or some of the parameters may be automatically populated by the software. Potential parameters that may be recorded include the type of unit, width, height, depth, number of peripherals, and adjacencies. The type of unit may be a specific style or may refer to the location or place where it is to be installed. The number of peripherals may include doors, shelves, windows, or other fixtures that may be installed or attached to the furniture. Further, the width, depth and / or height of each peripheral may be included. Parameters for adjacencies may include information about which units may be directly adjacent to or attached to the described unit.
[0106] For example, in Fig.11AIn the embodiment, the double cabinet unit 1102 is adjacent to and attached to the single cabinet unit 1104, so the parameters of the exemplary adjacency of the double cabinet unit 1102 can include information defining the side (e.g., the left side) to which the single cabinet unit 1104 is connected and the connection method (which can be screws and nuts in this exemplary case). The parameters of another adjacency of the double cabinet unit 1102 can define the leveling platform 1106 at the bottom of the double cabinet unit 1102, and can implement the screw / nut connection method. In another exemplary embodiment, the attachment method can be an adhesive, or can be any other attachment method desired. In addition, the adjacency information can be stored or viewed in the form of an adjacency map 1110. The adjacency map 1110 shows which items are attached to each other and their attachment locations. In addition, the adjacency map 1110 can store edge type information.
[0107] In an exemplary embodiment, edge type information may be stored in a 3D model of a cell, such as Fig. 12A , where edges are represented by edge type symbols. Fig. 12A In , an edge can be represented by "e", and the type of edge can be represented by the subscript below e. For example, e 2B can represent a tenon-shaped edge that can be configured to engage a corresponding mortise-shaped edge that is formed by e 2A Indicated by. Fig. 12B As shown, in an exemplary embodiment, the edges may be represented instead of actual graphics of the intended edges. The assembly unit 1200 may be a three-dimensional model showing all edges created and corresponding joints.
[0108] Now refer to the example Fig. 12C , the edge type of the element can be illustrated. The software can automatically calculate the position and type of each component edge. The edge information can then be saved in a format readable by a CNC lathe. A CNC lathe can cut and drill the part. Thus, manual labor such as cutting, drilling or measuring the part can be reduced. In addition, for example Fig. 12C The edge profile of certain parts can refer to the inner surface of the door 1204, and can extend along a portion of the door 1204 to thin a portion of the door 1204 to accommodate the horizontal piece 1202, thereby maximizing storage space. In addition to structural rigidity, edge details can also create a mosaic appearance, such as two edges composed of different materials.
[0109] Automation of manufacturing data (CNC lathe codes, assembly instructions and related project metadata) for customer-defined parameters of custom wood products can enable Fig.1313. The actual implementation method of the distributed manufacturing network shown in FIG. 13. Customer 1302 can place an order through a design interface 1304. As previously discussed, the design interface 1304 can receive customer input and then calculate manufacturing data 1306. The calculated manufacturing data 1306 can be in the form of a code that can be read by a CNC machine. The manufacturing data 1306 can then be sent to a manufacturing center 1308. In addition, the software can also order the required materials, or send a list to the manufacturing center to specify the required materials. Alternatively, the software can send a bill of materials to the center. In another exemplary embodiment, materials can be cut at one manufacturing center 1308 and then sent as flat-packed parts to a center closer to the customer for assembly and finishing. The manufacturing center 1308 can be selected based on the location of the customer.
[0110] By selecting a manufacturing center 1308 that is close to the customer 1302 who places the order, transportation and energy costs can be reduced, and representatives from the manufacturing center can more easily provide on-site assistance during the ordering and post-delivery stages. In addition, the company can contract with an existing regional workshop that already has the skilled labor and / or machinery required to execute the order. Alternatively, the company can contract with a third-party workshop for assembly and provide the workshop with flat-pack parts from a separate one or more mechanical cutting equipment. With minimal reassembly and / or training in manufacturing methods and techniques, these workshops can enter the larger custom wood products market and complete the work without the challenges of drawing, measuring, cutting custom parts, or describing design constraints to customers. In return, the company can gain rapid scalability and adaptability to changes in market demand. The company can develop units and collections of other types of building products in various materials by designing new pre-programmed units and using other types of CNC equipment (such as programmable laser cutters, water jet cutters, and five-axis machines with customized tool heads).
[0111] If desired, the customer 1302 may also select a preferred regional manufacturing center 1308. Representatives of the manufacturing center 1308 may provide services such as direct assistance during the design phase or the installation phase. For example, a representative of the manufacturing center may provide a local installation team to install the units, or the manufacturing center itself may hire one or more experts to install the units or assemblies. The representative may assist the customer with on-site measurements, design selections, and configurations. In addition, the manufacturing center 1308 may have display models of units or assemblies that have already been manufactured, which the customer may choose to view before purchasing or designing their own units.
[0112] The collection of units ordered for the installation phase is shipped to the customer as the project. The unit identification labels correspond to the units displayed in a web-based design model of the project, which the installer can use as an installation aid. For example, Figure 6 Using prefabricated threaded inserts and pre-drilled holes for machine screws, installers can quickly and accurately insert Fig.10 One or more sets of units are aligned as shown. Using these types of fasteners with conventional custom carpentry methods is relatively time consuming and impractical for standard manufactured units that are designed and built without reference to specific adjacent units. On the other hand, in an exemplary embodiment, software functionality can map adjacencies within a set of units and convert that information into machine code that can accurately locate a fastener so that it can be efficiently used.
[0113] Furthermore, in an exemplary embodiment, the project data may be saved in an online account for reordering parts for repairs. Figure 7 As shown in “j4” in Figure 1, mechanical fastener solutions can simplify the replacement process of new parts without causing residual damage to adjacent parts by using typical field unit alignment solutions (nails and wood screws).
[0114] Reference now Fig.14 The exemplary embodiment in Figure 1 shows a mortise and tenon joint. This type of joint can be implemented when two components are connected at a 90° angle. Fig.14 The letter on the A part of Fig.14 1400 corresponds to the letters on the B portion of , so the same letters indicate that the two parts are the same length. The hammerhead tenon 1400 can be shown on part A as a tenon having a neck 1402 and a thicker head 1404. The head 1404 is sized so that it can be received by the upper portion 1414 of the notch 1410. The lower portion 1412 of the notch 1410 can be thicker than the upper portion 1414 so that the lower portion 1412 can contact the neck 1402 of the tenon. Note that in this exemplary embodiment, the hammerhead tenon 1400 is configured to be connected vertically to a horizontal mortise (notch 1410), but other configurations are also contemplated.
[0115] Reference now Fig.15 15, a mortise and tenon joint is shown. A rectangular tenon 1502 on a first part 1500 is sized so that it can enter a rectangular hole or mortise 1504 in a second part 1510. An advantage of the mortise and tenon construction is that the mortise can be located anywhere along the second part, such as in the middle portion. The mortise and tenon construction can be used to secure a shelf, a wall, or any other fixture to the unit.
[0116] Reference now Fig.1616, showing an exemplary embodiment of a joint in the figure, a spliced joint is shown. A small rectangular mortise 1602 on part 1600 can accommodate a correspondingly sized part tenon 1612 on part 1610. In addition, a hammerhead tenon 1604 on part 1600 can accommodate a correspondingly shaped mortise 1614 on part 1610. In addition, a part groove 1606 on part 1600 can accommodate a bump 1616 on part 1610. The two parts can be connected together so that they extend along the same plane. By applying multiple types of connections, such as hammerhead tenons, grooves, and rectangular tenons, the joints may be more stable than traditional joints that use only one type of connection. The two parts can be connected together so that they extend along the same plane and extend toward each other. By applying multiple types of connections, such as hammerhead tenons, grooves, and rectangular tenons, these joints may be more stable than traditional joints that use only one type of connection.
[0117] Now refer to the example Fig.17 , showing a mechanical fastener. Now referring to the exemplary Fig.17 , showing a mechanical fastener. A first part may be provided with an insert nut 1702. The nut may be inserted into a CNC drilled hole 1704. A second part may include a CNC drilled hole 1706 at a corresponding position. A screw is inserted through the drilled hole 1706 in the second part until the screw is threadedly connected with the insert nut 1702 in the drilled hole 1704.
[0118] Now refer to the example Fig.18 , a machine code generation diagram is shown. The process of generating CNC machine code begins with default unit parameters 1802. The customer can select a unit and the software can provide sample unit parameters 1802. The customer can then assign parameters to the unit as needed (assign parameters 1804). Once the parameters are determined, the software can define unit objects 1806, which can be individual units or products. The objects described in this section can be two-dimensional or three-dimensional computer-aided design objects. In the next step, the unit object can be further analyzed to create or calculate one or more part objects 1808. The part objects can correspond to different components of the unit, such as walls, panels, or shelves. When the part objects 1808 are calculated, the part CNC geometry 1810 of each part can be generated, including their edges and dimensions. Fig. 20The calculation of the NC geometry can be further described. In the next step, the software can apply a nesting algorithm 1812 to nest the part NC objects, thereby generating a nested NC geometry 1814. The nesting algorithm can optimize the NC geometry so that the least amount of material is wasted when cutting the part from the sheet. The nested NC geometry can then be written or saved as a NC file (write NC file 1816). The NC file is then sent to the desired manufacturer (NC file 1818). The manufacturer can place material on the NC bed (material on NC lathe 1820), such as a wood board. Finally, the NC file written previously is run on the NC machine (run NC file 1822) to cut the wood board according to the part object geometry calculation and modeling.
[0119] Now refer to the example Fig.19 , Fig.19 How to calculate a cell object is shown. First, a user (e.g., a client or company) can design or draw a new cell 1902 through a design interface. The design interface can present an intuitive interface and can be web-based. In the next step, the software can determine the edge type to be used 1904 and which objects contain edges (edge objects 1906). The software can determine the length of the edge of each part (as determined from cell parameters such as height, depth, and width, cell parameters 1908). The length and direction of the edge of each part can be stored as a vector 1910. The vector can then be used to model parametric points (point objects 1912) of two or three dimensions in order to generate tool path data for each part for forming processing (cutting, etching, milling, milling, sawing, bending or forming) using a CNC machine tool. Data from vectors, point objects, cell parameters, edge types, and edge objects can be compiled to calculate a single cell object 1914. Cell parameters can be defined as range values rather than discrete values, and the cell objects can be stored in computer memory, allowing multiple custom cells of similar types to be generated with minimal input (i.e., simply declaring cell parameters with preprogrammed value ranges).
[0120] Now refer to the example Fig. 20 , Fig. 20 It can be explained as Fig.19 The sequence of NC geometry calculations explained in V 1-3 It is possible to specify vectors representing the length and direction of individual edges of a part. 1-6Can be different point objects that can define the start point, end point, and adjacency of an edge. For example, a first edge with a start point P1 and an end point P3 can be adjacent to a second edge with a start point P3 and an end point P4 (the end point of the first edge is the same as the start point of the second edge). After defining the parameters of the part, P is calculated based on the start point P1. 2-6 In this example, the length of V3 can be equal to the width of the cell and the length of V1 can be equal to the height of the cell. Tool path data for a part can be generated and compiled into a NC file based on an edge type catalog that has its own set of vector, point, edge and joint types. Subsequently, the NC machine can shape the desired edges and joints based on the given NC file.
[0121] Now refer to the example Fig.21 , showing the number of joints per edge relative to the distance between point objects. Longer edges 2102 have a greater average number of joints than shorter edges 2104. The software can calculate the number of joints per edge based on the distance between point objects.
[0122] Now refer to the example Fig. 22 , Fig.23 and Fig.24 , showing a corner joint type. The oblique mortise 2202 on the object 2200 can accommodate the oblique tenon 2212 on the object 2210. Fig.23 and Fig.24 An example of a panel with corner joints is shown. Fig.24 As shown, the corner joint can be realized in a unit with an arbitrary number of sides and a variable angle between adjacent sides. Figure 1 The same process described and outlined in , can create Fig.24 The picture frame shown. The customer can choose any number of sides, any shape or any size for the picture frame. In addition, CNC technology can integrate custom engraving into the surface of the picture frame material.
[0123] Through Figure 1 , 18 19, a customer can use a web-based user interface to design digital surfaces by positioning point objects and declaring edge objects in a three-dimensional graphical user interface. The customer can use interface functions to connect one or more groups of surfaces. The software can calculate the intersections of these surfaces and present the results in the three-dimensional graphical user interface. Other customer input parameters may include the type of building system. The inputs may be referred to as design inputs. Various design inputs allow the software to calculate manufacturing data from pre-programmed and parameterized unit objects. Unit objects may include, for example Fig.25B The structural units in Fig.25H The cover unit and Fig.25I The advantages of these process flows and pre-programmed cells can be illustrated in Figure 25 (AM). These process flows and pre-programmed cells enable customers to construct complex geometric building forms while minimizing the amount of manual measuring, cutting, or assembly required, thereby reducing the time and labor required to complete such tasks.
[0124] The term "building block set" may refer to a customized set of building blocks. For example, Fig.25B 27. The structural unit collection is shown. The structural units in this figure form a complex hyperboloid. The surface (hyperboloid) can have u and v coordinates corresponding to the x and y coordinates of the flat design surface. The flat design surface can be a collection network similar to that shown in FIG. 27. For example, Fig.25B The low-level set in the network can be a combination of regions e1 and e2, where the combination of these regions has width and height parameters. Similarly, Fig.25B The regions c1 and c2 in can represent one set, and the regions a1 and a2 can represent another set. The three sets can be grouped in another set to form a column. Before generating CNC manufacturing data for the unit, the unit and part edge point positions and the length and direction of the vector are calculated by mapping the coordinates from the x and y coordinate system of the flat design surface to the u and v coordinate system of the three-dimensional design surface. Fig.25C A single structural unit is shown. Fig.25C The structural unit in the embodiment can be a collection of assembled parts. In the exemplary embodiment, the unit is a triangle formed by a round tube, a flat plate and a mechanical fastener. The mechanical fastener can be replaced by a welding connection made by a CNC welding machine. The structural unit can be composed of various materials, such as a round tube or a flat plate that can be cut from a raw material using a CNC machine. Fig.25D A cross section of a corner connection structural unit is shown. Fig.25E An assembly of two structural units connected is shown. Fig.25F A cross section of the connection of two structural units is shown. The angle between the two units can vary and can be calculated based on customer defined input. Figure 25G The connections between the structural unit assembly and other building components are shown.
[0125] Exemplary Fig.25H A set of hood units is shown. The hood units are sheets that can be formed from a double-curved surface and can be made up of a set of custom parts that have shapes, dimensions, and manufacturing data calculated from design inputs by software. The manufacturing data can include cutouts, holes, and markings on the parts of the hood unit, as well as locations for connecting the hood unit to other parts, devices, or building components. The parts of the hood device can be cut using a CNC machine.
[0126] Exemplary Fig.25I , Fig.25J , Figure 25K Multiple sets of formwork units are shown. The formwork units can be parts cut by a CNC machine from a thick board (such as a rigid foam) or a thick board of a laminate composite material. One side of the formwork unit part can be cut using a CNC machine so that the cut surface is parallel to one surface of the brick wall, and each brick wall unit can be positioned at a different angle relative to adjacent brick wall units. The reference graphic markings on the formwork units can be used as a guide to position standard size brick wall units, and can be used to communicate dimensional data for brick wall unit cutting, or can be used to calibrate the position of an automatic brick wall laying machine in a physical three-dimensional environment. This can reduce cumulative errors and conflicts caused by differences between the designed virtual models of wall components, and adjustments required to meet other physical building components of other construction methods with different accuracies. Similar to Fig.25B The structural unit shown in Fig.25J The rigid foam units shown in can be designed as low-level assemblies in a network assembly, e.g. Figure 25K The complete assembly of the rigid foam unit shown in . Including the outer edge compound sawing, each route with a brick-marked joint type can be the edge type used in the unit design modeled by the software. The compound CNC sawing angles, as well as the CNC milling machine routing depths of the molded rigid foam unit can be calculated after mapping the x and y coordinates of the unit object in the flat design surface to the u and v coordinates of the 3D design surface. The parts of the foam unit can be glued together with the CNC glue machine.
[0127] Figure 25L A cross section of components of a building system is shown. The building system may be a combination of multiple groups of units defined by design input. A building system may comprise a group of structural units connected to one or more groups of structural units, cover units and / or formwork units.
[0128] Now refer to the example Figure 25M , Figure 25M The connection details between non-parallel building components are shown. The circular tube of the structural unit can be connected to a second part, such as a cover unit, a formwork unit or any building component. The surface normal vector at the connection point with the second unit may not be perpendicular to the central axis of the circular tube.
[0129] Now refer to the example Fig.26 , Fig.26 An alternative embodiment of a splice joint is shown. Fig.26The joint in can connect two components of different materials. Part 2600 can include a part groove 2602 and a protrusion 2604. The part groove 2602 can accommodate the tenon 2612 on the component 2610, and the protrusion 2604 can be inserted into the corresponding protrusion groove 2614. This joint can be used when it is necessary to hide the material of part 2600.
[0130] The following example may illustrate a method for structuring data for solving two-dimensional and three-dimensional design problems. The problem space may be explored manually through an intuitive graphical user interface (which may be web-based) or automatically through a generative design algorithm. The problem space may be structured as a hierarchical network of sets, where sets may represent design elements, such as cells, peripherals of cells, other design elements, such as empty space (required for space planning), and groupings of design elements. These features may show various methods or ways of manipulating different dimensions of the cells or sets. For simplicity and illustration, the following examples may focus on changing only one dimension, such as width, although it may be considered that they may be applied to any other dimension of an object, such as length, height, or depth, as desired. Structuring the problem space in this manner may allow for the cohesion and consistency of modeling design solutions while generating and editing a network of sets. Thus, the function programming for generating and editing sets may be manually invoked by a user through a design interface, or automatically invoked by a generative design algorithm (e.g., a genetic algorithm). One or more of the set segmentation, set editing, and set generation features and functions described below may be used as a set generator function in set generation. In much the same way that design professionals provide clients with recommended design solutions and alternatives, generative design algorithms can provide clients (software users) with suggested designs to consider. Because the underlying structure of the problem space can be the same for both manual and automatic generation and editing of design solutions, clients with limited design experience with the problem space can directly participate in the creative design process.
[0131] Now refer to the example Fig.27A , 27B and 27C, Fig.27A Collections and subcollections may be illustrated as dimensional graphs and hierarchical graphs. Dimension graph 2702 shows the relative dimensional variables of a collection, such as height and width. Hierarchical graph 2704 shows the hierarchical data structure used for each collection network. In this exemplary embodiment, set A may have two free dimensions, such as height and width. Additionally, there may be subcollections on a layer below set A that may share one or more dimensions inherited from a parent collection. The subcollections may also have one or more free dimensions that may be a portion of the corresponding dimensions of the subcollections' shared parent collection. In an exemplary embodiment, the sum of the free dimensions may be equal to the shared parent dimensions. In the example embodiment, set A may have two free dimensions, such as height and width. Additionally, there may be subcollections on a layer below set A that may share one or more dimensions inherited from a parent collection. The subcollections may also have one or more free dimensions that may be a portion of the corresponding dimensions of the subcollections' shared parent collection. In an exemplary embodiment, the sum of the free dimensions may be equal to the shared parent dimensions. Fig.27AIn the exemplary embodiment shown, the heights of Set B, Set C, and Set D are all part of the height of Set A, and their combined heights may be equal to the height of Set A. The widths of Set B, Set C, and Set D may be equal to the width of Set A. Fig.27A Two layers of customized collections are shown, where Collection B, Collection C, and Collection D are subcollections of Collection A. Fig.27B An alternative embodiment is shown in which set D and set E are subsets of set A, and set B and set C are subsets of set E, which is a subset of set A. The heights of set B and set C are each a fraction of the height of set E, and their combined heights may equal the height of set E. Set B and set C may be described as a third level because they are subsets of set E, which is a subset of set A. Fig.27C A configuration with four layers is shown. In this exemplary embodiment, Set F and Set G are subsets of Set C, which is a subset of Set E, which is a subset of Set A. The widths of Set F and Set G can be free dimensions; however, they can inherit the height of Set C.
[0132] Now refer to the example Fig.28 , Fig.28 Collections and subcollections can be shown in three dimensions. The collections and subcollections can be modeled with height, width, and depth. Collection 2802 can include collection A, which can have three free dimensions. Collection A can also include subcollections Collection B and Collection C, as modeled by layered diagram 2804. Three-dimensional subcollections can have one free dimension and two inherited dimensions. Collection B and Collection C of collection 2802 can share the width and depth of Collection A, while having a free height. In this exemplary embodiment, the combined height of the subcollections Collection B and Collection C is equal to the height of Collection A.
[0133] Set 2806 may include a third layer, where subsets Set D and Set E may be subsets of Set B, as modeled by layered graph 2808. Subsets Set D and Set E share a height and depth with Set B, and their combined width may be equal to the width of Set B. Set 2810 may include a fourth layer, where subsets Set F and Set G are subsets of Set D, which is a subset of Set B, which is a subset of Set A, as modeled by layered graph 2812.
[0134] Now refer to the example Fig.29 , Fig.29An example of how the algorithm calculates range values for collection variables is shown. For example, the algorithm may determine the maximum and minimum height, width, or depth of a dimension of a collection. In an exemplary embodiment, the algorithm may calculate a maximum subset width 2904 using the total set width 2902. Additionally, the algorithm may calculate a minimum subset width 2906. The determination of the maximum and minimum subset widths may allow the algorithm to determine the maximum or minimum number of subsets that each subset can accommodate.
[0135] Now refer to the example Fig.30 , an implementation of the collection editing function can be illustrated. In this exemplary illustration, set A can have three sub-collections, and the user can add a fourth sub-collection. It should be understood that in this example and all subsequent examples of the collection editing function and the collection generation function, the automated algorithm can replace the user, where the parameters and decisions are determined probabilistically or heuristically. The user can click on the insertion position 3002 to select the location where the additional collection is to be inserted. In this exemplary case, the user selects the insertion position 3002 between the collection C and the collection D, and the additional collection E is added. It is conceivable that the user can select one of any number of possible insertion positions, such as a position between the collection B and the collection C. If the user attempts to insert a collection in a dimension where the maximum number of collections has been reached, an error message may appear to explain to the user why no additional collections can be added. If the sum of the minimum widths of the collections B, collection C, collection E, and collection D exceeds the width of the collection A, the algorithm cannot add additional collections.
[0136] Now refer to the example Fig.31 , showing an exemplary collection editing function for removing a subcollection from a collection. The algorithm can take as input the subcollection to be deleted. The user can select the subcollection to be deleted. In this exemplary embodiment, the user selects the subcollection Set C to be removed. As a result, the algorithm deletes the subcollection Set C and increases the width of the subcollections Set B and Set D so that their widths are equal to the width of the parent set Set A. Before deleting Set C, the algorithm can check whether the maximum width of the remaining Sets B and D is equal to or greater than the width of Set A. If the maximum width of the remaining sets is less than the maximum width of the parent set, the selected subcollection cannot be deleted. In addition, when the subcollection cannot be deleted, the algorithm can display an error message to inform the user of the abnormal situation.
[0137] Now refer to the example Fig.32 , Fig.32An example of a set editing function that can change a free dimension of a subset is shown. The user can select the subset to be changed and enter the new subset dimension. In this exemplary embodiment, Set B, Set C, Set D, and Set E can be subsets of Set A. The user can enter a new width for Set B, the width of Set C can be fixed, and the widths of Set D and Set E are variable. The algorithm can then calculate the new widths of Set D and Set E while changing the width of Set B corresponding to the user input. The difference between the old value of the width of Set B and the new value of the width of Set B can be proportionally distributed between the variable sets (Set D and Set E in this example).
[0138] Now refer to the example Fig.33 , Fig.33 An exemplary set editing function that can change the free dimensions of multiple subsets at the same time is shown. The user can select the set and the dimension of the subset to be changed. In this exemplary embodiment, the width of set B, set C and set D is expressed as a fraction of the width of set A, where their combined ratio is equal to 1.0. As shown in this example, any new width value real number is either assigned to the set or calculated by adding these new width values to the previous width value as shown in this example. Then the predetermined array is normalized by an algorithm to generate the values of set B, set C and set D corresponding to the ratio of set A. In this exemplary embodiment, the width of set B is reduced by 0.2, the width of set C remains unchanged, and the width of set D increases by 0.4. The predetermined arrays of set B, set C and set D generated thereby are 0.3, 0.3 and 0.6. As shown in the exemplary embodiment, the normalized values of the numerical array are 0.25 (the width of set B), 0.25 (the width of set C) and 0.5 (the width of set D). In another case, the user can change the free dimensions of multiple subsets in sequence. In this exemplary embodiment, the user selects Set B and Set D, then selects to reduce the width of Set B by 0.25 and to increase the width of Set D by 0.3. The algorithm can then allocate all remaining space to the unselected variable widths, in which case the width of Set C is reduced by 0.05. The user can select a reduction ratio or proportion, such as by reducing the width of Set B by 0.25 or 25% of the total width. Alternatively, the user can reduce the size directly, such as by selecting the option to reduce the width of Set B by 0.25 inches.
[0139] Now refer to the example Fig.34 , Fig.34 An exemplary collection editing function that equalizes the width of multiple collections within a collection network is shown. The user can select multiple collections, and the algorithm can automatically set the collection network to equal width. Fig.34In the exemplary embodiment shown, a user may select Set D, Set E, and Set C, and the algorithm may assign equal widths to each of the selected sets.
[0140] Now refer to the example Fig.35 , Fig.35 An exemplary set editing function is shown, which can change the free dimension of a subset while the position and width of another subset of the same set are fixed. The function can take as input information the set to be changed and the new value of the set. In this exemplary embodiment, set B, set C, set D and set E are subsets of set A, and the position and width of set C are fixed. When changing the width of set D, the width of set B may remain unchanged because changing the width of set B may change the position of set C. Therefore, the width of set E is the only size that is reduced in size to compensate for the expanded width of set D.
[0141] Now refer to the example Fig.36 , Fig.36 An exemplary collection editing function that can change a dimensionless variable of a collection can be shown. The user can select the collection to be changed, and then can select the variable to be changed and the new type or value of the variable. In this exemplary embodiment, the material type of collection C is changed.
[0142] Now refer to the example Fig.37 , Fig.37 An exemplary collection editing function is shown that can replace the size and / or sizeless parameters of a collection with parameters copied from another collection. Fig.37 In the exemplary embodiment shown, the dimensions of set C, which consists of subsets set E and set F, are copied to set D. As a result, set D may have the same subsets as set C, and may also include the same material, width, and height. The algorithm may not copy all parameters and subsets from the reference set to the target set. The algorithm may copy as many subsets and parameters as possible. For example, if the width of set D is fixed, the algorithm may copy the subsets and their materials and heights, but not the width.
[0143] Now refer to the example Fig.38 , Fig.38 An exemplary collection editing function may be shown that may change or swap the location of a collection within a network. A user may select one or more collections and select one or more new locations for those collections. Fig.38 In the exemplary embodiment shown, the user selects set C and set D and switches their positions so that set C is located at the position previously located by set D, and vice versa.
[0144] Now refer to the example Fig.39, Fig.39 An exemplary set editing function that can group adjacent sets is shown. A user can select multiple sets that are close to each other and can group them to become one set that can share a size. In this specific exemplary embodiment, set C contains sub-sets set E and set F, and set D contains sub-sets set G and set H. Set F and set H are selected and grouped together so that they can share the same height. In addition, set E and set G can be selected and grouped together so that they share the same height.
[0145] Now refer to the example Fig.40 , Fig.40 Another exemplary collection editing function is shown, which can align the dividing line between collections or sub-collections. The user can select a dividing line between two collections and can select another dividing line to align with it. Fig.40 In the exemplary embodiment shown, the boundary between set D and set E is selected and aligned with the boundary between set F and set G.
[0146] Now refer to the example Fig.41 , Fig.41 Graph optimization functionality is shown. In this example, subset Set D is deleted from Set C. As a result, Set C has only one subset, Set E. Subsequently, the graph optimization functionality may remove subset Set E because it may be the only remaining subset of Set C and its size may be equal to the size of Set C.
[0147] Now refer to the example Fig.42 , Fig.42 An exemplary set editing function (a one-point intersection set generator function of a genetic algorithm) can be shown, which can generate a new set by splitting two input sets and combining a portion of the first input set with a portion of the second input set. The function can take as input information an input set, an intersection from the first input set, a second input set, and an intersection from the second input set. In this specific exemplary embodiment, the first input set (set A) can have two customized subsets (set B and set C). Set C can have three customized subsets (set D, set E, and set F). The second input set (set G) can have two customized subsets (set H and set I). Set H and set I can each have two customized subsets. The first intersection can be between adjacent sets D and E. The second intersection can be between adjacent sets set J and set K. The subset output can be a new set, i.e., a copy of set A, which contains customized subsets (a copy of set B and a copy of set C), and the copy of set C has two customized subsets (a copy of set D and a copy of set K).
[0148] Now refer to the example Fig.43 , Fig.43 An example of a set editing function (a two-point intersection set generator function of a genetic algorithm) is shown, which can generate a new set by splitting two input sets and combining parts of the first input set with parts of the second input set. In this exemplary embodiment, the function can use an input set, multiple intersections from the first input set, a second input set, and multiple intersections from the second input set as input information. In this example, the first input set (set A) has four customized subsets (set B, set C, set D, and set E), and the second input set (set F) has three customized subsets (set G, set H, and set I). The intersection of the first set is between set B and set C and between set D and set E. The intersection of the second set is between set H and set I and after set I. The output can be a new set (a copy of set A) with customized subsets (a copy of set B, a copy of set I, and a copy of set E). Other exemplary set generator functions with more than two intersections can be considered. Other exemplary set generator functions can be considered as having more than two intersections.
[0149] Now refer to the example Fig.44 , Fig.44 An exemplary kitchen floor plan is shown. The room for the kitchen design may have overall dimensions such as length 4402 and width 4404 (x, y), open sides 4406, three walls, and a window 4408 in one of the walls. The kitchen design may include base cabinet units 4410, wall cabinet units 4412, appliances 4414, and sinks 4416 arranged along the wall with the window. The kitchen design may also include a kitchen island cabinet 4418, a walkway 4420 between the kitchen wall and the kitchen island, and a walkway between the kitchen island and the side wall.
[0150] Now refer to the example Fig.45 , Fig.45 Shown is the method used to generate Fig.444. An exemplary method for kitchen floor plan design shown in FIG. The method can generate and edit a collection network, shown here as a dimension diagram. First, in step 4502, the entire room can be displayed as collection A, where the width can be equal to the x dimension of the space and the height can be equal to the y dimension of the space. Next, in step 4504, the space (collection A) is divided into three areas (collection B, collection C, and collection D as customized subsets of collection A). In the next step, the type parameter of collection B (the area along the wall with windows) in step 4506 can be changed, for example, to "kitchen wall". In the next exemplary step, in step 4508, collection D (the area near the edge of the room is open to another space) can be divided into three areas as customized subsets (collection E, collection F, and collection G). In addition, in step 4510, the type parameter of collection F can be changed, for example, in this exemplary embodiment, it is changed to "kitchen island". In the next exemplary step, in step 4512, a new width parameter can be set for the collection. In this exemplary embodiment, the width of collection E, collection F, and collection G is changed. Alternatively, the previous step may be skipped by selecting a standard kitchen floor plan type from a list of standard pre-programmed kitchen floor plans.
[0151] Now refer to the example Fig.46 , Fig.46 Exemplary pre-programmed subsets are shown. These subsets may allow for completely pre-programmed kitchen floor plan types. By using pre-programmed kitchen floor plans or sets, a user may save time by reducing the number of steps required to generate a kitchen floor plan design. Additionally, a pre-programmed set may be an example of a room design, which may be a subset of a network of sets representing floor plan configurations for a building. The pre-programmed kitchen floor plans may have relative and standard free size parameters, enabling them to conform to the overall room dimensions of a unit.
[0152] Now refer to the example Fig.47 , Fig.47 An example of a kitchen wall layout is shown. The wall may have overall dimensions, such as width and height (x, z). The wall may have a window of user-defined size. The wall may include appliances, cabinet units, base units, a sink base cabinet unit with doors, two base cabinet units with doors and drawers, and a work area above the base cabinet unit.
[0153] Now refer to the example Fig.48A and 48B , Fig.48A and 48B Can be used to manually generate Fig.47 An exemplary approach to kitchen wall design is shown. Fig.48A Can explain how to use the dimensional drawing, Fig.48BThe method of using a layered graph can be illustrated. In an exemplary first step 4802, the algorithm can create a new set A with a width equal to the x dimension of the space and a height equal to the z dimension of the space. Set A can be divided into custom subsets, such as the subsets set B, set C, and set D in the example shown here. Set C can be a column with fixed position and width parameters, and can be divided into two subsets set E and set F. Set E can represent a window area with a fixed height parameter. In the next exemplary step 4804, additional devices and storage units can be added. In another exemplary step 4806, the column can add wall units and base units. These can be added to the collection network. In the next exemplary step 4808, the wall unit work area and the base unit can be grouped. In the next exemplary step 4810, doors, drawers, and fixed panels can be added to the collection network. In the last exemplary step, doors are represented by set b, set c, and set P, and the widths of these doors can be equal. The algorithm calculates new width values for set b, set c, set P and set K (the parent set of sets b and c) so that the widths of sets b, set c and set P are equal, and the sum of the widths of sets P and K is equal to the width of their parent set, that is, set J.
[0154] Now refer to the example Fig.49 , Fig.49 An exemplary method for automatically generating a collection by calling a collection editing function is shown. In this example, components, units, columns, and kitchen walls can be collections of these collection types with specific size and non-size parameter ranges. Components can be subsets of units, and units can be subsets of columns. The parameters of these collections can be randomly selected from a range of possible values. Any value within the range of possible values can be weighted with a probability of selection to increase the chance that certain values can be selected more than other values. The optimal weights can be selected by the programmer of the algorithm, calculated from the variable values entered by the user, or determined using a machine learning algorithm. In this exemplary embodiment, a kitchen wall collection can be generated using a predetermined overall size. The layered graph of the kitchen wall can be normalized and optimized for efficient analysis and future unit editing. The collection network can be automatically generated using a heuristic algorithm, a metaheuristic algorithm, and / or an optimization algorithm.
[0155] Now refer to the example Fig.50 , Fig.50 It can be explained by Fig.49An exemplary kitchen wall design is systematically generated using the methods described in . In this example, some of the weights and other parameters used in the random selection of unit types may be determined by user-defined values, such as the overall size of the wall and the number of appliances required. Heuristics may be integrated to efficiently generate acceptable design solutions. For example, in this example, set G may be the only necessary appliances allowed. While iterating over subsets of set A, the probability that an appliance will be added to any given subset is the index value of the subset in the collection array divided by the number of subsets, thereby guaranteeing that the appliance is included in the collection network. The algorithm may adjust the selection weights throughout the generation process. For example, when one appliance is added to the collection network, the probability of another appliance being added may be adjusted to zero, thereby guaranteeing that solutions with multiple appliances are excluded.
[0156] Now refer to the example Fig.51 , Fig.51 The application of a genetic algorithm for automatically generating and selecting ensemble designs can be illustrated. Following this process, an initial population of individual ensembles can be automatically created using an initial set generation function. A fitness score can be calculated for each individual in the population. The fitness score can be calculated based on multiple factors weighted by user input, such as design aesthetics and functional requirements. An example of a design aesthetic might be to select a vertical appearance, resulting in an ensemble network with narrow ensemble proportions. Fig.50 In the example shown, the functional fitness score can be higher for solutions with higher calculated continuous workspace lengths. Another fitness function may be needed when the selected assembly type represents a physical product with a variable number of materials and construction complexity.
[0157] Now refer to the example Fig.52 , Fig.52 An example of a population of individuals with fitness scores is shown. After calculating the fitness scores of the population, the algorithm can end the process and return one or more individuals from the current population, or create a new population. The factors for making decisions include the limitation of computing resources, the limitation of production quantity, the existence of a minimum visual design solution, or minimizing the score difference between the current population and the previous population. In order to generate a new population, the genetic algorithm needs to be in accordance with the process inspired by natural selection, that is, the parameters of the collection network or the collection in the network represent the genotype of the individual, and then the collected units and the parameters related to the collection in the collection network represent the phenotype, and the population of the new collection network is generated by selecting the collection network from the previous generation. Each selection is determined by probability based on the fitness score of the phenotype. The selected collection network and its parameters are modified by crossover operator and mutation operator to generate a new generation. In the present embodiment, the crossover operator and mutation operator of the genetic algorithm are collection generator and collection editing function.
[0158] Now refer to the example Fig.53A and 53B , shows an implementation method of a set generator function through a genetic algorithm. The generation of the kitchen wall set can come from one or more input sets. In this exemplary embodiment, the input set can be selected from the population of sets. The generation of the kitchen wall set can come from one or more input sets. In this exemplary embodiment, the input set can be selected from the population of sets. In this exemplary embodiment, the set generator function is a single-point crossover function, similar to Fig.42 The set builder function shown, where the intersection of the first input set is between the customized set D and the set E, and the intersection of the second input set is between the customized set f and the set g.
[0159] Now refer to the example Fig.54 , Fig.54 An exemplary output set is shown as a variation of the input set. The variation can be implemented using a set editing function selected by a genetic algorithm. In this embodiment, by using Fig.39 The set editing function shown in the figure edits the input set by combining the input closet doors (set M, set N, set U, set V, set D, and set E) so that the width of these doors is equal to Fig.34 The collection editing functionality shown in Fig.31 The collection editing function shown in the example below changes the number of drawers in the base cabinet (collection L), changes the width of the sink cabinet door (collection X), and uses Fig.33 Set Edit function shown, and change the cabinet type (Set C) from Sink Cabinet (Fixed Panel and Two Doors) to Cabinet with Fig.36 Base cabinet with one door shown.
[0160] Now refer to the example Fig.55 Methods for creating and using interfaces for finding solutions to problems in a two-dimensional or three-dimensional problem space structured as a network of sets. A typical problem space might be the coordination and design of custom cabinets within a space, such as a kitchen. While a cabinet is a three-dimensional product and a kitchen is a three-dimensional space, the design of a complete set of cabinets can be broken down into a coordinated two-dimensional design problem space (a plan and one or more elevations). An individual cabinet might be an example of a design problem in another two-dimensional problem space, requiring the design and coordination of peripherals such as doors and drawers.
[0161] After identifying a multidimensional design problem, a user interface for the problem space can be constructed as a collection network and functions for generating and editing the collection network. Through the interface, users with different degrees of experience in using the interface and different degrees of understanding of the problem space can decide to use the design assistance provided by the interface to manually generate a solution to the problem, or instruct the software to automatically generate a solution with minimal input. An exemplary solution automatically generated by minimal input can be a cabinet design, whose doors and drawers are generated by user input, such as size and volume or other dimensional and non-dimensional requirements. The software can automatically determine more detailed design requirements based on the minimal input provided by the user, which can be in the form of questions or verbal instructions. Exemplary verbal instructions can be "I need a cabinet that can hold 3 large pots, 10 small plates and knives" or "I want a kitchen with horizontal lines." Using natural language processing algorithms and heuristic and / or machine learning algorithms, the software can automatically determine or estimate unit proportions and volume and area requirements based on these inputs, and use these requirements as applicability criteria for automatically generating overall kitchen and / or cabinet design solutions.
[0162] If the user is not satisfied with the solution, the user may decide to manually edit the solution using the design assistance tools provided by the interface, or instruct the software to automatically edit the solution using additional inputs. Machine learning algorithms (e.g., object recognition algorithms) may be trained to recognize overall kitchen styles and help generate solutions for some types of quantitative and qualitative inputs. For example, a user may instruct the software to automatically generate a kitchen design that meets their quantitative requirements and has a qualitative appearance similar to another or more other kitchens.
[0163] Other exemplary interfaces having the features described above for a two-dimensional design problem space may include virtual and physical media with organized design elements, such as promotional flyers, stationery, and web page layouts. These exemplary interfaces are more ideal than current technology, in which users can only choose from a curated collection of standard templates.
[0164] An exemplary three-dimensional design problem is a whole building design with multiple levels requiring design coordination between the levels. The problem space of the design problem can be structured as a three-dimensional network of sets. In automatically generating a whole building design, the software can perform a whole building analysis when determining goodness of fit. Exemplary analyses of a building include the relative size and location of the building with respect to other site elements (roads, other buildings, shading elements such as trees and views), life safety analysis, regulatory compliance, and energy analysis.
[0165] The foregoing description and accompanying drawings illustrate the principles, preferred embodiments and modes of operation of the present invention. However, the present invention should not be construed as being limited to the specific embodiments discussed above. Those skilled in the art will appreciate other variations of the above-described embodiments (e.g., features associated with certain configurations of the present invention may be associated with any other configuration of the present invention as desired).
[0166] Therefore, the above embodiments should be regarded as illustrative rather than restrictive. It should be appreciated that modifications may be made to those embodiments by those skilled in the art without departing from the scope of the present invention as defined by the appended claims.
Claims
1. A method for constructing a unit, characterized in that: include: Providing a user interface to a user, the user interface comprising a design interface; receiving a plurality of design parameters of the unit from the design interface, the plurality of design parameters comprising at least two groups of design parameters selected from the following design parameters: a type of the unit, a length of the unit, a height of the unit, a width of the unit, a depth of the unit, a number of doors of the unit, a number of other peripheral devices of the unit, and a number of neighbors of the unit; Automatically constructing a virtual model of the unit that satisfies the specified multiple design parameters according to the specified multiple design parameters; calculating object data based on a plurality of the design parameters, the object data being associated with a plurality of parts used to construct the unit; storing at least the object data in a digital account; generating and sending a supplier order including at least the object data from the user interface; Generate manufacturing data according to the object data, wherein the manufacturing data includes a numerical control machine tool instruction set, a material list and unit assembly data of a programmable manufacturing machine associated with a plurality of the parts; provide the materials on the material list to the numerical control machine tool; and executing CNC machine tool instructions to process the material into a plurality of the parts; The unit is modeled as a set in a network set, the network set including at least one parent set and multiple sub-sets, wherein the first parent set corresponds to the total space, and wherein each parent set has at least two corresponding sub-sets, wherein each sub-set has a corresponding parent set.
2. The method for constructing a unit according to claim 1, characterized in that: The design interface is a web-based interface.
3. The method for constructing a unit according to claim 1, characterized in that: The step of providing the CNC machine tool with the materials on the material list includes generating a material order based on the material list and the instruction set, and providing the material order to a material supplier.
4. The method for constructing a unit according to claim 1, characterized in that: Also comprising assembling a plurality of said parts based on said unit assembly data; and providing the unit to the user.
5. The method for constructing a unit according to claim 1, characterized in that: Also includes: packaging a plurality of said parts; automatically generating labels for a plurality of said parts; and A plurality of the parts are supplied to one of the manufacturer and the user.
6. The method for constructing a unit according to claim 1, characterized in that: The unit is a plurality of units attached to each other.
7. The method for constructing a unit according to claim 4, characterized in that: The executing CNC machine tool instructions includes shaping the edges of the parts to form interlocking joints, and assembling a plurality of the parts further includes: interlocking the edges of the plurality of the parts.
8. The method for constructing a unit according to claim 7, characterized in that: The interlocking joint includes at least one of a hammer head mortise and tenon joint, a spliced joint and a mortise and tenon joint.
9. The method for constructing a unit according to claim 1, characterized in that: The first parent set has a plurality of free dimensions, and one or more of the child sets have a free dimension and at least one inherited dimension, wherein at least one of the inherited dimensions is inherited from the parent set corresponding to the child set.
10. The method for constructing a unit according to claim 1, characterized in that: Each of the parent sets has a first dimension measurement in a first dimension, wherein a plurality of sub-sets are associated with the parent set, and the sub-sets have a plurality of second dimension measurements in the first dimension, wherein a sum of the plurality of second dimension measurements is the first dimension measurement.
11. The method for constructing a unit according to claim 1, characterized in that: The method further includes: automatically generating a space design for the total space, the space design consisting of a plurality of units, each of the plurality of units being defined in at least one subset.
12. The method for constructing a unit according to claim 11, characterized in that: The step of automatically generating the space design also includes: identifying two or more subsets within one or more of the sets; assigning at least one weight to two or more of the subsets; and A free dimension, an inherited dimension and a position are generated for each of two or more of the subsets based on at least one of the weights.
13. The method for constructing a unit according to claim 1, characterized in that: Also includes: constructing a spatial design of the total space; receiving an instruction to edit the spatial design; accept the space design or reject the space design; initiating a collection editing function upon rejection of the spatial design, wherein the collection editing function is iterative, and wherein any iteration of the collection editing function is received from the user or automatically generated; and Wherein, the collection editing function is not started after the space design is accepted.
14. The method for constructing a unit according to claim 13, characterized in that: The step of automatically generating the spatial design includes using at least one of a heuristic algorithm, a meta-heuristic algorithm, and an optimization algorithm.
15. The method for constructing a unit according to claim 13, characterized in that: The step of automatically generating the space design also includes: randomly determining the number of partitioned regions based on a minimum partition size and a maximum partition size of one or more sets of the spatial design; Each set is divided into a plurality of partition areas based on the number of partition areas, and a size of each partition area is within a range between the minimum partition size and the maximum partition size.
16. The method for constructing a unit according to claim 1, characterized in that: The unit assembly data includes machine instructions and information for identifying parts.
17. The method for constructing a unit according to claim 1, characterized in that: Also includes: Connection data associated with a connection of the connection parts is calculated, wherein the connection data depends on at least one of a length of the cell, a height of the cell, a width of the cell, and a depth of the cell.