Surface entity & soft edge

Can I get same flags indicate that those sider faces belonging to a surface entity(cylinder surface) through C API?
I know those faces are connected by soften edge.
Is there a more direct way to get the surface entity’s information.

“through the C API” or “via the C API” or “from the C API”

You throw a ball. :softball: __ :wave:

A man is throwing a ball. :man_playing_handball:

There is no Surface entity class in either API. This is a GUI implemented helper interface.

You’ll need to collect all connected (attached) entities. To get faces from this collection, you can filter by faces whose normal vector is perpendicular to the cylinder’s central axis vector and whose vertical side edges are softened or smoothed.

1 Like

OK. Thanks for your reply.

To get the same entity set that SketchUp considers a “Surface” there is no need to compare normals. It’s simply a set of faces connected by soft+smooth edges connected to exactly two faces.

Odd thing though is that there is no distinction between adjacent front and back faces.
A mix of them side by side is still considered to be a surface.
Shouldn’t at least the directions be compared?

It’s a bit like with SketchUp Solids. One would consider only “all front faces outward” a true solids, Not a mixture of them, sometimes leading to false sums of volumes.


1 Like

I did not assume that the cylinder would not have end faces nor not be connected to other geometry (perhaps complex stovepipe geometry.)

If reversed faces are also part of the cylinder surface (we could assume the code may wish to fix them,) and so both their normal vectors (reversed or not) will still be perpendicular to the cylinder’s central axis.

SketchUp itself is generally flexible in terms of face orientation. For the “Surface” text in the Entity Info it doesn’t care about the normals.

What are you looking to extract surfaces for? To mirror Entity Info? Or for some other purpose?

I’m using c api to translate skp model to our brep format.
But there are only planes in SU model. A cylinder consists of a circle of planes.
I want to reduce the number of brep faces. So, I’m try to restore those planar faces to a whole cylinder face. And restore faces connected by soft edges to a bigger face.
But this algorithm is hard to design. Things will be more easy when I known which faces belonging to a surface entity(like cylinder surface).

Thanks! @ g.h.hubers @