The easiest approach is fiducial registration. Create two markups points nodes and place at least 3 landmark points on the CBCT in one points node, and then place the corresponding points (in the same order) on the STL. Open the “Fiducial Registration” module, and select one landmark set as the fixed landmarks, the other as the moving landmarks, and create a new transform to hold the registration transform matrix, and then click Apply. Lastly, apply the resulting transform to the CT or model associated with the “Moving” landmarks to view the alignment.
If you want a fully automated process, then you need to have a method of automatically choosing the points to align, which is much more complicated.
There are several methods. I prefer to use the FastModelAlign ( in SlicerMorph ) or Fiducial Registration Wizard (in SlicerIGT) You can see how to use this process at this. https://www.youtube.com/watch?v=4I-9qnmvCLY