I have the following situation. I have lines which form shapes. I have to offset these lines with different values. So far so good. Now the problem is to join the offseted lines together with a sharp angle. I can´t seem to do it in grasshopper.
Lines.3dm (495.6 KB)
I need to turn it into the following
Here is an overview
And this should be my output
Output.dwg (272.5 KB)
I think this does what you’re after…
You’ll need to offset the lines individually and flip their directions to control the offset vectors.
It is very easy to do in Autocad (I hate using Autocad instead of Rhino… that is a mortal sin), via the Fillet comand. And then for the green line is also easy to extend it until intersecs with the yellow one via the Extend command. However, this has to be done great many times, so I decided to do it via Grasshopper. Hope it is possible.
Thanks, I will test it and I will reply in few minutes.
Almost… First I need to do it for every corner at the same time. Second I need to extend till intersection.
Any corners that have the same offset value in both directions could be joined first and offset as one polyline/crv in the GH def. Then the remaining line(s) get offset at the other distance and extended using the first offset value to meet up with the first offsets corners. Essentially, the simplest way I can figure is to extend by this value rather then test for intersections and trim>sort>join. You have a couple profiles that have nonuniform offset values at the corners and in these cases the lines will need to be separate using the type of def I made. HTH
Make sure to “Set Multiple Curves” in the right click menu of the crv component. This should work like this…
To mimic what you do with the “fillet” command in Autocad use the “connect” Command in Rhino.
Yes, I have done it, but they don’t reach each other this way. They do only if I have a 90 degree angle.
Can you right click the curve components in your GH def and choose Internalize Data and post that GH file?
edit: I see what you mean, sorry I missed that, I couldn’t tell what lines to offset in your 3dm so I was mocking it up. I’ll see if I can account for corner angles.
It is either not connecting or intersecting.
Maybe if we can extend the curves exactly at their intersection points it will do the trick. I am ables to find the intersection points… how ever no way to either extend the lines to them or trim them somehow at these intersection points.
Just got back to looking at this one and the best I can come up with is to use another extend curve component like this…
Then bake out the result and use the command CurveBoolean to create the closed regions you need. I think you’ll have to do it twice for each set if I’m understanding the boundaries you want. Check out the command line for the options too, you can delete the used curves or keep them around.
Unfortunately GH doesn’t have a Curve Boolean component yet but the request is filed here
The whole idea is to by-pass the manual work. Manually it is easily doable in Autocad. However Imagine 300 patterns like this… Then an automation is the only good solution.
I totally understand, sorry I couldn’t get you all the way there. @DavidRutten may know a way. I think once we can provide CurveBoolean as a component it would be possible to automate it all.
David will start hating my guts soon
I‘m not at my computer, so I can‘t make the script. But you could move the lines + and - in z direction and loft them. Than you should be able to trim with brep.
Here is a solution. Panda’s “Multiple Split” combined with “Larger Than”.
However, I really want to find a way to bypass the plug-in solution.
This is what i mentioned yesterday. Maybe have a look at it.
The left bottom slider (10) just needs to be replaced with a “list lenght” of the non offset rectangle.
Than it should be completly parametric, if the structure is the same in the future.
ConnectingOffsets_1.gh (25.1 KB)
Ohhhh… this looks sexy!!! I will straight away!!!