Announce: Pomelo - a text to mesh generator

I’m happy to announce the first pre-release version of my text to mesh generator, called Pomelo. (Why Pomelo? I’m not really sure, and am open to better naming ideas.)

A bit of background. About half a year ago I tried beveling text in Blender. It was painful. I naively thought that all you needed to do was to write text, extrude and bevel. But this caused lots of bad geometry that needed to be fixed manually. I thought there must be a better way, and after several prototypes, studying 2D and 3D topology, learning gtkmm, pango, cairo, freetype, I finally built Pomelo.

The generation of a text mesh is a two step process in Pomelo. The first step is a 2D algorithm called straight skeleton. It turns out that this is quite slow, so I separated the step from the second step which I called profiling. The profiling uses the skeleton and pushes it up into 3D to generate a mesh.

Eventually I would like to have a rich set of profiles, but currently I only added a rounded corner profile.

The source code repository for pamelo is at: http://github.com/dov/pomelo .

I created a Windows installer which can be downloaded at https://github.com/dov/pomelo/releases/download/v0.0.1/InstallPomelo-w64-0.0.1-f2fc26.exe

I’m open for suggestions, and even more so, for code contributions.

And please don’t get me wrong. Blender is a fantastic amazing program! It just doesn’t do text meshes very well.

7 Likes

Thanks for doing this, Dov. Maybe you could post some pictures of what you can achieve with this?

Thanks for the suggestion Howard. Here are a few images.

First the meaning of profiling. Check the difference of different bevel radii:

(More in the next post, as I as a newbie can only put one media per reply)

1 Like

Here is the result of loading a random mesh from Pomelo (note the use of the :heart: unicode character) into Blender and looking at it with MatCap:

1 Like

International and cursive languages are supported as well. Here is “peace” in arabic:

This still isn’t perfect, as the joining of characters create complex geometries.

Hope these three examples are enough for starters.

I have created a new version of pomelo with the following changes:

  1. Fixed some bad geometry issues.
  2. Added another parameter that allows defining an outline ridge.
  3. Added an 2D skeleton viewer

See the github page at http://github.com/dov/pomelo for download.

1 Like