## 3 Printing Information Model for Additive Manufacturing of Concrete Structures
### Conceptual Modeling of the Printing Information Model
Standardized geometry representations support geometric descriptions independently from software tools, ensuring interoperability. Second, nesting features in the PIM model can aid in the description of support structures necessary for overhangs, assuming that the same process method and printing system are employed for the components and the support structures. Support structures are dependent on the type of process method and printing system, and their implementation may be described as a subprocess within the printing process, where support structures are either placed on site (e.g., support formwork) or selectively printed using a sacrificial material (e.g., plaster). By nesting the support structure implementation, the printing process may be described as a continuous process, avoiding issues related to hardware. Third, similar to the support structures, aggregation features in the PIM model can aid in the description of reinforcement solutions by aggregating components. Reinforcement solutions may be implemented in parallel with the printing process, taking place before, during, or after printing, depending on the type of process method and printing system. By aggregating the reinforcement and the components, it is possible to describe the reinforcement solutions independently from the hardware. Figure 3: Knowledge map abstracting printed components according to process-related, material-related, and geometry-related aspects. Figure 4 presents an extract of the PIM model in the form of a UML class diagram depicting the structure of a printed component, i.e., classes and semantic relationships. On the one hand, as can be seen from Figure 4, printed components (_AMComponent_ class) are defined as part of buildings (_Building_ class), providing context to concrete printing projects. On the other hand, printed components are described as outputs of AM processes (_AMProcess_ class), have constituent materials (_Material_ class), and have geometry representations (_Geometry_ class). The _AMProcess_ class includes process-related information necessary for slicing, toolpath planning, and machine control in extrusion-based concrete printing. The _Material_ class refers to material-related information necessary for concrete printing that is generalized for materials, such as concrete (the main material) and plaster (the support material). The _Geometry_ class describes geometry-related information that may be inherited from 3D digital models and that may be generated during planning. A more detailed UML class diagram for the PIM model is presented in Appendix A. For the sake of clarity, details such as multiplicities, attributes, and operations are omitted in Figure 4.  
The _AMProcess_ class has a composition relationship with the classes _MachineData_, _SlicingData_, _ToolpathData_, _ControlData_, _MonitoringData_, and _ProcessBoundaryCondition_. The _MachineData_ class encompasses data from the machines used in the printing system, including system data (_SystemData_ class) reflecting the actual status of the machines, machine settings parameters (_MachineSetting_ class) defined by operators, and machine specifications (_MachineSpecification_ class) describing the machines characteristics. The _SlicingData_ class includes the slicing parameters and uses the machine specifications and feature parameters  
Figure 4: Extract of the printing information model (PIM model) in UML representation, with material–process interactions highlighted in blue. Connector A links the dependency relationship between the _SlicingData_ and _FeatureParameter_ classes. Connector B links the dependency relationship between the _ContourLine_ and _SlicingData_ classes. Connector C links the dependency relationship between the _ToolpathData_ and _ContourLine_ classes. Connector D links the association relationship between the _ProcessConstraint_ and _HardenedStateProperty_ classes. (_Feature_ class) as inputs to generate contour lines (_ContourLine_ class).