Digital Customization for Product Design and Manufacturing: A Case Study within the Furniture Industry

: Computational design together with the digitization of most fabrication processes play an important role in many research areas. Digital tools such as 3D modeling and computational design have been increasingly used. Computational design combines traditional 3D product design together with programming a general-purpose CAD system in order to promote system integration. In essence, using CAD-based textual or visual programming languages a series of products can be designed with accuracy and take advantage of product customization and automation of down-stream applications. The present paper aims at customizing furniture design based on automating both the design and the fabrication procedures. The customer is able to define a series of geometrical characteristics, i.e., width, length, internal dimensions, and various other properties. The outcome consists of automating a great deal of processes, i.e., 3D modeling and assembling, visualization, creating the bill of materials (BOM), producing assembly instructions for the user, drawings and prototyping files, weight estimation.


Introduction
Computational design is a specific two-and three-dimensional design process using algorithms and math sequences.It includes a great number of different tools, techniques, and commands in order to finalize the digitization of the design concept.Furthermore, the aforementioned tools are important to the automation of a wide range of steps of traditional computer-aided design (CAD) methodology in order to upgrade the final design idea [1].The main reason for choosing algorithmic design is to maintain a holistic design procedure to end-users by projecting a common design approach [2].
The core idea behind the computational design choice are the parametrization options of every product form including the functional, ergonomical and manufacturing characteristics of this digital model.Specifically, the designer/programmer has the possibility to modify the design both during and after the end of the design process.The use of the algorithm (according to specific design parameters) helps in the personalized processing of the commands, making the design process substantially flexible.
The computational design methodology can be categorized into three basic strategies: (a) based on text (b), based on a visual programming language, and (c) a combination of the other two [3,4].The proposed design methodology can be used in a very wide range of products including indoor furniture.

