## 4 Application
### Generative Model Training and Data Generation  
In this study, a voxel-based 3D deep-convolutional generative adversarial network (3D DCGAN) model developed by [PERSON] et al. was used [45]. This model can generate realistic 3D objects from a low-probability distribution. In the first stage of training this model, the probabilistic point distribution is converted into a noise vector. Then, this noise vector is upscaled to the real object size by the generator network [38]. Meanwhile, the discriminator network tries to distinguish between the generated object and the objects coming from the dataset. The ultimate goal of the generator and discriminator network training process is first to create more realistic fake data and then to be able to distinguish them from real data [49]. In this context, a balance must be struck between optimal model quality and the requirements for computation and memory. In practice, this balance is often adjusted based on the available GPU capacity and the desired level of detail in the model. Figure 4 displays three sets of 3D model variations at different resolutions (64 \(\times\) 64 \(\times\) 64, 96 \(\times\) 96 \(\times\) 96, and 128 \(\times\) 128 \(\times\) 128). Each set illustrates how the geometric fidelity of the generated models improves with increasing resolution. In the first set, at the lowest resolution (64 cubic units), the models created with 15,000 data points are quite rough and lack detail. In contrast, the models in the last set, at the highest resolution (128 cubic units) with 4,600 data points, exhibit much more detailed and accurate geometries. However, increasing the resolution significantly raises computational costs and can challenge the graphics processing unit's (RTX 3090) capacity. This is a particular constraint for large-scale GAN training as higher resolutions demand more memory and processing power. The \"number of data\" in the image refers to the number of unique models used at each level of resolution, where decreasing numbers reflect an increased computational load due to a higher resolution. The determination of hyperparameters, including the number of epochs, data size, pool size, and noise vector dimensions, was achieved through a meticulous trial-and-error process. For each hyperparameter, the training process was iteratively repeated, enabling a careful evaluation of its impact on the model's output and overall performance. Similarly, the network architecture was refined based on the quality of the produced parts. Various architectural configurations were rigorously tested, with their effectiveness in generating high-quality designs thoroughly assessed. This methodical approach facilitated precise fine-tuning of the model, ensuring it was adeptly tailored to meet the specific requirements of the application. The network architecture and hyperparameter values used are given in Table 2.  
In this study, the \"PyTorch\" library was used to create a 3D DCGAN architecture and to increase the training process efficiency. A 200-dimensional noise vector was transformed into a 3D matrix in the first stage. The size of this matrix was gradually expanded by four transpose convolution layers in the generating network. A matrix with a higher dimension than the previous layer was obtained in each layer. In the last layer of the generative network, a fake 3D model was generated by a 128 \(\times\) 128 \(\times\) 128 matrix. The discriminator network transformed the 128 \(\times\) 128 \(\times\) 128 matrix into a one-dimensional array using feature maps of different sizes in four convolution layers. By reducing the matrix size in each layer, the generalization capability of the network is increased while the computational cost is reduced. This matrix was converted into a one-dimensional array to train fully connected (FC) layers. In the last stage of the discriminator network, the Sigmoid activation function was used to predict the class of the input matrix (fake or real), and the process was completed.