The FreeCAD interface has more or less the status of a mockup and is broken since the last large refactoring in 2017. Until now there is no good idea about getting a not-so-tight coupling between FreeCAD classes and pyrate classes. Since the API is not quite settled it is really difficult to start with a full fledged FreeCAD interface without rewriting all the stuff when there is a slight API change appearing. All ideas here are appreciated. If you are interested in digging into the matter, please have a look in the `freecad/PyrateWorkbench` directory.
https://github.com/mess42/pyrate/issues/136
https://github.com/mess42/pyrate/issues/134
https://github.com/mess42/pyrate/issues/91
## How does the optimizer work?
...
...
@@ -175,19 +141,60 @@ The optimizer decomposes in backend and frontend whereas the backend determines
There were several discussions on that in the following issues:
https://github.com/mess42/pyrate/issues/140
https://github.com/mess42/pyrate/issues/137
## How to create a full sphere lens?
Since the `Conic` surface solves the ray intersection equation analytically and the two intersection points in a sphere correspond to the two roots of the quadratic equation, one cannot properly use two subsequent `Conic`s and expect a proper raytracing. In issue XX and our own research, we came up with a few workarounds:
Since the `Conic` surface solves the ray intersection equation analytically and the two intersection points in a sphere correspond to the two roots of the quadratic equation, one cannot properly use two subsequent `Conic`s and expect a proper raytracing. In one issue and our own research, we came up with a few workarounds:
* use a slightly deformed second surface (introduce radius deviation or slight conic const) -> this is no optimal solution when you need an exact sphere
**use an intermediate plano surface* (this is the most reliable solution without any downsides)
* use the `Asphere` type surface to avoid the quadratic analytical solution problem and use a numerical solver instead
* use an intermediate plano surface (this is the most reliable solution without any downsides)
* use a slightly deformed second surface (introduce radius deviation or slight conic const) -> this is no optimal solution when you need an exact sphere