Solid from Font Curve Becomes Open Polysurface When Imported Into GH

Hello everyone,

This funny thing happens to me when I import a closed solid into GH. It’s the letter R that has the problem, all other letters are just fine. What do you think is the problem?

01.3dm (1.4 MB) (2.3 KB)

Note: Rebuilding the letter “R” solves the problem but still why does it become an open brep in the first place?

I rebuild nearly all curves from fonts I want to turn into 3D letters.

What font is that?

It’s Berlin Sans FB Demi

In Grasshopper, the outside curve of the R can’t be turned into a surface. I believe the font is of bad quality or just not suitable for simple Extrusions. Have you tried creating surfaces in the Text object command instead of curves?

Yes I did, both surface and solid options produce the desired results.

You’re right it can be because of a bad portion of the outer curve of the R since other two curved letters like the “O” or “D” don’t have this issue.

You should rename the title into something like: Solid from font curve not solid

Maybe someone at Rhino can explain why font curves often cause issues?


What does rebuild mean in this case? Are these letters extruded from curves? Were the curves joined and the results planar before extruding? Can you import only the letter shapes and extrude them in GH?

Besides the missing front and back faces of the “R”, a deconstruct brep shows many face fragments in the extrusions:

Rebuilding the outside curve of the R in Grasshopper solves the problem.

The question: why are the curves of so many fonts not suitable and have to be rebuilt?

Yes, I can see a kink in it, approximately where the yellow disk appears (below):


through_2020Sep27a (9.9 KB)

1 Like

Hi Martin -

That question has been answered many times before. Fonts are simply created to be rendered on screen and printed on paper. They are often self-intersecting, have poor continuity, and are also allowed to have open segments. For rendering text, all this is fine. For modelling, this makes for notoriously bad input for anything that has to be done with them.

1 Like

Thanks for the explanation. As mentioned in my post, the title of this topic should be renamed.

As a side note, I found out that the TextObject command in Rhino 5 creates curves from letters that consist of two curves (for example O, P, d, etc. as opposed to s, k) so that the directions of the inside and outside curve is opposite. This comes very handy when you want to offset the curves inside grasshopper.

However, when I use Rhino 6’s TextObject command, it producudes the curves in such a way that all the directions match and this has to be fixed if you want to offset the curves in GH.

There are many improvement in Rhino 6’s TextObject, I only wish it wouldn’t take the useful stuff from the previous version.