[chimera-dev] Help with chimera extension for 3D printing
Stephen Norris
stephen_norris at my.uri.edu
Tue Jul 19 08:48:25 PDT 2016
Hello Chimera developers! I'm a recent graduate of URI where I worked as
part of a 3D printing group working on molecular visualization. You can see
some examples of our work at http://web.uri.edu/pharmacy/3d/3d-gallery/ .
When we started the program we used both Jmol and Chimera on individual
models but ever since Tom added the struts commands we've been 100% using
Chimera and loving it! However as I'm ending my personal involvement in
projects there, I still want to do one last thing which is to solve a major
headache for the 3D printing process.
When developing model in Chimera we cannot really determine what scale
the model and it's components like strut diameter will be when printing.
These scales can only really be determined once we import the model into
the 3D printing software and set an overall scaling for the model. This is
a problem as we can easily make a model which looks nice but when we
determine the overall scale the struts may turn out to be too thin, and
then we have to go back and re-export the model until we get them
acceptable. In addition is no way to relate the scale of a model shown in
the viewing window to an actual scale we could input to the computer
software.
The solution would be to have functionality in Chimera to work with the
model and scale things in terms of real-life units. A program like
solidworks would easily let one do this but for Chimera units are somewhat
arbitrary. One trick with the 3D printing software is that the print bed is
shown with a grid of units so we can expand the ortho view until the screen
is showing the objects to be printed at their actual real life sizes. I've
already developed an extension to do this in Chimera and a side effect is
that the scale to input to the printer to get a model at the scale
displayed on the screen is easily obtained. I've made a github repo for the
extension at https://github.com/gerbi7/UCSF-Chimera-RealScale-Extension .
So now I'm running into two problems which could use some expert advice
or ideas:
1. It would be good to be able to export models with the scaling
pre-applied so that one just has to select the correct unit when importing
to the 3D printing software. As far as I can tell most of the export
functionality is in C++ and doesn't include support for applying a global
scale to an export. Since it's in C++ I don't know if this would be viable
as an extension to modify it. So far my idea would be to modify the
outputted file?
2. It would be incredibly useful if one could set style parameters such as
ribbon width, strut widths, etc in terms of real-life units, and have them
stay constant while the user can modify the overall scale of the model by
zooming in and out. It would be good if there was some elegant way of doing
this instead of brute-force setting every parameter whenever the zoom
changes.
As a side note if it was possible to just insert a scaling factor whenever
an atom coordinate is needed for graphics purposes that would probably work
to solve both problems but I doubt that exists currently.
I look forward to hearing back from you.
Stephen Norris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-dev/attachments/20160719/df3359c9/attachment.html>
More information about the Chimera-dev
mailing list