i have a bunch of surfaces. their center points are all on one xy plane. just roated
if you look at them from the top they are all fitting together (if you would project the surfaces to the xy plane they would all be squares - i hope you understand what I mean ^^ )
Is the surface the squares make a single or double curvature surface?
If the case is a double curve, i dont think you can do it with planar squares, atleast my quick head imagination of it doesn’t allow the planar squares to form a closed double curved surface. There would always be a gap.
For single curvature, i am afraid i can’t think of answer at the moment.
Not that i can solve the issue, but i believe others will ask the same.
What side of square 11 should relate to square 1?
Would 11 relate with side A to the yellow line, would 11 relate with B to the orange line or perhaps another relation
that’s what i am not sure about ^^
I am trying out to figure out the “best” way to do this (if possible at all)
i just wrote what seemed to make sense to me. but like i said. if anybody has suggestions i am more than happy hearing them
In order to achieve fast times do a tree in u/v instead of a tree with one item per branch. Plus it could be preferable a common orientation of all the parts (otherwise more time could be spend for matching).
Starting from … er … say item {0}[0] define a plane say using p0, p1, p3 and reverse the x dir. That’s the planeTo. Define a plane on the next item {0}[1] using p1,p0,p2. That’s the planeFrom. Replace the xDir of To with xDir of From. Then do a plane to plane transformation (for the next item). Continue until the end of time
Well i believe if you can imagine it, it is possible. Its “just” a matter of figuring it out.
If i have the correct assumption of your intention.
I would likely
create the section curves for my surface
create the surface using the section curves.
Divide the surface with U and V
Place plane at the points, using the normal vector achieved from evaluate surface
create a grid of lines following the Z-axis
Intersect the planes from step 4. with a quad-pair of lines from step 5.
Use the intersection points as corner points for the surface.
Now the squares should appear square when viewed from a top view, be in corner connection to each other and placed correctly according to each other.
I may have missed some steps, but the general logic of it should work.
I hope i could be of some use and best of luck.
Rhino 6 eh? I don’t work with that (too many issues). But I’ll do a primitive demo using a tree via partition (not the general case … where voids could be present, or unequal branches … but anyway).
ah i like rhino 6. bit iffy at the beginning but by now i think they ironed out a bunch of bugs
still not sure how it helps me if i partition the list? ok now i have 10 rows with each 10 surfaces? what now?
move them together like i mentioned all the way at the top? ok then I have stripts that go together halfway decent, but how will each branch go with the next branch?
Don’t ask me. Find some minutes to do (in 3 modes) what you said that you want … but I can’t see any result that makes any sense.
PS: wanna more LOL? Just vary the partition size (since no check is included for any adjacent conditions [AND orientation] … only the tree structure tells the C# what to do. Thus if bananas in > bananas out).
Hi
sorry for responding so late.
just took a look. the v1a i think is not useless ( the per tree part). actually it does pretty much what i wanted at the beginning?
a quick question though. what does the script actually do? since my proposal was just moving them on the z axis. what you haven’t done (i think )
since when you look at it from the top you can see the surfaces are no longer a patch:
Well … define the item {0}[0] as the current surface. That very first item is stored as it is. Then you get the next {0}[1] and you find the planes for the Plane to Plane Transformation. These are defined from the normalized surface corners (obviously using 3 of them). Then the next is transformed in order to “touch” the current. Then the next becomes current and the loop goes on. N controls the steps.
Depending on the mode (3 available): a current is
never re-defined (linear mode) or
re-defined from the first item [0] per pranch, or
re-defined as in 2 and transformed with respect the item [0] of the previous branch. This means that a “lateral touch” occurs … but (obvioulsy) this is not possible for the next items (they just touch each other as they do in mode 2).
Obviously surfaces would never touch when viewed from top.
All these are very easy to do with code … the only thing MIA is: why? he, he.
This case looks to me just another trip into the rabbit hole: many entries, not a single exit.