Splitting an object with vectors and joining them .....sequentially?

Hi I’m just starting out using GH and I am trying to create solutions for the CAD team at my company. Basically it is a paving pattern that needs to be joined in a manner that makes it less time consuming to CNC machine. I have got to a point where I have a boundary or multiple boundaries that the paving populates but I can’t split said boundary with the pattern within. I have tried Shatter but with no luck. I have no doubt it is a lack of understanding on my part and it may well be an easy fix. In the attached Rhino file is an example of what it is I am trying to achieve. Is it possible to split the bounding vector and delete every other segment?

Also are there any publications of particularly good tutorials with an Architectural focus?

Brick within two vectors WIP.gh (7.7 KB) Brick work example.3dm (230.6 KB)

You want to shatter the two boundary curves? Please elaborate, I don’t understand?

Yes both boundary curves.

That’s an answer but not an elaboration. What will you do with the shattered boundary fragments?

P.S. Many of your trimmed paving pattern curves overlap each other.

I hope to minimize the amount of vectors for the purpose of cnc machining. In effect the shattered boundaries will be joined to the brick work pattern.


RE the overlap I had hoped to bake them individually and overlap them within the cnc program.

why not creating a custom hatch?

I’m afraid I do not know how to do that.

I have looked in to the Hatch function and there is no relevant pattern. Thank you though, it is a very useful tool for my line of work.

You have to view the two colors (white and magenta) separately to see the CNC paths.

brick_cnc_path_2020Dec9a.gh (17.5 KB)

Crikey that is considerably more complex than I had envisioned. Thank you I am very grateful, this makes me realise I have a long way to go on my Grasshopper journey.

Yeah, as you can see, this is not just two CNC paths. Both white (vertical zig-zags) and magenta (horizontal zig-zags) are not continuous. Each has hundreds of unconnected paths. Further manipulation might address that but… if you want to own it…

No that is totally understandable. It would be the same had a CAD guy done this manually. Unfortunately it is necessary to cut down on machine time as time is wasted every time the tool leaves the material to travel to another tool path. I am actually the CNC machinist at my company and so can see first hand the time saved by creating the vectors in a joined up fashion. Again thank you. May I ask how you learnt Ghopper? I have just downloaded the Essential mathematics PDF and have encountered a few books I will pick up.

Here’s a little trick that reduces the number of white paths from 486 to 169. It uses the opposite cull pattern for one of the boundary curves. Unfortunately, that increases the number of magenta paths from 186 to 505(!) so I applied it only to the white path.

brick_cnc_path_2020Dec9b.gh (19.7 KB)

Practice and following this forum for years. It helps to have a programming background (~45 years).

Note that despite minimal cutting paths, the overlapping white and magenta segments will have the CNC tool traversing path segments that have already been cut. For what it’s worth, this thread from three years ago might be interesting as it tried to address that:

Did that long time ago
Don’t know if useful for you but look similar.

What was the application that found a path around a closed polygon that didn’t cross the same place twice?

I’m sure you wrote something like this that essentially created the toolpath for machining pockets. I can’t find the post but it could be useful here if applied to a tessellating pattern like the one here.

Is there a travelling salesman type solution too?

Hi Joseph, thanks for posting this. Although we do have both laser and router CNC machines I wouldn’t be using the laser for the brick or paving. Having the router tool travel the same path twice will not create a deeper depth of cut as a laser would. Although it may seem counter productive to ‘re-tread the same ground’ there are other factors that need to be considered. In this case the wear and tear on the machine. Minimising the number of open vectors and so actions in the Z axis both decreases machine time and the load on the machine.