Two kinds of geometries can be defined inside the MSC Apex Generative Design Configuration File - Spaces and Masks.
The main difference between these two types of geometry definition is that only the Design Space is categorized as a Space. Because a space gets the additional information regarding the material of the geometry. Whereas Masks are just marking areas in the Design Space such as Non-Design Spaces, Constraints, Forces etc. by adding attributes explained below. For every creation of a Non-Design Space or another boundary condition a new Mask is being created. However, if you simultaneously select multiple cells in the Constraints Tool and then create one all cells are saved in just one Mask. This creation and handling of the Masks is very important for the Keep Non-Design Spaces Function. You can find more information on how to apply loads and boundary conditions for this function here.
To get a good understanding of the difference the example of the Bookshelf Tutorial is used.
Example: Generative Design - Bookshelf
The Bookshelf is a beginner tutorial with just a few Non-Design Spaces and boundary conditions. Thus, it is a great example to explain and to have a look at the different geometries.
It has one Design Space, four Non-Design Spaces, one Mask representing the force application area and three Masks representing the fixation application area. The Space and Masks are marked in the picture below.
...
The input in the Configuration File looks as follows:
#=================Geometry=====================================
Design Part
Space Bookshelf
.path = Bookshelf.stl
.material = 316L
.E-Modul = 192372000000.000000
.Poisson = 0.300000
.density = 7.970000e+03
Non-Design Regions
Mask Non_Design_Region_1
.path = Non_Design_Region_1
Mask.Non_Design_Region_1.nonDesign
Mask.Non_Design_Region_1.preserve
Mask Non_Design_Region_2
.path = Non_Design_Region_2
Mask.Non_Design_Region_2.nonDesign
Mask.Non_Design_Region_2.preserve
Mask Non_Design_Region_3
.path = Non_Design_Region_3
Mask.Non_Design_Region_3.nonDesign
Mask.Non_Design_Region_3.preserve
Mask Non_Design_Region_4
.path = Non_Design_Region_4
Mask.Non_Design_Region_4.nonDesign
Mask.Non_Design_Region_4.preserve
Load application regions
Mask Force_-Moment_1
.path = Force_-Moment_1.stl
Mask.Force_-Moment_1.nonDesign
Mask.Force_-Moment_1.preserve
Constraint application regions
Mask Constraint_1
.path = Constraint_1.stl
Mask.Constraint_1.nonDesign
Mask.Constraint_1.preserve
Mask Constraint_2
.path = Constraint_2.stl
Mask.Constraint_2.nonDesign
Mask.Constraint_2.preserve
Mask Constraint_3
.path = Constraint_3.stl
Mask.Constraint_3.nonDesign
Mask.Constraint_3.preserve
#==============================================================
Although the Non-Design Space at the top and the Force Application is the same geometry, separate masks are created for each new condition.