Unlike 3D designs that may be ready-to-print, 2D designs need, at least, the necessary step of giving thickness [189–192]. Since the code changes the scale of the desired twice: automatically to 1 mm and by designer's input to desired *r* mm, the thickness should be provided in terms of a reference dimension. In this implementation, the initial *x* dimension has been selected. If this dimension was 0.8 mm and *t* = 20%, the result will be a thickness of 0.16 mm. If *r* = 100, then *x* = 80 mm and the thickness will be resized to 16 mm. On the other hand, periodicity or other processes, which have been applied to *x* direction, will not affect the thickness. In the latter example, if *per_x* = 2, then *x* = 160 mm but the thickness will remain 16 mm. The thickness is used to convert a 2D design to 3D, which actually can be described as 2.5D since it only extrudes the initial 2D design. This conversion is done by the convert_2d_to_3d function [297–318] which is included at the end of the code.