Hello everyone,
Is there a way to distort surfaces with several points(see example)? The edges of the surfaces should remain as they are.
Thanks for your help in advance!
Testfile.gh (3.8 KB)
Hello everyone,
Is there a way to distort surfaces with several points(see example)? The edges of the surfaces should remain as they are.
Thanks for your help in advance!
That’s more or less easy.
Bad news: if I have to provide an indicative solution using any N of attractors in push/pull mode that would be done solely via code : meaning … blah, blah.
See a similar effect on Meshes (out of BrepFaces, holes and the likes) serving as templates for W type of trusses. This type of deformation is used - in most of cases - as a preparation for “column trusses” : meaning that the truss “inflates” towards the ground points i.e. points where the column trusses touch the ground. So … the “columns” (not shown) appear as a seamless extension of the actual truss body/structure.
So … let’s wait a bit and hope that some other good Samaritan provides something using native components. If not be prepared.
That said if you want the attractors (instead of affecting some Z Vector) to deform pts “towards [pull] / away [push]” them … well … this appears easy but in fact is not at all. Has to do with stuff that does not allow - no matter what you do (i.e. what values you enter) - any given deformed pt to overpass the “dominant” attractor (meaning an “inverse” bananas result). See for instance this mixed combo (reds: pull, greens: push):
And here’s what happens when Pts (in this case in pull mode) reach their user controlled threshold:
That said if you want an interactive solution (on per attractor basis) this requires swapping volatile<>presistent data (stored in some parameter) meaning that you can maintain/manage variations (carried over from current worksession to the next) etc etc as far as the parameter can keep the data (and is not deleted). Easy via code.
This is the effect for one point, I believe you can find a way for multiple points.
Thank you for the nuanced answer. That might help me a bit. I appreciate it!
That could help. I’ll give it a try. Many thanks
Remember: If you are after real-life AEC/BIM things (envelopes, trusses, freaky stuff, cats, dogs and the likes) the most important part is a policy that respects a threshold meaning that the points never sample in an inverse collection OR in some sort of stupid “singularity” - so to speak (see how the pts are “stacked” in a user controlled mini grid - the last 2 images). Unlikely to achieve all that without code … but hope dies last.
Now … if attractors work on some sort of Z Vector (or BrepFace Normal) the threshold also applies: spot the “plateux” near the upper right attractor. All that in order to achieve results doable in real life.
BTW: See results in one of my Interview C#'s. With distort set to pull … If vectMode is “towards” some Z/Normal then things look OK. But is vectMode is “towards” Attractors AND no threshold policy is used … then you get bananas.