Blender continues to impress me. I spent a semester my senior year of high school doing an independent study in 2011, then was able to do a project with it my 1st year of college. To my knowledge, every function is available via the Python API.
In 2011/2012 I worked on a project for a blind Chemistry student. MacMolPlt [1] shows electron fields and the physical location of atoms during chemical reactions. This visualization was useless to someone who was blind.
A CompE and I built a system which would take an export of the atom locations, bond type, and vertex location for the electron cloud surface and convert it to a 3d printed model. [2]
We came up with the following:
1) Import the Chemical Markup Language (CML) file. This is XML and contains basically all the information needed for the screen visualization.
2) Each column of the periodic table was a certain shape.
3) Each row of the periodic table was a certain scale.
4) Each bond type had a different "rod" connecting them.
5) The electron cloud surface was imported.
6) Everything was "unioned" together to make a surface model.
7) The file was exported to an STL file. We then submitted this to a 3d printer.
I asked the professor I was working with about making it open source. The answer was basically "we might be able to do that, but it's going to be a political mess at the university". The money to pay me was from the disability office, with relatively little oversight. They wouldn't necessarily object to how the funds were used, but they would probably have an issue paying for enhancements. We weren't sure if they'd want to recoup the costs. The market of beneficiaries was very small.
One thing I appreciate about the Blender Python API is that it follows the conventions of the wider Python ecosystem [1].
Other tools, like KiCad and FreeCAD for example, have Python APIs, but they tend to follow the conventions of the underlying C++ code. In the wider scheme of things it's pretty minor, but it the consistency is nice.
> MacMolPlt [..] shows electron fields and the physical location of atoms during chemical reactions
ASE and GPAW might be another option. Python, Linux/Mac/Win, with "optional" GPU accel.
I'm exploring teaching atoms and materials less wretchedly, down towards early primary. Using ASE/GPAW for trajectories and electron densities, for physically realistic interactive visualizations in XR. No complaints.
In 2011/2012 I worked on a project for a blind Chemistry student. MacMolPlt [1] shows electron fields and the physical location of atoms during chemical reactions. This visualization was useless to someone who was blind.
A CompE and I built a system which would take an export of the atom locations, bond type, and vertex location for the electron cloud surface and convert it to a 3d printed model. [2]
We came up with the following:
1) Import the Chemical Markup Language (CML) file. This is XML and contains basically all the information needed for the screen visualization.
2) Each column of the periodic table was a certain shape.
3) Each row of the periodic table was a certain scale.
4) Each bond type had a different "rod" connecting them.
5) The electron cloud surface was imported.
6) Everything was "unioned" together to make a surface model.
7) The file was exported to an STL file. We then submitted this to a 3d printer.
I asked the professor I was working with about making it open source. The answer was basically "we might be able to do that, but it's going to be a political mess at the university". The money to pay me was from the disability office, with relatively little oversight. They wouldn't necessarily object to how the funds were used, but they would probably have an issue paying for enhancements. We weren't sure if they'd want to recoup the costs. The market of beneficiaries was very small.
[1] https://brettbode.github.io/wxmacmolplt/
[2] https://imgur.com/a/kxeDjy6