Celtic Knotwork self-intersections and intersections

Come on @gileshg, your GH file is still 6.2 MB with the terrain curves internalized - twice?

It looks like you ignored my work on the ‘array and scale’ section. :frowning:

And this:
missing

:man_facepalming:

Ah sorry @Joseph_Oster I looked for the terrain curves as you said almost off the canvass but couldn’t see them. Clearly it’s still 6.2mb. Real bad. Let me try the array and scale now. You probably overestimate my ability to understand your work. It takes a lot to follow but I’ll try. Apologies for neglecting your help!

Are the unrecognised objects plugins I had to download to view Seghier’s definition maybe? Not sure. I have to install a new plugin everytime I try someone else’s file.

Sorry i don’t understand what you mean, i already posted a solution to fix the ends connection.

Look again. Try CTRL-A to select all components on the canvas and you will find them.

Standby, I have a better version that replaces your ‘pattern repeat dim’ slider with a computed value and replaces your ‘Scale pattern’ slider with a ‘Circumference’ slider. This allows you to change the repeat factor without affecting the target length (Circumference). HOLD ON, I see a problem… Had to replace standard Scale with Scale NU to prevent it from affecting Y dimension (scale only X).

Working now on chopping off the ends of the completed pattern caused by connecting the two curves together. Ah well, I send it as is, using @maje90’s V3 from yesterday.
celtic knotwork V3_2022Oct3aa.gh (40.3 KB)

Yes, I was wondering how to chop those ends off that return to the start points.

Ok, I’ve just worked out why I couldn’t get @anon39580149 's solution to work properly; I just hadn’t scaled it right.

So I was was going to merge your array, scale definition with Seghier’s intersection solution and the ring definition I made. Sound reasonable?

sorry, yes, I’ve worked it out. Mea culpa

I’m not going to install plugins to make @seghierkhaled’s version work, I recommend @maje90’s V3 which I just posted again, celtic knotwork V3_2022Oct3aa.gh

ok, thanks. Are plugins risky or slow down stuff? Should I not install everything? I’ll try @maje90 's this evening. Must do some paid work for a few hours :grimacing:

:pray:

found the topography BTW, delete :face_exhaling:

I don’t.

I rushed to post code this morning (containing Riccardo’s V3), then re-posted as ‘aa’ to fix a bug I hadn’t noticed, and you won’t see it all day? Sigh. This forum doesn’t work well as a chat room.

PS I’ve made a V3.1 … more correct dis-ambiguity between Curve and NurbsCurve…

Not much time nowadays but wanted to test an idea:

If this was a curve drawn by hand, the curve would go over the already drawn curve at an intersection.

The definition below uses pipes instead of offset. Since the larger diameter pipes are open surfaces they only subtract geometry from the initial pipe where they intersect and not where they are “co-axial” with the pipe.

offset_curve_with_gaps.gh (14.2 KB)

GROUP EFFORT! - Raytraced, satin titanium material:


NOTE: I’m seeing a very different result from baking RailRev and Flow components (above) vs. baking SUnion (below). I have no idea why? :thinking:

I finished chopping off the ends (orange group) and copied the ring creation and flow code from what you posted this morning (celtic_ring2_definition.gh).

This image of the canvas (below) has the code I wrote or heavily modified (from your second post in this thread) at the top, Riccardo’s V3 in the middle (white group) and your code from today at the bottom.


celtic knotwork V3_2022Oct3b.gh (57.8 KB)

I replaced my ‘Circumference’ slider with the actual circumference from the Flow ‘C1’ (Target) input. I had to recreate the Flow ‘C0’ input (baseline curve) to match the circumference.

Repeat pattern ‘Count’ is reduced from 40 to 18. You can easily add a slider to the Scale NU ‘Y’ input to adjust the pattern width, independent of its length (‘X’, circumference).

Hey @Joseph_Oster , the first one looks great! is there an end in it that had to be rhinoed?

I was scratching my gin soaked head last night when you said that the ‘join’ components were not doing anything becasue the ends weren’t joining. Now I remember, I must have forgotten to save the corrected curve. With some delicate fiddling, I can get the end of the knot2 curve to meet with its arrayed counterpart, creating a join. This left me with 2 joined curves derived from 80 intertwined curves. Anyhow, just so you know, in not just addicted to join components :face_with_spiral_eyes:

So now I’ll play with some of these tricks you’ve been working on.

@martinsiegrist 's looks very eloquent.

Your solution has brough it to my attention that I need to enable GPU processing. Might help :nail_care:

Please look only at the last one, celtic knotwork V3_2022Oct3b.gh

There is too much clutter on this thread already.

that is pretty stunning. It’s flawless!

If the celts had known about this, imagine what they’d have done! I think I’ll stick to doing the solid Union in Rhino as the chugchug single cylinder tower is struggling under the load of the parameters let alone that last bit.

thanks a load!

Very cool, simple and smart logic!