An example 3D region you can create is a gyroid surface. The nodal approximation for a gyroid is f[x,y,z]=Sin[2 π x]Cos[2 π y]+Sin[2 π y]Cos[2 π z]+Sin[2 π z]Cos[2 π x] = 0. If we want a region to either side of this we can plot the region -d/2<f[x,y,z]<d/2 will thicken up the gyroid so that it has constant width d. We will also need to create the region we would like to enclose. For instance, a cubic region might be -1<x<1&&-1<y<1&&-1<z<1. A spherical region might be (x^2)+(y^2)+(z^2)<1.

Note: for complicated surfaces such as the gyroid, this might take a very long time to compute. If you need a finer region, so there are no gaps in the resulting surface, you will need to change PlotPoints.

gyroid=RegionPlot3D[-.2<Sin[2 π x]Cos[2 π y]+Sin[2 π y]Cos[2 π z]+Sin[2 π z]Cos[2 π x]<.2&&-1<x<1&&-1<y<1&&-1<z<1,{x,-1,1},{y,-1,1},{z,-1,1},MaxRecursion->0,PerformanceGoal->"Speed",PlotPoints->150,Mesh->None,Axes->False,Boxed->False]

gyroid2=RegionPlot3D[-.2<Sin[2 π x]Cos[2 π y]+Sin[2 π y]Cos[2 π z]+Sin[2 π z]Cos[2 π x]<.2&&-1<x<1&&-1<y<1&&-1<z<1,{x,-1,1},{y,-1,1},{z,-1,1},MaxRecursion->0,PerformanceGoal->"Speed",PlotPoints->65,Mesh->None,Axes->False,Boxed->False]

gyroid3=RegionPlot3D[-.2<Sin[2 π x]Cos[2 π y]+Sin[2 π y]Cos[2 π z]+Sin[2 π z]Cos[2 π x]<.2&&-1<x<1&&-1<y<1&&-1<z<1,{x,-1,1},{y,-1,1},{z,-1,1},MaxRecursion->0,PerformanceGoal->"Speed",PlotPoints->150,Mesh->None,Axes->False,Boxed->False]

ObjExport[NotebookDirectory[]<>"gyroid.obj",gyroid2]

Printout3D[gyroid2,NotebookDirectory[]<>"gyroid.stl"]

Printout3D[gyroid,NotebookDirectory[]<>"gyroid_v2.stl"]

Printout3D[gyroid3,NotebookDirectory[]<>"gyroid_v3.stl"]