Fusion-Power-Plant-Framework / bluemira

Bluemira is an integrated inter-disciplinary design tool for future fusion reactors. It incorporates several modules, some of which rely on other codes, to carry out a range of typical conceptual fusion reactor design activities.
https://bluemira.readthedocs.io/
GNU Lesser General Public License v2.1
67 stars 16 forks source link

XYZ CAD generating types #2061

Open oliverfunk opened 1 year ago

oliverfunk commented 1 year ago

Description of issue / requirement to address

In order to efficiently build CAD in XYZ, we need to know the manner in which xyz each builder of a reactor can be placed in 3D space.

This would allow the XYZ CAD to be built and rendered when show_cad is called, by calling each xyz builder and then placing the 3d cad as prescribed.

Proposed solution

Each builder should implement methods that prescribe how the 3D output should be generated.

As an initial idea, each builder could implement something like on of the following mix'ins:

Each mixin would accept a degree as input and need to draw itself up to that extent.

This degree is in X-Y plane, from the Y-axis CCW.

Alternative solutions

Additional context

hsaunders1904 commented 1 year ago

Just a reminder that we should resolve the API breaking change in the Reactor constructor here: https://github.com/Fusion-Power-Plant-Framework/bluemira/pull/2058#discussion_r1146101026