Surgical fixation plate

The purpose of this notebook is to illustrate the usage of the OpenCascadeLink to create a surgical fixation plate based on a parametric design.
A surgical fixation plate is a medical device used to stabilize and support broken bones during the healing process. Titanium fixation plates, particularly those designed for the forearm, are favored for their strength, biocompatibility, and resistance to corrosion. These plates are surgically attached to the fractured bones using screws, ensuring proper alignment and promoting effective recovery. The usage of a parametric design allows for optimization procedures and easy personalization of the devices based on the patients needs.
The fixation plate design is based on an analytical description that leads to a parametric geometry function of the fixation plate's side length and the width. The creation procedure in OpenCascade starts with the description of the planar face which is then extruded to form the 3D object.
Surgical fixation plate (in brown) placed over the Radius in the forearm.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-8bxqkz
Geometry
The fixation plate is divided into a central section and two fixation sections at the sides. Both the fixation sections and the central section have three holes each.
Two dimensional technical diagram of the planar surgical fixation plate with sizes expressed as a function of the desired length and width. The fixation plate is divided into three sections, each with a length of length/3.
To create the 3D geometry a 2D draft will be made that then can be extruded to 3D. To make this 2D draft, all edges will be parameterized and connected to form a planar 2D face. From that face the holes can be removed and in the last step the perforated face will be extruded to 3D.
The first step is to create the top edge of the 2D plate. This long edge can be split in three regions represented by a sine function scaled to fit the desired numbers of holes in each semi-period. The geometric properties are expressed in centimeters.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-ggh9zw

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-81qcnb
A sine function is used to house the holes of the fixation plate within each positive wave cycle of the period. The period is determined by dividing the available length by twice the number of fixation holes.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-p57gd3


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-uzsehu

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-5ccp00

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-qojmuv

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-i8y20p

The next step is to convert this plot of the edge into a spline. For that the edge is discretized and downsampled and converted to a BSplineCurve.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-7ucuyi


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-r8w7ly

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-qz3sc6


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-cik08o

The next step is to create left edge of the geometry, which can be represented by a circular sector. The challenge is to find the exact size of the sector. To help in the process it is convenient to visualize a half circle and the top edge and an extension of the top edge that intersects with the half circle.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-b1gj1p


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-n0jp52


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-wnonlr


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-cmj18n

Once the intersection of the extension line and the half circle is computed the left edge sector can be established.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-kk6agj


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-7wk49v


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-ocapdu


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-2wb8l


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-rve5gq

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-th9xmj


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-8fzz4b

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-jxg45r

Next, the entire top half will be reflected to the bottom.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-e5d43v

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-z71is2

The actual transformation will operate on the entire top edge.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-j0bxup


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-ejh68d


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-9gh986

The next step is to introduce the holes in the fixation plate. There are three group of holes: two groups of fixation holes and the central holes. The fixation holes are described by circles aligned with the sine spatial period , while the central holes are represented by an hyperelliptic boundary described below.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-o7r94e

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-oroaqb

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-kt2qxe
The hyperellipse is expressed by the equation: , where
and
represent the semidiameters. In addition, the are also rotated by 45°.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-we226b

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-iobqso

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-t0dgq6

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-wje6w2

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-d9ndb4

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-x4dmuq

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-l8l4jm
Then it is possible to cut the holes shape from the face.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-k7nx3v


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-n7yys1

Mesh
Finally it is possible to convert the planar surface into a 3D object using a linear sweep. Then the OpenCascade shape can be converted into a boundary mesh and into a solid mesh representing the desired geometry with appropriate dimensions.

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-gph07y

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-ztkssl


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-vvl4hx


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-soiong


https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-uvncgx

https://wolfram.com/xid/0sxec5jv5kgyzpo80kayrht2edeuuwgw0ed6-ohe426
