Implicit modelling

Is it possible to create surfaces starting from a specific implicit function? For example, a gyroid is a 'triply periodic minimal surface' defined by the function: sin(x)*cos(y) + sin(y)*cos(z) + sin(z)*cos(x) = 0. Does there exist a way to build surfaces directly from this equation?

Thanks in advance,
Thieme

Dominik Schopper's picture

Hi Thieme,

I don't know if thats possible directly within Opencascade.
One possible way would be to use OpenCascadeLink from Wolfram.
See this Link for further information: https://reference.wolfram.com/language/OpenCascadeLink/tutorial/UsingOpe...
Of couse you will need a license for Wolfram, but maybe you have an access from your institution.
For private use it is about €298/year.

Greetings

Mikhail Sazonov's picture

You can subclass from Geom_Surface. Implement all pure virtual methods, and your surface will be ready to create a topological face on it.

However, it will not be fully supported by all OCCT classes, e.g. see GeomAdaptor_Surface. New surfac e will have the type GeomAbs_OtherSurface, and some methods of adaptor will throw an exception.

But you can use your function to create a bspline surface of the same form restricted by some bounds. See how it is done in GeomPlate_MakeApprox when a bspline surface is created from a plate surface (GeomPlate_Surface) created from points.