For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings


Need to speed up your development?
Have a look at our:

Samples & Tools


Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

Creation of mid face between 2 faces

Bardili's picture


I want to create a middle face between two faces and I have
no idea how to do this with Open CASCADE.
Is there a function in Open CASCADE to calculate a mid face?
Or does anybody know helpful routines to do this?



Fabian Hachenberg's picture

What do you mean by "middle face"? Do you have a gap between 2 faces you want to fill?

Bardili's picture

Hi Fabian,

No, I don't want to fill a gap between 2 faces.
That would be quite easy, I think.
Consider the simple case of 2 parallel curves, then the middle
curve would run parallely in between the 2 curves.
The analogon is to create a middle face for 2 opposite faces.



Fabian Hachenberg's picture

The term "parallel curves" makes only sense for lines. So are you talking about planes? If that is the case, you could use

GC_MakePlane (const gp_Pln &Pln, const Standard_Real Dist)
Make a Plane from Geom
parallel to another
at the distance

If you're talking about 2 surfaces in general (not planes particularly), I'm still not sure what you mean by "parallel". An Interpolation between the two faces?

Fabian Hachenberg's picture

By interpolation, I mean that every point on the "mid surface" is exactly at half the distance between 2 points of the other 2 surfaces...which still leaves open the question how to select those two points. Via intersecting the surfaces along the z direction or along one surface's local normal?

Bardili's picture

Yes, that's what I mean. The question how to select those two points is what makes it difficult,
because the surfaces need not be parallel and they can be of different shape.
I have attached a jpeg picture that shows the mid surface created from the outer ones using
an algorithm that I implemented for a preprocessor.
Hopefully it makes the problem easier to understand.
I want to do this with Open CASCADE (and more clever) now.

Sharjith Naramparambath's picture

Can you please provide a pictorial representation of what it is? I am asking this because the problem seems to be interesting but I am not able to visualize what exactly you mean.

Bardili's picture

Hi, I have attached a jpeg-file to visualize the problem. The picture shows the mid surface
created from the 2 outer surfaces. I hope it makes the problem easier to understand.



m-sazonov's picture

You will not find in OCCT such functionality. But OCCT can help you to make approximation. You need somehow to compute points representing the middle surface. Then use GeomPlate package or SSP product to make the surface from points.
Some consideration about getting middle points: you can use QHull algorithm to produce the Voronoi diagram in 3D space, which can be used to compute mid points.

Bardili's picture

Thanks for the helpful hints;-)