State of the Art
Furniture design is an area in which the product should maintain two main qualities: utility and aesthetics.In common furniture modeling, these two properties are determined by the designer during the design process.The use of furniture computational design can provide geometries of unusual and complex forms.Along with computational design, the designer's creativity increases [5].In the indoor furniture industry, a large number of studies use computational design tools.The goal is to create unusual geometries with simultaneous digital automation.In one of these studies, an algorithmic design was carried out to create a dividing space in a work environment.The algorithm was created with the Grasshopper TM visual programming language, which is built into Rhinoc-eros3D TM .Using nodes, designers create a code that runs the 3D rendering in the main program Rhinoceros3D TM .Through a series of modified parameters, the final shape of the geometries can be determined [6,7].With this process, a family of products can be created that will maintain common characteristics.At the end of the study, the use of 3D printing completes the work by creating prototypes of the geometries [8][9][10].In most cases, there are many different tools that we can be used for CAD-based design.For instance, the Visual Brand Identity (VBI) design methodology is related to the Solidworks TM Application Programming Interface (API).According to the aforementioned methodologies, parametric tools are used in furniture design for creating forms and functions [11].
Computational design is not only applicable to designing the product itself, but also in solving problems that arise from it.Regarding the furniture-related products, a basic problem is the rearrangement of furniture in a space, meaning their adaptability and flexibility in changing positions.By implementing appropriate limitations, dimensions can be adjusted to create furniture with standard characteristics.This entire system should be supported by the industry through mass customization [12][13][14].Another subject in the furniture industry and the computational design correlation is the way the final product is assembled.In most cases, a piece of furniture requires the connection of many different parts-components by a skilled worker or even by the customer who will purchase it.A small modification to the geometry is often enough to facilitate assembly, while additional components are often needed [15][16][17].The connections of the components are of vital importance as they affect the static properties and overall performance of the finished furniture.Computational design in this case also facilitates both the design and finding of solutions due to the complexity of the geometries [18][19][20].Design time is a crucial factor in the creation of any product.In the furniture sector, parametric design is an effective method to reduce design time by easily adjusting key features like dimensions and morphology.Several studies have highlighted the benefits of using computational design tools like Grasshopper TM and Microsoft Excel TM for parameterization.This allows for quick updates based on external files, enabling the industry to swiftly adapt to changing customer demands [5,[21][22][23].Two critical parameters influencing both the furniture design and its fabrication are the material weight and cost.More precisely, the advantages of computational design within Industry 4.0 for decreasing both design time and cost are linked to the following stages: (1) evaluating current capabilities and identifying areas for enhancement in line with the designer's goals, (2) raising awareness of potential external partners and industry solutions, (3) examining and assessing multiple potential solutions, (4) producing inexpensive proof-of-concept prototypes (in digital way), and (5) incorporating and implementing the most effective solution(s) [24].The goal of optimizing geometry is to decrease weight without compromising strength against external forces.This optimization is achieved through the use of finite element methods (FEM) and nonlinear programming using MATLAB TM .By identifying critical points in a structure, designers can adjust the product design to reduce unnecessary weight.Experimental tests on prototype constructions are then conducted to validate the effectiveness of the optimization process [25].Research in sustainable product and furniture design, particularly focused on utilizing wood, also covers green chain management issues.Findings indicate that ecological design tools are underutilized in industrial design due to the complex and time-consuming nature of the extra steps required in the design and manufacturing processes [26].
Human-centered design is a way of designing products and services that are more usable and proven.There are scientific studies in which furniture is designed based on specifications of their users.The whole process starts with the use of digital tools, but this can very easily continue in the manufacturing part as well.The goal is for furniture to be fully usable by its user.Designing with a focus on the needs and preferences of users, known as human-centered design (HCD), has become a popular method for industries seeking to innovate their product lines, but may be unsure of how to begin.To enhance this approach, it is recommended to strengthen collaboration between industry and universities through design research.Adopting HCD as a business strategy can lead to greater commercial success by prioritizing customer needs.While products like furniture can benefit from user perspectives, manufacturing industries may struggle to effectively implement HCD to drive innovation within their organization [27].Based on this objective, an application was created, that captures various poses of a specific user in order to determine the dimensions and areas that can be exploited by him/her.At the same time, using a VR device, the user can see in real time the shape and size of the furniture.Instant feedback helps supplement the entire application [28,29].Additive manufacturing is relatively recent in the furniture industry.In recent years, we have very often come across furniture that may have some 3D-printed parts or were even entirely build by a 3D printer.Short manufacturing time, low cost and the ability to create complex geometries are some of the main reasons for using the additive manufacturing methods [30].Building DIY manufacturing applications is based on additive manufacturing.Using a 3D printer in conjunction with a 3D CAD design system can create a fully functional home furniture [31].The additive manufacturing method can even be used to create a prototype.In this way, we can use the prototype furniture so that the design can be evaluated more effectively [32].Finally, the furniture design industry introduced augmented reality (AR) tools with an aim to automate many processes in recent years.Using these AR tools, digital environments are created to enable users to interact with the 3D objects in a digital space.The automation of the proposed processes can focus on how to configure the furniture in space.This specific technique is based on specialized algorithms in which users/designers enter data from the available space and preferences of each customer [33].
The following paper establishes a furniture design automation algorithm developed using Grasshopper TM software (https://grasshopper.com) within Rhinoceros3D TM (https://www.rhino3d.com).With the proposed algorithm, the users can customize the main dimensions and characteristics of their furniture.Various products have been created using Rhinoceros3D TM and Grasshopper TM tools in the literature, including tableware [34], digital temples [35], surfboards [36], bottles [37], vehicles [38], cell phones [39], and furniture.One specific example is ChairDNA.More specifically, the authors describe a grammar-based design tool for the concept phase of multipurpose chair design (The ChairDNA Design Tool) [40].Moreover, a research work has been conducted on the use of computational design to create applications and products that emphasize aesthetic features.This research focuses on developing products related to tourist souvenirs and cultural importance, such as souvenirs based on Greek Cycladic figurines [41].
The proposed application enables the generation of alternative models of chairs according to the manipulation of their grammar-based parameters.The ultimate aim is to ensure that each product meets the user's desired utility and aesthetics.This algorithm not only facilitates 3D design and the assembly of the proposed furniture but also automates processes such as the creation of the customized assembly instructions.In addition, technical drawings, bill of material, material selection, product components library, STEP and STL files and rendering are facilitated.

Application Concept
The furniture industry is continuously evolving due to new fashion trends and diverse interior styles, necessitating the use of innovative design tools.This study introduces the automation in the holistic product design methodology, with the objective of creating an algorithm that can design and configure furniture.Parameterization plays a crucial role in determining the sizes and distances of the furniture components.
Figure 1 illustrates the design process development framework in four key stages.Each stage includes a concise description of the study's specifics in the final algorithm sequence.The initial stage focuses on design automation, encompassing tasks such as defining basic shapes, dimensions, and creating automatic parametric assembly.Following that is the automation of assembly instructions, where 2D diagrams are generated from the original 3D geometry.Files with assembly instructions are automatically created and saved after passing through the third stage.At this point, the characteristics of each page, including size, numbering, and number of pages, are defined.Lastly, materials are automatically selected and defined in the final stage to create a realistic image of the final geometry.

Application Development
The primary outcome of this study is the development of an application designed for an end-user looking to purchase customized furniture.The proposed application is separated into two main sections.The design and modeling algorithm is linked to the first part, while the assembly-based instructions and downstream applications are linked to the second part.
Figure 2 illustrates the user's interaction with the application.This involves specifying their desired product attributes, such as color, material, size, and shape.The application's design engine then generates a 3D model of the customized furniture in real time according to the user's preferences.The second section is connected to the assembly instructions creation method, which utilizes the 3D output from the first section to produce the 3D assembly instructions document.This allows the parametric characteristics of the geometry to be transferred to the final assembly steps.Figure 3 depicts the operation process utilizing two distinct geometries in the instruction creation process.

3D Modeling Algorithm
The proposed application algorithm comprises two sub-algorithms named Code_1 and Code_2, which guide the two processes described earlier.The next step involves presenting Code_1 which is based on performing the customized 3D modeling.
Figure 4 illustrates the algorithm implemented through a visual programming language.Utilizing Rhino TM alongside its extension Grasshopper TM , the algorithm generates the final geometry based on the user-defined specifications.Code_1 is divided into two main design sections, A and B. Section A generates the flat surfaces and shelves for the two different desks, while section B creates the legs and connections between the shelves.These sections are parametrically designed based on specific parameters, so any changes to these parameters will affect the final result presented to the user.Sections A and B are then combined to create the A+B section.Figure 5 illustrates the programming layout used for these components.The set of data that the user has to provide, together with the results of the design algorithm, are depicted in Figure 6.Extensive use of input sliders and switches together with the presentation of the final result offers a user-friendly environment.The input data, which are parameters of the algorithm, can impact the final geometry's shape.These inputs are determined by each customer's requirements, including total dimensions and shelf sizes.The output data represent the end results of the application, such as 3D geometry with materials, 3D assembly and assembly instructions, technical drawings, STL files for prototyping, STEP files for file transfer, total weight estimation and rendering facility.

Assembly Instructions Algorithm
The Code_2 algorithm is used to generate furniture assembly instructions based on the output data of the final application (Code_1).The Code_1 algorithm provides the 3D geometry modeling that serves as the reference point for Code_2.By coupling these two algorithms, parametric features are inherited from Code_1 to Code_2, allowing any changes in the input data to be automatically reflected in the assembly instructions and all downstream applications included (Figure 7).The algorithm requires components to be grouped and named before combining them in pairs for sorting.First, the A + B part from Code_1 is disassembled, resulting in 31 parts.Next, components connected to the same areas are grouped into 11 groups and named as AB_1, AB_2, AB_3, etc. Figure 8 illustrates how AB_1 and AB_2 are connected.After all the 3D assembly instructions document pages are completed, the Code_2 code performs their sorted union.The end result is a set consisting of 11 3D assembly instruction pages.The set of these assembly pages is called P_M.The first page of P_M in the final instruction document is placed on page 3, while the rest follow until the 13th page (Figure 10).The first page includes a 3D view of the furniture.The second page lists the parts needed for assembly and incorporates the bill of materials.Each part is labeled for easy identification during the assembly process.
These pages are named with the terms P_1 and P_2. Figure 11 illustrates the layout of the number of tools used with an aim to generate the final 3D assembly instructions document.

Results
The goal of the proposed study is to create a piece of furniture that can be produced by the existing conditions in the industry.Each end-user of the proposed application is eager to generate unique 3D models for alternative products based on the original prototype of the furniture ontology.These users will define design solutions within the original morphology concept by utilizing specific parameters established by the designer during the computational design phase.The primary focus is on creating a modern bookcase/desk that adheres to specific design rules and parameters related to the elements of DIY style construction, such as the number of shelves, type of supports, and individual dimensions.The fundamental model of the furniture will serve as a starting point for customization through the application, from the perspective of the end-user.
At the end of this process, the following series of exported data are automatically available for saving:

•
Technical drawings that include all dimensions of the furniture; The engineering drawings display three views of the geometry and a cross section detailing the connection method between shelves.The BOM indicates the component numbering and their descriptions (Figure 12).The final assembly instruction document is another application file generated.Using the algorithm, assembly instructions are created that retain all the parametric characteristics of the original geometry of the furniture.The file is then saved in PDF format, consisting of 13 pages of A4 size as shown in the Figure 13.Finally, the application interface displays the furniture parameterized by the enduser.Through this application the end-user is able to have a digital representation of the 3D furniture that was customized and automatically designed.The geometrical characteristics of the final furniture are defined by the end-user through the specific menu (includes the set of the parameters).According to this menu, the user can parameterize the geometry, while at the same time they can observe, in real time, the result of each change.Figures 13 and 14 in the mentioned case study illustrate furniture that emphasizes functionality, ergonomics, and assembly, engaging users in the design and manufacturing process.The primary focus of the upcoming works is to repeat the process using computational design methodology, with a particular emphasis on the aesthetic aspects of the products.
While saving the final designs, the customer can save the 3D model in both STEP and STL formats, along with the bill of materials, technical drawing, assembly instructions, a photorealistic image of the furniture and its total weight.Figure 14 displays two variations of the furniture and some of the parameters that the user can customize in real time.The application, having defined all the necessary parameters (i.e., total height, table width, table lengths, extensions), can inform the user about the details of the custom furniture.Some of these details, depicted in Figure 14, are the overall dimensions of the furniture, the total surface area, the total volume, as well as the weight of the furniture.All the details include the wood surfaces, the metallic parts and the various connectors that will be needed to assemble the furniture.To calculate the weight the density of aluminum alloy (2.7 g/cm 3 ) and density of wood (melamine 30 mm, 0.65 g/cm 3 ) were used.

Conclusions
The presented paper contributes towards the creation of a new methodology for automating the 3D design of furniture, focusing on personalized design and user involvement in the process.By utilizing computational design, an algorithm has been developed that not only 3D models furniture but also automates various downstream applications such as generating customized assembly instructions in a PDF format, technical drawings, photorealistic images, etc.This approach enhances the functionality of furniture in the customer's living space and engages him/her in the design process, thus increasing his/her satisfaction.
After completing the design, the algorithm allows the users to view the furniture in a photorealistic form and the customized materials and colors.Additionally, the algorithm includes features for creating a bill of materials list and technical drawings.The final application interface was designed to allow customers to interact with the product, enabling them to adjust values using sliders and select additional features with switches in a virtual environment.Simultaneously, a 3D visualization of the furniture is presented online in real time, allowing the user to rotate around it for closer inspection.General dimensions

Figure 4 .
Figure 4.The complete set of coding via the use of a visual programming language including the final result of the proposed furniture.

Figure 5 .
Figure 5.The two sections of the 3D modeling algorithm including the visual programming language components.

Figure 6 .
Figure 6.End-user's interface for product parametrization including the 3D results and the export options.

Figure 7 .
Figure 7.The automated completion of the 3D assembly instruction manual.

Figure 8 .
Figure 8. Parts naming and separation in order to create the 3D assembly instruction document.

Figure 9
Figure 9 illustrates the initial two assembly stages and their combination on a page.Each following assembly step should incorporate the previous steps, starting with AB_1

Figure 10 .
Figure 10.The visual code layout for the .pdfdocument generation.The next step is about the generation of the two introduction pages of the document.The first page includes a 3D view of the furniture.The second page lists the parts needed for assembly and incorporates the bill of materials.Each part is labeled for easy identification during the assembly process.These pages are named with the terms P_1 and P_2.Figure11illustrates the layout of the number of tools used with an aim to generate the final 3D assembly instructions document.

Figure 11 .
Figure 11.The process of the final 3D assembly instructions document generation.

Figure 12 .
Figure 12.Technical drawings and BOM list automatically produced.