Unexpected Adaptive Component Behavior


#1

I’m working through a definition where I’m using the Grid to Quads Node to establish the list for populating a surface with Adaptive Components. It seems to work well for certain UV values, but I’m noticing some unexpected behavior from the adaptive components with other values. Can anyone offer some feedback on what may be occuring in this instance?

AdaptiveComponentProblem_03 AdaptiveComponentProblem_02 Dynamo_01 Dynamo_02


#2

It is hard to answer why this is happening unless I run the graph at my side.

Is it possible for you to share your dyn and supported rfa files. You can put it in drop box an share the link.

<span style=“line-height: 1.5em;”>Thanks,</span>

Ritesh


#3

I’m not sure this link will work without your contact info, but here is the link: https://www.dropbox.com/sh/nu9s7cd7pny1uid/AABajSkpvyVdq-S133Gd3Pgya?n=213633646


#4

Thanks for sharing your data sets. I am able to download that.

I will be needing Custom node “Grid to Quads” to reproduce your problem. I search it in package manager but I couldn’t get it there.

Thanks,

Ritesh


#5

Not entirely a Dynamo problem. Your component is the culprit. Go to http://buildz.blogspot.com, do a search for “seamless” (the first two results are relevant) and redesign your panel accordingly. In your Dynamo definition you should pass a list of UVs to the Grid to Quads component and subsequently use the Adaptive Component By UVs On Face node - the XYZ based component will not really help you much on a non-planar non-horizontal surface.


#6

Thanks for your reply. I hadn’t tried the Adaptive Component by UV before. Seems to work just as well but yields similar problems. I’ve also worked through the process for creating seamless panels from Zach’s blog. This doesn’t seem to be the issue though. The strange behavior of the AC seems to be related to the orientation of the surface face somehow. There appears to be some threshold that occurs based on the curvature of the surface that freaks the AC out based on how it’s divided. The order of placement points are the same for every component but they get turned inside for some reason. This occurs even when the extrusion of the AC is created offseting points from the planes of the Adaptive Points like Zach’s example as well. Does the surface curvature argument make any sense in this case? I will try and hack through the AC again as well and see if I arrive at a solution. Thanks again.


#7

This is a problem I think I have seen before, you should calculate the normals at every sampling point and visualize them, you’ll probably find they are not as you expect.

I think you can use the cross product of the edges of your panels ( | ) (first panel, shared edge, second panel, to make sure that your panels are extruding in the correct direction. When you use adaptive point by UV the reference points will host on the surface and stay aligned to the surface normals. You can also try using an 8 point AC and calculating the offset yourself along a corrected normal.

I would first visualize what the normals are, then check your hosting orientation setup per the AC points in your family.


#8

Oh, I see. Had that problem myself once, too. Solved it like Mike described it - with an 8-point AC. I created a package called Correct Normal Orientation to force all surface normals to head into the same general direction and then used the corrected normals to create a second layer of quads by an offset (basically the second set of points for the 8-point AC). In this case, you’ll obviously need the Adaptive Component By XYZs node, not the UV-based node.


#9

…and some time passed.

Finding the same thing happening to me and I’m afraid I still don’t understand how to get this working. Andreas, I have the package you mentioned, now under clockwork, but I don’t understand how to use it. I see two inputs a and b for normal comparison, but I don’t know what should be fed into either. Now I’m using the Lunch Box Quad grid by face. Sorry for being dumb. Still struggling with said dumbness.