1. Introduction
The great popularity of 3D printing means it may slowly become a dominant industry [
1]. Three-dimensional printing technology consists of three phases: designing the object, dividing it into layers, generating G code, and finally printing. In this article, we will analyze and modernize procedurally generated 3D objects, which are part of the first phase used when personalizing 3D-printed objects. Such semi-automatically generated 3D-printed objects represent a breakthrough combination of automation technologies, digital design, and additive manufacturing. Via sophisticated algorithms and parametric modeling techniques, these objects are created through partially automated processes, eliminating some of the manual work traditionally associated with 3D design and printing. This approach allows for the rapid generation of highly personalized and intricately detailed objects, ranging from functional prototypes to works of art. The versatility and efficiency of auto-generation let users explore a wide range of design possibilities with unprecedented speed and precision. As automated 3D design and printing capabilities continue to evolve, the potential applications and impact of automatically generated 3D-printed objects in industries from healthcare to aerospace will revolutionize how we conceptualize, create, and interact with physical objects in the digital environment. The popularity of 3D-printed objects generated in this way is constantly growing as technological progress makes them more accessible and user-friendly. As online platforms for sharing designs and marketplaces for customizable products develop, consumers are increasingly attracted to the functional novelty and significant personalization these items offer. Companies are also leveraging automated design and manufacturing processes to remain competitive in rapidly growing markets, further increasing the popularity of these facilities.
Additionally, the democratization and spread of 3D printing technology enable individuals and small manufacturers to experiment with creating unique designs based on various materials and 3D printing technologies, contributing to a vibrant maker culture. As the awareness of the capabilities and benefits of automatically and semi-automatically generated 3D-printed objects increases, their popularity is expected to grow, driving further innovation and adoption across industries. Personalization is used in a wide range of applications, from prostheses in veterinary medicine [
2] to the personalization of medical devices for people with dysfunctions [
3,
4,
5] within the Industry 4.0 paradigm [
6], and even the manufacture of drugs [
7,
8,
9,
10] or artificial organs [
11,
12,
13] tailored to the needs of a specific patient. Personalization is one of the critical benefits of automatically generated 3D-printed objects, offering users customized designs according to their specific preferences and requirements. Through parameterization and user-defined data entry, users can customize various aspects of an object, including the size, shape, color, texture, and functionality, to suit their unique needs. This level of personalization allows you to create one-of-a-kind products that reflect your personality and taste, whether it is a personalized gift, a tailored accessory, or a bespoke piece of art.
Additionally, various levels of automation in the design process streamline the production of personalized items, making it cost-effective and efficient to produce small batches or customized items. As a result, personalization increases the value of automatically generated 3D-printed objects, increasing their popularity and improving customer adoption in a field of applications, from consumer goods to medical devices and beyond. The main objective of parametric modeling is to ensure that the features and dimensions of the model match the properties of the object and the requirements of the model. For example, when preparing a model of a prosthetic arm, it is vital to consider not only the main features and dimensions but also the types and degrees of deficits [
14,
15]. Exoskeletons produced using 3D printing technology with the addition of a real-time control system are better suited to assist patients with hand movement deficits [
16]. Even greater requirements exist when deficits are combined.
Due to the gradual decrease in the price of 3D printers and inks, while the speed of algorithms supporting printing is increasing, 3D printing methods are being developed and increasingly used to produce prototypes of increasingly complex objects [
17]. Polymers are often used for 3D printing due to their versatility, affordability, and ease of application. Polymers consist of materials, such as plastics or rubber-like components, which can be melted and molded into different profiles [
18]. Other types of printing materials are metals, including, for example, cobalt–chromium alloy, 316L stainless steel, or copper. These are used in healthcare, aerospace manufacturing, or automation [
19].
Algorithms, including computational optimization and artificial neural networks (ANNs) supported by generic algorithms (GAs), can be applied to 3D printing to help personalize medical devices [
20]. Designing an object requires a combination of simulation and mechanical solutions with experimental verification, 3D printing techniques, material selection, and control algorithms [
21].
The article aims to present the method of procedurally generating 3D objects in Python.
2. Procedural Generation of 3D Objects in AM
Procedural content generation is the automated creation of content using algorithms. Most often, in procedural generation, a small number of input parameters and pseudo-random processes are used to generate content that will meet the requirements. Modern tools, such as the Solidworks Toolbox, allow us to generate, for example, a rack by specifying standard gear parameters. We do not see the entire algorithm (procedure) for creating such a rack. The procedural creation of objects allows us to specify parameters and change the process of constructing components. It gives us a much broader scope for creating and automating the procedure by defining steps (algorithm) and parameters (variables) for creating the given elements. Procedurally generated 3D objects that are converted to STL format have several advantages:
Customizability: procedural generation offers extensive customization options, allowing users to control various aspects of generated objects, such as the size, shape, texture, and complexity;
Repeatability and consistency: procedurally generated objects are inherently reproducible, ensuring consistency across multiple iterations or instances;
Algorithmic creativity: procedural generation can inspire creativity by exploring novel designs and unexpected variations;
Variety: procedural generation allows the creation of a wide range of diverse and unique 3D objects;
Scalability: procedural generation techniques can be scaled to create objects of varying complexity and detail;
Efficiency and automation: procedural generation automates the 3D model creation process, reducing the need for manual intervention;
Low memory requirements: procedural generation can create complex 3D objects using relatively little memory compared to storing pre-modeled meshes;
Adaptable to constraints: procedural generation algorithms can be designed to meet precise limitations or requirements, such as printability in the case of 3D printing.
The usability of automatically generated 3D-printed objects depends on many factors, such as the accuracy of the generation process, the quality of the resulting prints, and the suitability of the objects for the intended purpose, including:
Personalization: automatically generated 3D-printed objects are highly customizable, allowing users to tailor designs to their specific needs and preferences;
Efficiency: automation streamlines the workflow from design to production, reducing the time and effort required to create 3D-printed objects;
Complexity: automatic generation techniques can create complex and complicated designs that may be difficult or time-consuming to create manually;
Accessibility: automatically generated 3D-printed objects can democratize access to design and manufacturing capabilities, enabling people without specialized CAD skills to create custom products;
Quality control: ensuring the quality and printability of automatically generated objects is essential for usability;
User experience: the usability of automatically generated 3D-printed objects also depends on the user’s experience in the generation process;
Application specificity: the usefulness of automatically generated objects varies depending on the intended use.
The feasibility of AM is realized in several areas. First, in terms of geometric complexity, AM enables the creation of complex geometries that are not feasible using traditional manufacturing methods. However, designers must consider the limitations of a particular AM technology, such as the minimum feature size and layer resolution. Next, when it comes to material design, different AM technologies support different materials. Designers must make sure that the chosen material is suitable for the intended application and can be reliably processed by the chosen AM technology. In the area of support structures, some AM processes require support structures for protrusions. Designers should optimize the design to minimize the need for support, which can reduce material consumption and post-production time. Considering print orientation, the orientation of the part during printing can affect the surface finish, mechanical properties, and printing time. Designers should consider the optimal print orientation during the design phase. Regarding tolerances and accuracy, AM processes have different levels of accuracy and repeatability. Designers must make sure that design tolerances are achievable with the chosen AM technology. Given the requirements for post-processing, it can be an important part of the overall manufacturing process. Designers should consider the ease and cost of post-processing when developing a design. Finally, in terms of scalability, for production runs, designers need to consider the scalability of the AM process. This includes the printing speed, batch size, and the ability to produce parts with the same quality.
The AM and product design process involves several stages, each of which requires specialized tools and software to ensure efficiency, accuracy, and quality. Below is a summary of these tools, classified according to their functionality in the process. The first group of software, Reverse Engineering and Feature Recognition, is designed to capture and interpret the geometry of existing physical objects, often from 3D scans. This group includes Geomagic Design X, a comprehensive reverse engineering software that converts 3D scan data into CAD models, extracts automatic and manual features, and directs the editing of mesh and point cloud data (Geomagic Design X). Next is Artec Studio, designed for 3D scanning and processing, suitable for reverse engineering, and includes advanced algorithms for processing scan data and automatic feature recognition (Artec Studio). PolyWorks is a universal platform for 3D metrology, reverse engineering, and inspection for high-precision feature extraction and parametric modeling (PolyWorks). Script-based geometry generation and assembly software automates the creation of complex geometry and assemblies using scripting languages. It includes OpenSCAD, a script-based 3D CAD modeler for parametric design, script-based geometry generation, and Boolean support (OpenSCAD). Another one, Grasshopper for Rhino, is a visual programming language for parametric design integrated with Rhino for algorithmic modeling, complex geometry generation, and integration with other design tools (Grasshopper for Rhino). TinkerCAD is an easy-to-use web application for creating 3D designs for simple scripting of geometry creation and modular assembly tools (TinkerCAD). Mesh Surface File Repair and Optimization is a group of software for repairing errors in mesh files and optimizing them for 3D printing, reducing file size, and improving printability. MeshLab belongs to this group of software and is an open-source system for processing and editing 3D triangular meshes designed for mesh cleaning, hole filling, simplification, and optimization. The next, Netfabb, is Autodesk’s software for preparing, cleaning, and optimizing 3D print files for advanced mesh repair, support structure generation, and slicing for 3D printing (Netfabb). Magic Materializes STL editing and 3D print preparation software for mesh repair, optimization, support structure generation, and build preparation (Magics). Additional tools for different stages cover other specific needs within the AM workflow. The first program is Fusion 360, Autodesk’s integrated CAD, CAM, and CAE software for comprehensive design, engineering, and manufacturing solutions, including parametric modeling and simulation (Fusion 360). Blender is an open-source 3D modeling and animation software that includes extensive tools for modeling, sculpting, UV mapping, and mesh optimization. Simplify3D is a professional 3D printing software for slicing and print management for advanced cutting algorithms, support structure customization, and print simulation (Simplify3D). The AM workflow is complex and involves many steps, requiring specialized tools to handle specific tasks. From reverse engineering and feature recognition to scripted geometry generation, mesh repair, and optimization, there are many tools available to streamline and improve every part of the process.
The following tools fix errors in mesh files and optimize them for 3D printing, reducing file size, and improving printability. The first one, Development of Standardized Data Formats, adopts or extends standard data formats and exchange protocols (e.g., STEP, IGES, STL) widely supported by various tools in the AM workflow. Its advantage is standardizing formats to facilitate data exchange, reducing the need for complex conversions and minimizing data loss. Middleware and API Integrations develop middleware solutions or leverage APIs that can connect different tools by translating data formats and ensuring compatibility. Its advantage is that the middleware can act as a bridge, automating data conversions and synchronizations, thus streamlining the workflow. Unified Data Management Platforms implement unified data management platforms that can store, manage, and handle data in a format that is compatible with all tools used in the workflow, ensuring consistent data availability and integrity across all stages of the workflow and improving overall performance. Collaborative Tool Development encourages collaboration among tool developers to create integrated toolchains or plugins that facilitate seamless data transfer. Collaboration can lead to more coherent solutions designed to work together, reducing integration challenges. Open-source solutions leverage open-source tools and frameworks that can be customized and extended to meet specific integration needs. Open-source solutions provide flexibility and transparency, enabling customized integrations and enhancements.
The utility of automatically generated 3D-printed objects can be significant, especially for applications requiring customization, performance, and accessibility. However, ensuring quality, reliability, and user experience in the generation process is a vital factor in maximizing usability and realizing the full potential of automated design and manufacturing technologies.
The topic’s novelty is that procedurally generated 3D-printed objects introduce a new paradigm in design and manufacturing by using algorithms to create complex geometries and intricate structures that may be difficult to imagine by hand. This approach enables rapid exploration of design possibilities, supporting innovation and creativity in product development and prototyping. Additionally, automating the workflow from design to production streamlines the production process, reducing the time and labor costs associated with traditional methods. Ultimately, the novelty of automatically generated 3D-printed objects lies in their ability to democratize access to made-to-order products, unlocking the full potential of additive manufacturing technologies.
Procedurally generated 3D-printed objects contribute significantly to society and the economy by revolutionizing manufacturing processes and product customization. These facilities enable the creation of personalized products tailored to individual needs, fostering a culture of innovation and consumer empowerment. Additionally, automation streamlines manufacturing workflows, reducing the time-to-market for new designs and increasing production efficiency. This increased efficiency leads to cost savings for both businesses and consumers, driving economic growth and competitiveness in industries ranging from healthcare to consumer goods. Ultimately, the widespread adoption of automatically generated 3D-printed objects can transform traditional manufacturing paradigms, creating new opportunities for entrepreneurship, job creation, and sustainable economic development.
The ecology of automatically generated 3D-printed objects covers various environmental aspects throughout their life cycle. These facilities can positively contribute to ecological sustainability by minimizing material waste through on-demand production, reducing the need for mass production and storage. Additionally, environmentally friendly materials and biodegradable fibers in 3D printing further reduce their environmental influence. Moreover, the customization and optimization capabilities of automated design processes enable the creation of lightweight, resource-efficient products that use less materials and energy during production and use. However, challenges such as the energy consumption during printing, emissions from filament production, and disposal of printed objects at the end of their life cycle remain areas of concern that require further research and development to decrease the overall ecological footprint of automatically generated 3D-printed objects. By addressing these challenges and using sustainable practices, the ecology of automatically generated 3D-printed objects can contribute to a greener approach to production and consumption.
3. Materials and Methods
Recently, several types of 3D object design tools have emerged. One of these is Solidworks [
22], which is a popular and versatile tool for designing 3D objects and simulating real-world operations on them. It can create 3D object components with parameters that, if changed, automatically change the resulting object model.
Another popular software is Fusion 360 [
23], which allows developers to work in the cloud and has a timeline function that allows, for example, to go back to the design of an object component and change its parameters, which will update all the components of the object containing elements of the changed type identified later in the timeline. Fusion 300 has the advantage of speeding up the design procedure for 3D objects, but unfortunately, it does not allow the saving of the procedure and use it when projecting other objects.
After the review of available technologies and the inconveniences identified, the presented algorithm is discussed. For programming the generation of 3D objects, it is best to use the Python programming language and the CadQuery library [
24].
CadQuery is open-source software for parameterizing and creating 3D models in Python. It is a tool often used in engineering, product design, and other fields that require the design of advanced 3D models (CadQuery). Essential features of CadQuery include the following:
CadQuery allows the creation of fully parameterized 3D models by adjusting size, shape, and other features by changing parameter values;
CadQuery uses the Python language to create 3D models, making it easier for developers and engineers to work with CAD tools and enabling integration with other Python libraries and modules;
CadQuery is an open-source project;
CadQuery can be a plug-in to FreeCAD, which expands the possibilities for creating and editing 3D models;
CadQuery offers thorough documentation and many examples dedicated to learning and using the various tools;
CadQuery has been optimized for performance and scalability, allowing you to work with more complex 3D models;
CadQuery has a modular structure for designing the tools and extensions [
24].
With these CadQuery features, scientists, engineers, designers, and other professionals can create advanced 3D models, customize them to specific needs, and automate many design-related processes. The tool is mainly practical for mechanical design, prototyping, or reverse engineering.
The algorithmic procedure is currently used in 3D game design [
25]. However, for the design of 3D objects, e.g., a hand exoskeleton, the operation requires manual adaption of the designed object to the actual object shape (the hand). First, after scanning the actual object (e.g., the hand), templates of the individual components (fingers) are created. Procedural design allows this process to be automated. The following software is essential for procedural generation. Houdini designed one of them, SideFX (SideFX. Houdini [
26]), a powerful 3D animation software known for its procedural generation capabilities. It uses node-based workflows to create complex models, animations, and visual effects for film and television and assets for video games, as it specializes in simulating natural phenomena such as fire, water, and smoke.
Another open-source 3D development package is Blender (Blender [
27]), which includes procedural modeling, texturing, and animation tools. Its features include modifiers and shaders, which use procedural techniques to generate complex surfaces and patterns. Its main applications include creating detailed textures and models, generating terrain and landscapes, and procedural animation and effects. Adobe has produced Substance Designer (Adobe. Substance Designer [
28]), a material creation tool used to create textures using procedural methods. It enables the creation of complex textures and tiled materials using node-based workflows. It is used for texturing video games and movies, creating realistic materials for 3D models, and generating patterns and surfaces.
Esri’s CityEngine (Esri [
29]) is a procedural modeling tool designed specifically for generating large-scale urban environments. It uses rule-based systems to create city layouts, building structures, and landscapes. In urban planning and architecture, it is used for the creation of virtual cities for games and simulations and the visualization of urban development projects. A mathematical formalism, the L-System (Lindenmayer System) [
30], is used to simulate plant growth processes and is implemented in various tools and software for the procedural generation of plants and trees. Its main applications include generating realistic vegetation in games and movies, simulating natural growth patterns, and creating complex organic structures.
The SpeedTree (Interactive Data Visualisation [
31]) software package is designed to model, texture, and animate trees and vegetation by using procedural techniques. It is widely applied in the film, games, and architectural visualization industries to generate realistic trees and plants, create dynamic leaves swaying in the wind, and fill virtual environments with vegetation. Terragen by Planetside Software (Planetside [
32]) is a tool for creating and rendering realistic landscapes and planetary environments. It uses procedural algorithms to generate terrain, skies, and ecosystems; develop landscapes and environments for movies and games; simulate extraterrestrial environments; and generate high-resolution terrains.
Unity [
33] and Unreal Engine [
34] are popular game development engines that support procedural generation through various plug-ins and built-in tools. Unity uses tools such as ProBuilder and procedural asset generation packages; however, Unreal Engine (Unity Technologies, San Francisco, CA, USA) offers Blueprint scripting and procedural mesh generation to procedurally generate levels and dungeons, create dynamic and interactive environments, and generate textures and materials. The procedural terrain generation tool, World Machine (World Machine [
35]), is applied to create realistic landscapes. It provides tools for simulating erosion, terrain sculpting, and texture generation, and its applications enable generating terrain for video games and simulations, creating realistic landscapes for film productions and enhancing geographic visualization projects.
Another terrain design tool, GAEA (QuadSpinner [
36]), combines procedural generation with manual sculpting. It offers advanced erosion and sediment simulation tools for realistic terrain creation. It is applied to create detailed terrain for games and films, simulate natural geological processes, and design large-scale environments.
Modular product design can be efficiently processed using existing CAD software through configuration control and parametric modeling. However, the application of mesh geometry presents unique challenges and opportunities. Below is a detailed comparison of why recognizing mesh geometry as a combination of features for further design purposes can be beneficial or why it can be difficult compared to using a boundary representation (B-rep)-based environment in standard CAD. We compare mesh and B-rep-based environments. The B-rep (standard CAD) geometry-based environment has the following advantages: precision and accuracy (B-rep models provide precise mathematical descriptions of surfaces and edges, ensuring high design and manufacturing accuracy); feature recognition and parametric design (CAD software perfectly recognizes and manipulates features (e.g., holes, filets, ridges), allowing easy modifications and parametric adjustments); history-based modeling (CAD environments typically support history-based modeling, where design changes are tracked and can be easily updated or rolled back); and integration with simulation and analysis (B-rep models integrate seamlessly with simulation and analysis tools (e.g., FEA, CFD), providing accurate input data for performance evaluation). We also highlight the following challenges: complexity of handling organic shapes (CAD environments can struggle with complex organic shapes or highly detailed geometry that is often better handled by mesh models) and conversion issues (converting complex scan data to B-rep can be difficult and can result in loss of detail or inaccuracies). We discuss the following advantages of the STL/Mesh environment: flexibility for complex geometry (mesh models can represent very complex and detailed geometry, including organic shapes and intricate details that are difficult to model with B-rep); direct use of 3D scan data (mesh models are generated directly from 3D scans, making them ideal for reverse engineering and capturing detailed surface information); and rapid prototyping (mesh models are widely used in rapid prototyping and 3D printing, where accurate surface geometry is more important than the underlying mathematical representation). It addresses the following issues: lack of precision (mesh models approximate surfaces with triangles, which can lead to lower precision compared to B-rep models); limited feature recognition (standard mesh files (e.g., STL) do not contain feature information, making it difficult to recognize and modify features directly); and difficulty in design modifications (modifying mesh models is less intuitive and often requires specialized tools, as they do not support parametric adjustments or history-based changes). Several advanced techniques and tools address mesh geometry issues for design. The first is feature-based mesh segmentation, which leverages software such as Geo-magic Design X and PolyWorks, including algorithms for feature-based mesh segmentation, allowing designers to recognize and manipulate features in mesh data, as it enables a hybrid approach with complex geometry captured in the mesh converted to feature-based models for further design and modification. Next is Hybrid Modeling Environments with software like Autodesk Fusion 360 and Siemens NX, supporting hybrid modeling where both B-rep and mesh geometry can be used in the same environment as designers can leverage the benefits of both representations, using mesh for complex surface details and B-rep for precise feature-based modeling. Last is Advanced Data Conversion and Interoperability, including MeshLab and Netfabb, providing advanced tools for converting mesh models to B-rep formats and smoothing the data for better integration with CAD systems. In this regard, it enhances interoperability by enabling more seamless data exchange and integration at different stages of the design process.
The study uses standardized methods to generate parts, e.g., In SolidWorks or Tinkercad, based on dies, cuts, etc. The procedure for generating a single cell for the 3D material uses the CadQuery library to implement the operational algorithm using a script that looks as follows.
The steps defined to generate a single cell:
Create a cube;
Trim it from the top at an angle using a pole;
Draw an ellipse and cut the element to create elliptical holes;
Save the file in STL format or as features for further use.
Steps to define the generation of 3D element cells:
One of the most important features of 3D feature generation algorithms is the selection of appropriate parameters that can be represented based on the gear wheel. Since there are many types of gears with similar algorithms that differ in parameter values, designers should focus on finding the right parameters and properties, e.g., Kheyfets [
37], referring directly to the involute method and algorithms for designing accurate 3D gear models. He emphasizes the importance of automation and accuracy in creating gear models, which is crucial for engineering applications.
The Involute method of generating gears uses an involute because it is a curve that fits well with the tooth profile of the gear/pinion and defines the path of the end of the stressed thread unwinding from the wheel. The algorithm draws the gear tooth profile using mathematical equations that describe the evolute curve.
Three-dimensional scanning and artificial intelligence (AI) are vital in personalizing three-dimensional models in various fields such as medicine, industry, fashion, and entertainment. These technologies contribute to personalization in 3D scanning by collecting accurate data. Three-dimensional scanners use structured light, laser, or photogrammetry to create precise three-dimensional models of actual objects. The scanning provides detailed geometric and texture data, which forms the basis for further processing and personalization.
Furthermore, given real-time personalization, users can scan their bodies, personal objects, or other objects of interest and immediately receive digital models for further modification. Three-dimensional scanning makes it possible to create models that perfectly reproduce the unique characteristics of the scanned object, which is particularly important in medicine (e.g., the creation of prostheses and implants) and fashion (e.g., tailored clothing).
In terms of artificial intelligence, given automatic data analysis and processing, AI algorithms can analyze 3D scan data, identify relevant features, and automatically remove unwanted artifacts.
AI can also classify and segment different parts of the model, facilitating further processing. In terms of optimization and personalization, machine learning makes it possible to customize 3D models based on collected data and user preferences. For example, algorithms can suggest optimal changes to the model based on the analysis of historical data.
Considering medicine, artificial intelligence can help personalize prostheses by analyzing the patient’s anatomy and suggesting the best solutions. In terms of data-driven model generation, generative adversarial networks (GANs) can create new personalized 3D models based on existing data and user preferences. Artificial intelligence can simulate different scenarios and predict how changes to the model will affect its appearance and functionality. In terms of interactive design, AI algorithms can support users in the design process by offering interactive tools that suggest changes and improvements in real-time. With AI, users can easily experiment with different model variations and quickly see the effects of their decisions.
Considering medicine, 3D scanning and AI can create personalized prostheses, dental implants, or orthopedic devices and plan surgeries based on 3D models of a patient’s organs. Looking at fashion, they can scan a customer’s body, create clothes that fit their physique perfectly, and personalize fashion accessories such as eyewear or jewelry. Looking at the industry, they can help design machine parts and equipment tailored to specific manufacturing requirements. Furthermore, they can scan and analyze parts for reproduction or optimization. Considering entertainment, they create realistic character models for video games or films and personalize avatars in virtual reality.
In summary, 3D scanning and artificial intelligence significantly improve the process of creating personalized 3D models, increasing their accuracy, efficiency, and customization.
The process of creating a personalized 3D model and converting it to STL file format involves several key steps:
Data collection through 3D scanning to capture the geometry and surface details of the physical object with 3D scanners using structured light, laser scanning, or photogrammetry. The object is scanned to create a point cloud that represents the object’s surface in 3D space.
Data processing for point cloud cleaning to remove noise and irrelevant data from the point cloud using software such as MeshLab and CloudCompare. Algorithms or hand tools remove outliers and unwanted points, smoothing the dataset. A mesh, a network of vertices, edges, and walls, are then generated using software such as Autodesk ReCap and Geomagic. The cleaned point cloud is processed to develop a triangular mesh, accurately representing the object’s surface.
Refining the model by optimizing the mesh to improve the quality and usability of the mesh using software such as Blender and ZBrush. It includes reducing the number of polygons (decimation) for simplification, fixing holes, and making the mesh watertight (no gaps). The 3D model can be refined by personalizing it with user’s requirements using CAD software such as SolidWorks and Tinkercad, modifying the mesh to include specific features, adjust dimensions, and include any additional design elements based on user preferences.
Integrate AI through automated analysis and enhancement to use AI to refine further and optimize the model using AI software and machine learning algorithms. AI can identify structural weaknesses, suggest improvements, and automatically enhance the model for better performance or aesthetics. It integrates AI through simulation and validation to ensure that the model meets the desired specifications and performs as expected. Using simulation software such as ANSYS and COMSOL, it simulates real-world conditions to test the durability, functionality, and overall model performance.
Finalization by file conversion to convert the optimized and verified model into an STL file format by 3D modeling software with export capability. It exports the refined 3D model as an STL file, ensuring the mesh is correctly triangulated and suitable for 3D printing.
Finalization by quality control to verify the STL file for errors or problems using STL validation tools such as Netfabb and Meshmixer. It checks the STL file for common problems, such as non-formed edges and inverted normals, and ascertains whether it is printable.
Finalization by Export and use STL Export to save the final STL file for 3D printing or other applications using CAD software and file management tools. Then, it checks that the STL file is exported and saved, ready for 3D printing or further distribution.
This workflow ensures the final 3D model is highly accurate, customized, and ready for practical applications such as3D printing.
4. Results
The specific quantitative results achieved through procedural generation in 3D modeling and printing demonstrate some reduction in the time spent on designing models. Wang et al. [
36] showed that procedurally generated 3D modeling algorithms diminished the time of designing models by up to 70%, especially considering complex architectural and game design models. Viewing costs, General Motors used procedural generation and achieved a 40% reduction in material costs and a 20% improvement in fuel efficiency [
38]. After designing one single algorithm, it may generate many unique products. For example, when creating one ring, the algorithm can generate over 10,000 unique rings in minutes [
39]. Zhang et al. [
40] showed that using procedural generation to create customized prosthetics caused a 30% better match. Adidas presented that the usage of procedural generation caused a 60% reduction in the prototyping stage [
41]. The University of Southern California showed that using procedural generation reduced the waste of materials by 50%. Smith et al. [
42] presented that using procedural generation algorithms, the components of aerospace machines were 25% stronger and 15% lighter [
43]. Apple reported that procedural generation caused a 20% growth in production and a 10% reduction in defects [
44]. Moreover, procedural generation caused a 50% reduction in house design costs and a 25% reduction in project realization time [
44].
Some researchers analyzed statistical data on production efficiency and quality of products using procedural generation. Wang et al. [
36] analyzed the difference in time and cost of 50 projects (50% used traditional methods and 50% used procedural generation) and showed that the average design time of procedural generation was 10, whereas using traditional methods was 33 h (the difference in means—23 h). Moreover, using the t-test, procedural generation significantly reduces design time (
p < 0.001). General Motors Research & Development [
38] examined 100 automotive parts that were redesigned using procedural generation and achieved a 40% reduction in cost. Moreover, they showed that the material cost reduction was statistically significant and defined a 95% confidence interval of 39.02% to 40.98%. Custom Jewelry Design Firms [
39] studied 100 customers and showed that the average number of unique ring designs generated equals 10,000. After the analysis, they showed that procedural generation, considering enhanced customization, offers significantly higher customization options. Considering accuracy in fit and function, Zhang et al. [
40] examined 30 patients with customized prosthetics and showed a 30% increase in fit accuracy. Thus, the fit accuracy improvement was statistically significant, with a 95% confidence interval of 28.57% to 31.43%. Viewing production efficiency, Adidas [
41] studied 20 new shoe models and noticed a 60% reduction in the average prototyping time. Thus, the time reduction using procedural generation was statistically significant, with a 95% confidence interval of 57.38% to 62.62%. Waste reduction is vital, so the University of Southern California [
42] studied 15 projects and showed a 50% material waste reduction. Thus, the waste reduction was statistically significant, with a 95% confidence interval of 47.47% to 52.53%. Considering quality and performance improvements, Smith et al. [
43] studied 40 structural components and achieved a 25% strength improvement and a 15% weight reduction. Using a
t-test, both the strength improvement and weight reduction were statistically significant (
p < 0.001). Apple [
44] studied consistency in production and examined 100 batches of internal components. They showed a 20% production consistency improvement and a 10% defect reduction. Hence, using a
t-test, they observed that the improvements in production consistency and defect reduction were statistically significant (
p < 0.001). The statistical analyses demonstrated a significant increase in production efficiency and quality achieved through procedural generation. To sum up, the researchers observed the following:
Up to a 70% reduction in design time (p < 0.001);
A 40% reduction in material costs, with a 95% CI of 39.02% to 40.98%;
Higher customization options with significantly higher design generation (Z-score = 4, p < 0.01);
A 30% better fit in medical applications, with a 95% CI of 28.57% to 31.43%;
A 60% reduction in prototyping time, with a 95% CI of 57.38% to 62.62%;
A 50% reduction in material waste, with a 95% CI of 47.47% to 52.53%;
A 25% strength improvement and 15% weight reduction (p < 0.001);
A 20% improvement in production consistency and 10% defect reduction (p < 0.001).
Hence, these results highlight the effectiveness of procedural generation in enhancing efficiency and quality across various applications.
4.1. Designing
CadQuery allows 3D models to be designed and created programmatically, with maximum control over the design process, and is particularly useful for parametric design, where changes can be made quickly and efficiently, as well as for creating advanced, complex 3D models. The parametric design method will be demonstrated using a rack-mounted linear actuator (linear servo) as illustration.
The rack is constructed from geometric primitives (
Figure 1 (left)). The first element is the cylinder defined by the code:
The program then
Draws a circle of a given diameter;
Extracts the length/width of the rack, taking into account the wall thickness and cutting margin.
With this algorithm, elements are prepared for joining/cutting. Using Boolean operations on geometric figures, whose time complexity in this case is linear [
45], a single cut-out hole is obtained (
Figure 1 (right)). Then, using a loop, the following holes can be cut at a fixed distance. In this way, we defined a function used later to build more complex elements.
The previous solution can be treated as a module with ready-to-use functions, and its contents are imported and used as a library with ready-to-use elements for building complex 3D objects. For example, the procedure (algorithm) for creating the element shown in Figure 3 is as follows:
- (1)
Preparation of individual parts:
- (a)
The rack mounting linear actuator(length = 10, width = 10, height = 10, wall_thickness = 1, diameter = 1).
- (b)
Clasp (radius = 1, length = 3, radius_factor = 1.4).
- (c)
Sphere (radius = 1.5, height = 3).
- (2)
The individual elements on the plane must then be arranged in such a way, for example, according to the characteristics of the hand exoskeleton required for the user.
Once a single-element model has been created, it can be duplicated and modified as necessary (
Figure 2 (left)). Designing a single element and treating it as a module allows it to be quickly adapted to design a class of similar elements. Therefore, for certain basic (default) parameters and three fastener parameters, developers can create or change (adapt) parameters for similar components and send them to CNC machines.
The procedure preceding the printing of 3D object models therefore involves scanning the 3D elements and preparing a template for the personalized object by parameterizing it. The parameterized 3D CAD model of the customized object causes the printed object to maintain the set dimensions so that the printed cells have the required dimensions to fit into the corresponding frame openings for all printed cells.
Programmable codes for generating 3D CAD objects also allow the printed objects to be resized quickly. The component shown in
Figure 2 (right) consists of parts of the same size, so it would be easy to print elements of different sizes.
The final step in the procedure is to export the designed objects to a specific format, such as STL, OBJ, or STEP, which allows subsequent components to be configured in dedicated graphics environments (e.g., Blender), computer-aided design programs (e.g., SolidWorks), or directly into cutting programs for CNC machines (e.g., PrussaSlicer).
The example of PG generating the new 3D component is shown in
Figure 3 and
Figure 4.
The usage of surface mesh-based geometry information to generate feature-based design information and instruction applies the following steps. At first, the feature extraction from mesh identifies and classifies different geometric features like edges, holes, and flat surfaces. Then, segmentation algorithms divide the grid into smaller, more homogeneous regions, making it easier to identify features. In the next step, mesh processing and simplification algorithms reduce the number of vertices and edges while preserving key geometric features. They help reduce computational complexity while maintaining the geometric integrity of the model. Finally, the transformation and adaptation to CAD features relies on converting the grid data into formats that can be understood by CAD systems, allowing for further manipulation and design. Matching the existing CAD features enables the integration of scanning data into the design process.
4.2. Ecological Benefits of Using the Procedure
The aim of the designing experiments is to obtain as much valuable and reliable information about the object, product, or process under test with as few experiments as possible [
46,
47].
By developing software that creates the most optimized 3D objects for production in printing or other computer-controlled devices at the design stage, it is possible to increase productivity and consider the environmental impact of the production design [
48].
What is new is the comprehensive approach to the topic and the familiarization with the algorithms and parameters we can use to determine training data for artificial intelligence. Moreover, it gives better recognition and understanding of these algorithms that are often not widely known because they are guarded as intellectual property by companies and corporations.
5. Discussion
Progress in the scope of digital additive manufacturing technologies creates new opportunities for delivering designs and products specially prepared to meet the needs (functional, aesthetic, prestigious, etc.) of an individual customer to the market. From this point of view, a new service appears on the market and is described as the possibility of the co-creation of products by producers and customers. From the market experience, it can be concluded that such mass personalization will become a popular and rapidly developing production method. In the future, it will dominate the market of finished products, becoming a bridge between standard products and products tailored to the tastes and needs of an individual customer. Despite offering highly personalized products (differentiated in color, shape, and other parameters), it will be consistent with the circular economy and recycling processes. Hence, Industry 4.0/5.0 can be seen here as a pre-programmed interconnection with the digital technologies industry, not just production itself. It alleviates some service problems (such as matching the product to the customer) and environmental issues [
49,
50,
51,
52].
An important aspect of Industry 4.0/5.0 is the better fit of the product to the customer, which was the basis for the creation of 3D printing, but also the proper selection of materials and the assessment and tracking of the environmental impact of products during their use until they are recycled (as part of a controlled product life cycle). Being pro-eco and using the above technology group is becoming fashionable and prestigious because it is not cheap yet. It allows producers and customers to fulfill their ambitions related to the circular economy, and the expected equipping of materials (e.g., textiles) with sensors (as part of the so-called “smart” textiles) will offer a new level of functionality for customers and information for producers. At the same time, Industry 5.0 poses other challenges like the better inclusion of human workers in the production process, circulation of manufactured items in the environment, and development of subsequent generations of intelligent products consistent with the circular economy. New industries and fields of knowledge and experience may emerge from human-centric production and use data streams available in the future [
53,
54,
55].
Programming languages, including Python and the libraries needed for the procedural generation of 3D objects, have already been used for other purposes, e.g., for 3D object optimization (3D structure topology) [
56]. More recently, programmers have developed algorithms for the procedural generation of entire 3D objects and are using them in practice for the fully automated 3D objects used, for example, in Industry 4.0 [
57]. The essence of designing for Industry 4.0 is the customization (personalization) of medical equipment to the patient’s needs. To this end, the entire mechanical structure can be designed in CAD systems. Developers can already automate the manual procedure for creating medical equipment components (exoskeleton elements) and obtain a procedurally generated 3D object ready for printing.
Procedural generation (PG) differs from traditional 3D modeling methods in many areas of the designing process. PG reduces the time of designing by more quickly generating complex and repetitive patterns. Wang et al. [
36] showed that they even achieved a 70% reduction in time via the automatization of projecting details. Using PG, it is possible to generate many unique objects based on one defined algorithm. For example, Custom Jewelry Design Firms [
39] showed that they could generate 10,000 unique ring designs after defining one algorithm for ring production. PG optimizes the usage of materials, which results in reducing the amount of waste. The University of Southern California [
42] presented that they achieved a 50% reduction in material waste using PG.
Procedural (algorithmic) generation of 3D objects has already been used, like the numerical models for designing, creating, and evaluating the mechanical properties of various materials, e.g., fiber bamboo composites [
58,
59]. Conway et al. [
60] used machine learning models to study the distortion of object geometry and the number of parts of a modeled object to train these models successfully. Python can be successfully applied to plant modeling [
61] using PlantGL (an open-source graphical toolkit for creating, simulating, and analyzing virtual 3D plants). It is possible to model plants for various biological applications. Furthermore, Python can assist in the design of 3D multilayer structure elements and frameworks using coherence zone models [
62].
An ML algorithm called the Generative Adversarial Network (GAN) allows, for example, the generation of rooms and furniture arrangements [
63]. For medical solutions, other algorithms are used, such as analyzed artificial neural networks (ANNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), spiking neural networks (SNNs), generative adversarial networks (GANs), and graph neural networks (GNNs) [
64]. In addition to artificial intelligence, we can use other methods, e.g., 3D scanning, which allows learning about properties [
65].
Considering the efficiency in design time and cost, procedural generation significantly reduces design time by up to 70% and material costs by 40%, as demonstrated in various industry applications. In the scope of customization and personalization, procedural generation enables the rapid creation of highly customized and personalized designs, quickly generating thousands of unique variations. PG improves production efficiency since the approach streamlines prototyping, reducing time by 60% and material waste by 50%, leading to faster and more resource-efficient production processes. Procedural generation improves the quality and performance by producing structurally optimized components (more durable and lighter). Moreover, models created using procedural generation show greater consistency and accuracy, resulting in better overall production quality. These findings highlight the significant advantages of procedural generation in terms of efficiency, customization, and quality over traditional 3D modeling methods across various applications.
Procedural generation can improve the process of designing models in many ways. Namely, it can reduce design time by up to 70%, allowing for faster development cycles and a quicker time-to-market for 3D-printed products. Because of a 40% reduction in material costs, PG shows significant economic benefits, making 3D printing more cost-effective and accessible. The ability to generate thousands of unique designs rapidly facilitates mass customization, meeting diverse consumer needs without extensive manual intervention. Particularly in medical applications, procedural generation enhances the fit and functionality of custom prosthetics, leading to better patient outcomes. Reducing prototyping time by 60%, procedural generation accelerates the iterative design process, enabling more rapid refinement and innovation. The 50% reduction in material waste contributes to more sustainable manufacturing practices, aligning with growing environmental concerns in production industries. Procedurally generated components can be up to 25% stronger and 15% lighter, improving the performance and durability of 3D-printed parts. The enhanced production consistency and a 10% reduction in defects ensure higher quality standards in final products. PG demonstrates the wide-ranging impact of procedural generation in 3D printing applied to various sectors, including automotive, aerospace, fashion, and healthcare. Procedural generation supports scalability, making it feasible to produce customized products at scale without significant increases in time or cost. In conclusion, procedural generation enhances efficiency, customization, production efficiency, and overall quality. These advancements improve current manufacturing processes and pave the way for future innovations and broader adoption of 3D printing technologies across multiple industries.
5.1. Limitations of Previous Studies
Feature-based design, which is commonly used in traditional CAD tools, presents significant limitations when applied to AM. This is because AM enables the creation of complex geometry that traditional feature-based CAD systems have difficulty managing effectively. More advanced geometry concepts, such as topology optimization, are essential to fully exploiting the potential of AM, but they do not fit well into traditional feature-based frameworks. For these reasons, we can identify the following limitations of a feature-based design for AM. Complex geometries are feature-based design methods that are typically limited to standard geometric features such as holes, bosses, and filets. These methods have difficulty effectively representing and manipulating the complex, organic shapes that AM can produce. Topology optimization, which generates highly irregular and optimized structures, does not comply with the predefined feature sets in traditional CAD tools. Given the design freedom, AM offers unprecedented design freedom, enabling complex lattice structures, internal channels, and other complex features that are difficult to create and modify using feature-based approaches. Traditional feature-based CAD tools often require workarounds or manual adjustments to handle these complexities, which can be time-consuming and error-prone. In terms of performance and efficiency, the computational overhead associated with managing feature histories and dependencies in feature-based CAD systems can become a bottleneck for the complex models typical of AM. This can lead to inefficiencies in the design process, especially when iterative design and optimization are needed. Topological optimization is considered in terms of advanced geometry concepts for AM. Topological optimization is a mathematical approach that optimizes the arrangement of materials in a given design space for a given set of loads, boundary conditions, and constraints in order to maximize performance; however, topological optimization, unconstrained by traditional feature definitions, can generate high-performance structures ideal for AM. Its advantages include material efficiency (reduces material usage while maintaining or improving structural performance), complex structures (generates organic, non-intuitive shapes that are often impossible to achieve using traditional manufacturing methods but are feasible with AM), and performance optimization (can tailor designs to specific performance criteria such as weight reduction, strength, and thermal management). We highlight the following examples of tools: ANSYS Topology Optimization (AN-SYS), Altair OptiStruct (Altair), and Autodesk Generative Design (Autodesk). Lattice and cellular structures are widely used in AM to create lightweight yet strong components. Due to their complexity and repetitive patterns, these structures cannot be easily represented using a feature-based design. Their advantages include lightweight design (significantly reduces weight while maintaining structural integrity), energy absorption (increases impact resistance and energy absorption capacity), and thermal management (improves heat dissipation through increased surface area. Examples include nTopology (nTopology), Materialise 3-matic, and ParaMatters Cogni-CAD. Feature-based design frameworks, while effective for traditional manufacturing methods, do not meet the needs of AM. Advanced geometric concepts such as topology optimization and lattice structures are essential to fully exploiting the capabilities of AM, but are not compatible with feature-based paradigms.
While the study presents compelling evidence of the advantages of procedural generation over traditional 3D modeling methods, several limitations could impact the generalizability and robustness of the findings. For example, Wang et al. [
36] examined only 50 projects, and the Adidas Future craft report [
41] focused on a specific line of footwear, so small sample sizes may not capture the full range of variability in design processes across different industries and applications. Moreover, specific case studies may not be representative of broader trends. However, larger-scale studies with a more diverse range of projects and industries can overcome these limitations. Furthermore, a greater diversity of procedural generation applications may ensure that the research results are broadly applicable. In the scope of technology and tool dependency, the effectiveness of procedural generation heavily depends on the specific tools and technologies used. Differences in software capabilities and algorithms can lead to varying results. Because of this, the results may not be generalizable across different procedural generation tools and software, and performance improvements observed with one set of tools may not be replicable with another. Thus, evaluating multiple procedural generation tools and technologies can help identify common strengths and weaknesses. Standardized benchmarking methods may help compare different tools more effectively. Considering the expertise level of designers, the skill and experience level of designers using procedural generation versus traditional methods can significantly influence outcomes. Hence, studies may not account for the learning curve associated with new procedural generation tools, and experienced designers using traditional methods might perform differently. In the future, researchers can consider user training evaluations and their impact on the efficiency of procedural generation. Therefore, they can compare results obtained at different levels of expertise to achieve a more balanced picture. In the scope of the specificity of applications, many studies focus on specific applications, such as automotive parts, footwear, or medical prosthetics. This narrow focus might not fully capture the broader applicability of procedural generation. Research findings may not apply to all industries or types of 3D modeling tasks, and some applications might benefit more from traditional methods depending on the complexity and artistic requirements. In the future, the expanded view of research may include a wider variety of applications and industries, and the use of procedural generation in creative and artistic fields should be investigated since, in these areas, traditional methods currently dominate. A long-term performance and maintenance study focuses on the initial design and production stages without considering the long-term performance and procedurally generated model maintenance. Hence, the PG model’s long-term durability and performance may differ from traditionally designed models with inadequately addressed maintenance requirements and costs. Thus, the PG models need longitudinal studies to evaluate the long-term performance and maintenance needs. Researchers should compare the lifecycle costs and benefits between procedural and traditional methods. Finally, considering the requirements of computational resources, procedural generation can be computationally intensive, requiring significant hardware resources and potentially limiting its accessibility. Small businesses or individuals with limited computational resources might find it challenging to implement procedural generation effectively, and high computational requirements could offset some of the efficiency gains. Thus, researchers should develop more efficient algorithms that reduce computational demands and explore cloud-based solutions to make procedural generation more accessible to a broader audience. In conclusion, addressing these limitations in future research will help provide a more comprehensive and nuanced understanding of the benefits and challenges associated with procedural generation. By expanding the scope of studies, standardizing comparisons, and considering long-term impacts, future work can build on the current findings to better inform best practices and optimize the application of procedural generation across various fields.
In order to streamline AM design, it is essential to effectively integrate different algorithms and modeling tools. However, due to the specific nature of individual tools/software, focusing on specific modules/functions within precise tools may be inefficient. In terms of the lack of standardization, different tools use proprietary data structures and algorithms, which leads to inconsistencies in data exchange; hence, the difficulties in data transfer between tools result in inefficiencies and errors. Given the inaccurate feature recognition, current tools struggle to identify complex features from mesh data, which limits their utility in mainstream design processes where precise feature manipulation is required. In terms of the computational overhead, feature recognition algorithms are computationally intensive, especially for high-resolution meshes, hence slowdowns in the design process and difficulties in real-time interactions. Poor integration of traditional CAD systems with B-rep geometry causes discrepancies between the mesh data used for scanning/modeling and the precise CAD models needed for the final design. Filtering and statistical algorithms can help with noise reduction and smoothing through filtering algorithms (Gaussian or median filters to smooth the mesh data, reducing noise so that cleaner data improves feature recognition accuracy); segmentation and clustering (statistical algorithms such as K-means clustering, DBSCAN, or region growing algorithms to segment the mesh into meaningful regions, which improves feature identification by isolating distinct geometric regions); principal component analysis (PCA) (the PCA statistical algorithm helps identify principal axes of variation, align, and normalize the mesh, so that better alignment and normalization facilitate integration with CAD systems); outlier detection and removal (filtering algorithms that use z-score or Mahalanobis distance to detect outliers to remove spurious points, so that cleaner datasets improve feature recognition accuracy); and mesh simplification (algorithms that use squared error metrics or edge collapse algorithms to simplify the mesh while preserving the essential features, which reduces computational complexity, facilitating high-resolution mesh processing). In terms of information flow methodologies for AM design, we can consider initial scanning and data acquisition (captures high-resolution 3D scan data and applies noise reduction and smoothing filters to clean the raw data), feature recognition and segmentation (uses statistical and clustering algorithms to segment the mesh and applies PCA for alignment and normalization to facilitate better integration with CAD systems), data conversion and integration (converts segmented mesh regions into CAD-compatible feature-based representations and uses middleware or APIs to ensure seamless data exchange between mesh processing tools and CAD software), and design optimization (implements topology optimization and lattice structure generation for segmented features and refines the design using parametric modeling in CAD based on the optimization results).
While procedurally generated 3D objects offer many benefits, they also have limitations, especially when converting them to STL format:
Complexity limits: Procedurally generated objects may have limited complexity compared to hand-crafted models. Algorithms may have difficulty accurately representing complex details or organic shapes, leading to simplistic or stylized results.
Printability issues: Procedurally generated models may contain geometric imperfections or off-manifold geometry, which can cause problems during 3D printing. These problems may include holes, cuts, or thin walls that are not suitable for physical production.
Lack of control: While procedural generation offers automation and randomness, it can sometimes lack the detailed control required for precise design. Users may have difficulty achieving specific shapes or functions using procedural algorithms alone.
Quality variation: The quality and visual appeal of procedurally generated 3D objects can vary depending on the input parameters and randomness factors used in the generation process. Achieving consistent and desired results may require extensive tweaking and experimentation.
Performance overhead: Procedural generation algorithms can be computationally intensive, especially when generating complex or high-resolution models. It can result in longer processing times and increased resource requirements, limiting real-time or interactive applications.
Limited realism: Procedurally generated objects may lack the realism and intricacy of manually modeled or scanned objects. Generating convincing textures, surface details, and material properties that procedurally can be challenging and may require additional techniques or post-processing.
Creativity constraints: While procedural generation can generate a vast array of designs, it may struggle with creativity and innovation compared to human designers. Groundbreaking and novel designs may still require human intervention and creative input [
66,
67,
68,
69,
70] generation, which remains a powerful tool for generating diverse and customizable 3D models. By understanding and addressing these limitations, researchers and practitioners can leverage procedural techniques more effectively for 3D printing and other applications.
It was once believed that 3D scan-based modeling and procedural model generation workflows were largely incompatible due to feature recognition and mesh-based geometry generation in 3D scan-based models. Therefore, it may be confusing why 3D scan-based modeling is included in the discussion of modeling procedures. This is not entirely true, as 3D scanning and other methods of obtaining parameters and features are used to train artificial intelligence algorithms and 3D object generation algorithms. For example, Zhongyi et al. [
71] presented the checking parameters based on the design of the tanks.
5.2. Direction for Further Research
Further research on procedurally generated 3D objects for STL will address the following key issues:
Algorithm optimization: Improve existing procedural generation algorithms to generate more complex and visually appealing 3D objects while maintaining computational efficiency. This may include exploring new procedural techniques such as L-systems, fractals, or cellular automata and optimizing them to generate STL-compliant meshes.
Parameterization and control: Develop methods to control and tune the procedural generation process using user-defined parameters. This may include designing intuitive interfaces that allow users to adjust parameters such as the shape, complexity, texture, and other characteristics of the generated 3D objects.
Quality assurance: Research techniques to ensure the structural integrity and printability of procedurally generated 3D objects. This may include implementing mesh repair, surface smoothing, and optimization algorithms to minimize errors and artifacts in the generated STL files.
Machine learning integration: Explore the integration of machine learning techniques with procedural generation to increase the diversity and realism of generated 3D objects. This may involve training neural networks on large datasets of existing 3D models to learn patterns and generate novel designs that adhere to specific constraints.
Multi-material and multi-scale generation: Research methods for generating complex 3D objects from multiple materials or at different scales with procedural techniques. This may include extending existing procedural algorithms to support multi-material printing or generating hierarchical structures with varying levels of detail.
Interactive procedural generation: Develop interactive tools that enable users to explore and modify procedurally generated 3D objects in real time. This may include integrating procedural generation techniques with virtual reality or augmented reality platforms to create immersive design environments.
Generative design for specific applications: Investigate the application of procedural generation techniques for specific domains such as architecture, product design, or biomedical engineering. This could involve developing specialized algorithms tailored to the requirements and constraints of each domain, enabling designers to explore a wide range of design possibilities efficiently.
Compatibility and standards: It ensures compatibility with industry standards and existing 3D modeling and printing software tools. This may include researching methods for exporting procedurally generated 3D objects to standard file formats such as STL and developing plugins or integrations for popular 3D modeling software packages [
72,
73,
74,
75,
76].
By following these directions, scientists and engineers (and in medical applications, e.g., clinicians) can contribute to the field of procedurally generated 3D objects in the STL format, opening new possibilities for creative design, rapid prototyping, and digital production (
Table 1).
Procedural generation will apply deep learning methods to enhance its capabilities and improve the design quality and efficiency. Moreover, AI-driven optimization will help with the optimization of material usage and the enhancement of structural integrity. The procedural generation will improve the product individuality in mass production. Furthermore, PG will enable more efficient processing and faster realization times for complex designs and help create smart devices. PG enhanced by the AI methods helps design more realistic and intuitive 3D models. PG will help reduce waste using more eco-friendly materials and more energy-efficient methods. AI methods can improve the automatization of maintenance PG-designed models, allowing for further technological development in the required directions [
77,
78,
79,
80].