Carve SOP Question

I’d like some help with the Carve SOP. When parameters are as show in the image (divisions, extract, keep original off):

Is there any technique or way of getting the following information (in order of importance);

a) The number(quantity) of red dots, (ie the divisions?),

b) the position of the red dots ( in tx/ty or otherwise?)

c) The order of the dots

I can’t seem to find a way of isolating this information.

Thanks.

To clarify, this is assuming the case of a 2D source SOP, in this case we are looking at a TOP that has been traced with TraceSOP.

it will be easier for some to help if you share simple file case.

Background

Text_Cutter.tox (67.8 KB)

This is a taste of Textcutter, one of the features in Touchcutter, my CNC program.

This Textcutter works fine and I’m happy with it. I’m giving it to you so you understand the basic concept of how I am using the carve SOP. Inside is the pink box “I Need More Metadata”; a small network I’ve made to help illustrate my issue here.

Textcutter is somewhat manual in it’s operation, as I have to separate each subshape of a text character using a carve sop.

What are subshapes?

Subshapes are the shapes nested within characters. Some characters with subshapes are a,e,i,o,p, and b etc. Characters without subshapes are those that the cutting tool can circumnavigate in one pass without having to lift, such character would be L, C, G, T, W, S etc. When a character or shape with subshapes is being carved, the carving tool needs to lift off of the workspace to avoid skewing the subshapes (Compare the lower case letter e’s in the Textcutter replicants in the example. I did not complete the second e so you can see how it’s done!)

Textcutter is kept manual like this because it allows you to take full advantage of any font you find by readjusting each letters carve parameters! Other CNC softwares would have a programmer hardcode each font, thus they would be limited to the functionality of what fonts had been programmed into them. Easel, the software that came with my CNC machine only has a 15 fonts that can be cut with it. My computer has over 400 font’s on it that work with Touchcutter, and there are thousands more available online, all of which easily work due to Touchdesigner’s ability to import .otf and .ttf!! Thanks Guys!!!

I am working on another component that takes images, SVGS, logos, wingdings, or very eccentric texts, and CNC carves them by a similar method. This new component need to be more automated because it’s for cutting characters with many subshapes.

This new feature will populate the quantity of Carve sops in the master geo based on the # of subshapes found in a more complex character or image. The method for populating each CarveSOP’s internal parameters I have yet to elucidate fully.

See the “I need more metadata part” for an example of an image with many subshapes

  1. at minimum I need the quantity of subshapes, which I think I may have found(infoCHOPnumpoints ÷ 2), but I am not sure. see text1 inside

2.better yet I need the quantity of subshapes, and more information which I can use to convert to an accurate parameter on my first U second U in my newly replicated carves

3.Best yet I have the quantity of subshapes, with each point and it’s corresponding firstu/ secondu parameters being directly scriptable for automated complex carves, and more metadata available which I can use to make more Touchcutter features which I haven’t even conceived of yet.

Cheers.

OK so good news, I’ve found a way to understand what I’m seeing, and it is what I wanted!

All I had to do was connect my CarveSOP to a soptochop with parameter set to animated, and I got a more detailed view of everything. I can now see another awesome use for the CarveSOP. It automatically will separate the shape in both directions, meaning it’s going to be easy to implement a climb milling/conventional milling option with this same set of operators!! The Carve SOP is really living up to its name; 'cause I’m-a carve with it.

OK SO NEXT QUESTION

More basic stuff this time, I’m just going to ask cause I’m having trouble finding a quick answer.

I want to use a select DAT to grab only the even, or the odd rows of a (sopto) DAT

I know I’ve seen an expression for this, but I don’t know what it is. something to the effect of

index % 2 = True

Any tips?

I’ll probably use this thread to ask more simple questions.

Put these values in the Row Select Condition parameter of the Select DAT

for even rows:

me.inputRow % 2 == 0

for uneven rows:

me.inputRow % 2 == 1

or to select every 3rd row:

me.inputRow % 3 == 0

etc…

And to select even columns use this in the Column Select Condition:

me.inputCol % 2 == 0

PS for all future seekers of knowledge on this forum it would be easier if you place every new question in a new thread with its own title - otherwise they’ll see the title “Carve SOP Question” in their search results and they’ll think naah… that can’t be the answer on my Select DAT question.

Awesome, thanks!

I’ll follow your advice, and make a new thread each time

Thanks again