How to edit textobject results or convert existing text to textobjects

I am trying to label individual parts with a solid text using either name, metadata or convert from dots. I really like the textobject for what i want to do but once the text solid is made i can’t edit it. I also can’t find a way to convert existing text to solid. In an ideal world the same way peter’s tools has the text dot command where you can lable a part with a dot where the text is drawn from information from the model, i want to do the same thing but out put a solid text. Any help would be awesome. Thanks!!!

Hi @somamillwork what rhino version are you on? What do you mean when you say solid text ?

Hi Lando. I’m using version 6. There is a command called textobject which allows you to write text that gets outputted in either curves, surface or solid. How ever after it’s been outputted can’t find a way to edit the text again such as changing what I want written. This is one component of what I’m trying to do. Cheers

you can’t change the text afterwards because a text object is not recognized as text… the command outputs curves, surfaces, and/or polysurfaces…

it’s no different than manually modeling the letter ‘S’ then wishing to change it to the letter ‘T’… you can’t do that either.

As others above have said, you can’t text-edit objects made with the TextObject command as they are just normal curves and surface in Rhino once they are added to the document, they have no knowledge of “where they came from”. Perhaps that could change one day, maybe a text block could generate curves, surfaces or solids and they could be history-linked so that editing the text block would update the geometry. You might already be able to do this with Grasshopper, I think you might need a python script component to explode a text block into curves though… or maybe there’s a plug-in that already does this.

However, it is possible to write a Python script that can be executed directly in Rhino that could convert a text string into curves, surfaces or solids… There’s simply a lot of user input to manage, such as the font, size, style, etc - i.e. everything you see in the TextObject dialog would need to be gotten from the user… but it’s possible.

You could just use the regular Text command and use Explode on your texts when you want to convert them in curves for your next step. Keep the text as long as possible because it is easy to change while beein a text i guess…

Why do you need curves / surfaces instead of texts? what are your next steps?


The process I’m trying to complete is for wood work. Drawing cabinets and other components in rhino then taking those parts to a CNC machine to be fabricated. I have a good idea of the steps I need to take but don’t know the commands I need to accomplish easily a portion of what needs to be processed. I’ve got the model making in rhino down pat. I can either name the part in properties or in meta data. I can also process the assembled parts in rhino cam. However the naming of all the parts gets lost once it gets processed in rhino cam. If I can easily output text as a solid that identifies the parts, the text solids can stay with the parts and allow easy identification after rhino cam processed the parts ready for CNC. The important part is carrying the part identification so that outputted parts can be labeled. Right now I can output part names through Peter’s tools. I can then convert dots to text. I can also make textobjects into solids. I just can’t figure out how to link everything together into something that is practical and flexible. Cheers

not a Rhino solution but would solve your problem pretty effortlessly.

Elefront Define text component has curve and surface options. You can get the name from anything; layer, object name, user text.

Hi Rickson, thanks for that. I know what grasshopper is but haven’t learned how to use it yet. I just checked out Elefront. How does one learn how to use it?

This script references the rhino objects by Layer, gets its center point and name before Baking the text back to Rhino, on layer Text Layer. If you change the name in the rhino object properties you have to refresh the script and activate again to delete the old text and replace it with the new value.

fyi, its referencing everything on the Default Layer and getting its Area, so if you had a dimension or something that doesn’t compute area it would throw an error. (9.1 KB)

Gotta learn trees if you work in grasshopper.

1 Like

Hi Rickson. Thank you for all this info. I’ll go through it and see if can make it work. Cheers!

HI Rickson, I went through the video and i understand what i’m hearing but do not have the experience to implement. Is this something you could write for me? Cheers David

Trees only come into play with multiple items. Did you give the example i posted a go?? If you provide a more detailed description of the workflow and example of finished product(s) i can assist in getting you going in the right direction.