## Materials and Methods  
### Design  
In the FRep approach, the geometry of an object can be represented by the real function, and a general model can be represented as a certain ensemble (M, \(\Phi\), W), where M--the set of geometric objects; \(\Phi\)--the set of geometric operations; W--the set of relationships over the set of objects [46].  
Generally, geometric objects of a given model represent closed subsets of the N-dimensional space, \(\rm E^{n}\). In our case, a 3D Euclidean space, \(\rm E^{3}\), will be considered. The geometry of an object is specified by the function of 3 variables; by using various rules of points classification, we can obtain surfaces or geometric solids. Thus, expression (1) specifies the boundary surface and expression (2) specifies a geometric solid:  
\[f(x,\ y,\ z)=0, \tag{1}\]  
\[f(x,\ y,\ z)\geq 0. \tag{2}\]  
In each point in space \(\rm P=(x,y,z)\in\rm E^{3}\), the classification is done by the value of function \(\rm f(P)\), such that \(\rm f(P)>0\), if the point \(\rm P\) is located within the object; \(\rm f(P)=0\), if the point \(\rm P\) is located at the object's boundary; \(\rm f(P)<0\), if the point \(\rm P\) is located outside the object.  
FRep uses R-functions as set-theoretic operations [46]. The controlled blending versions of set-theoretic operations are applicable to FRep objects. The bounded blending operation [47] is useful for combining a microstructure with the other primitives. This operation allows for the addition or removal of material to/from specified regions of a 3D object, using expression (3) for the bounded blending operation.  
\[\rm F_{bb}\ (\rm f_{1},f_{2},\ f_{3})=\ R(f_{1},f_{2})+\ a_{0}disp_{bb}\ (\rm r), \tag{3}\]  
\[\rm disp_{bb}\ (\rm r)=\ \left\{\begin{array}{l}\frac{\left(1-r^{2}\right)^{3} }{1+r^{2}},r<1\\ 0,r\geq 1\end{array}\right.,\ r^{2}=\left\{\begin{array}{l}\frac{r^{2}_{1}}{ r^{2}_{1}-r^{2}_{2}},\mathbf{r}_{2}>0\\ 1,\mathbf{r}_{2}=0\end{array}\right.,\ r^{2}_{1}(f_{1},f_{2})=\left(\frac{f_{1 }}{a_{1}}\right)^{2}+\left(\frac{f_{2}}{a_{2}}\right)^{2},\ \mathbf{r}^{2}_{2}(f_{3})=\left\{ \begin{array}{l}\left(\frac{f_{3}}{a_{0}}\right)^{2},\mathbf{f}_{3}>0\\ 0,\mathbf{f}_{3}\leq 0\end{array}\right.,\]  
where \(\rm f_{1},f_{2}\)--the implicit functions of 2 geometric primitives; \(\rm f_{3}\)--the implicit function of a primitive restricting the region of blending operations; R--the R-function; \(\rm a_{0},a_{1},a_{2},a_{3}\)--blending operation parameters controlling the symmetry and a resulting shape.  
In the course of 3D modeling, we used Function Representation of 3D objects and, particularly, the skeleton-based surfaces approach in combination with the definition of a scalar field and a distance function [48]. As the unit cell, we take a tetrahedral structure built as a crystal lattice of a diamond, where each atom (red points in Figure 2) forms bonds with its 4 nearest neighbors (blue points in Figure 2), with angles between the bonds constituting \(109.47^{\circ}\).  
Implant models were built in Rhinoceros suite (version 5), using the Symvol FRep plugin for Rhino version 1.5. Figure 3 shows the workflow of the modeling process consisting of 7 general steps: 1. Construction of the wireframe of the unit cell; 2. Replication of the unit cell; 3. Trimming the frame  
Figure 2: Tetrahedral structure of a diamond.  
to its external form (cylinder); 4. Removing unnecessary parts; 5. Application of vTube operation; 6. Adding a cylindrical base plate; 7. Applying the bounded blending operation.