Nice image
. I understand the name, but no idea what it means.
sending you something to work with privately is not picking up the suggestion, like it’s written in the forum guidelines.. otherwise he can hire a professional and pay him
speaking about your logic, it is nice and I have a suggestion:
between interpolation and network surface, you can shatter the curves using the points to have only the important part to generate the surface and avoid problems with the joining at the end.
btw I’m not sure this guarantees G1 continuity. you are taking 3 discrete points near the borders and interpolating, wich seems an approximation
I would try to take your 3 points on each side, interpolate, pull on surface, and then blend between each pair of pulled curve (with blend you can set the type of continuity)
Its surprisingly close to G1 when using Network surfaces. But this is more or less a bad workaround and not the way you model something like this. You can see that it has some problems and if you put on deviation analysis to get numerical values for G1 you would likely see deviations. I mean if its okay for you, fine. But this is only works because you have surfaces being uncurved in one direction, which allows you to work with curves.
You’re absolutely right—this is how it should be. But sometimes, a little help and a detour are needed to get there, so now everyone can participate publicly.
BTW: I’m not for hire. As a retiree, the upside is that I only do things I enjoy (well, most of the time, at least
).
Regards, Eef
Thanks for the compliment, I will explore your suggestions. Regards, Eef
@TomTom Thanks for you explanation. Completely new stuff for me, I have to study, to understand better, and … to find ways to prevent, fix it. Regards, Eef
i tried this
blendbreps.gh (290.1 KB)
notes:
for a general case of non planar edge, I would get the contour curves by creating a list of pipes [starting from the edge and with series of increasing radius] and intersecting them with the brep
at the end, i have the 2 borders for one direction and n curves for the other (the blended curves), so “sweep 2” and “network srf” maybe work the same way.
It looks like increasing n gives more precision, but after a certain point it goes back on being bad
the part where i build the planes to have that specific orientations is a bit messy and I’m sure it can be improved
I like the idea of using the pipes there. (I am working on some other projects, where I am struggling to get a good contourline for splitting a brep).
I understand it gives a more precise contour curve, then the intersecting curve of Brep|Surface? Is that correct?
I also tried Pull Curve (to surface).
Maybe there are more methods to get that contour as precise as possible?
I will also study the diffferences when making the long curves (as you did with blend curves; I also tried interpolate and connect curves).
Regards, Eef
brepcontours.gh (282.6 KB)
here is what I mean
(in my previous script i don’t use a series of pipes but just one pipe because I need just 2 points to build a vector to help me define a plane)
I don’t know about better ways to do contours but they may exist (not the first time I build something alone and later discover better already existing components), the thing here is it works also with generic breps, where “offset on surface” doesn’t work
also, connect curves and blend curves are almost the same (connect works with a list of curve, not just 2, and the bulge factor is unique everywhere)
Guys, this discussion is about a method that cannot achieve G1 continuity as requested. It’s like taking random samples of a curve and then expecting an interpolation of those samples to be cotangent at the endpoint.
You can only approach true tangency with an infinite number of samples. Instead, we have the Connect Curves component which uses the coordinates and parameters of the curves at each end point to ensure correct continuity.
For surfaces, we need a similarly analytical approach, not a discrete or iterative one, and that’s just not possible with the tools available in vanilla Grasshopper. It’s hard enough in Rhino, and requires a fair bit of authoring (eg choosing which surface connects with which, where to collapse to a point etc).
It only gets possible in Grasshopper when the constraints are much tighter with identical curve topology on both ends, well-behaved tangents (eg extrusions or conical sections) etc.
that’s why instead of taking a descrete number of offsets of the border, I tried with a list of tiny surfaces (circles) centered along the border and properly oriented to obtain a curve when interstecting those circles with the original brep
You’re just swapping sampling one direction for another. You’ll only get true G1 continuity at each circle.
Even if I use sweep 2 with the 2 borders in the rail inputs?
What if I’m able to create enough couple of those circles to get one in all of those discontinuity in the 2 borders?
You’ll always miss something. Think about an extreme example where the surface is very differently curved between sample points:
Hi,
Try flexibilty pug in in grasshopper // you can find it on Food4rhino.
It’s a game changer for surfaces, like life-changing.
Can you elaborate? How would it help here? Maybe I’m mistaken, but to me it looks more or less like a huge collection of Rhinocommon functionality. The majority of plugins are either abstractions or interfaces. But there is little innovation.





