Panel.PanelQuad Subtle Bug?


QuadifyPanelsBug.dyn

Dear Dynamo Community,
I am having trouble completing the above workflow due to what I think is a subtle bug in Panel.PanelQuad:
I need to create a bottom closed curve (e.g. circle or ellipse etc) , a similar top closed curve, a lofted surface between them (all this I can do easily). Then I need to create quad panels on the lofted surface (that I can do with Panel.PanelQuad). Now, to create a properly closed volume made of planar faces, I want to create the caps from the quadified points. So, I take the bottom most points that have been already quadified and create a base surface by perimeter points (that works through list filtering and then Surface.ByPerimeterPoints). I do the exact same thing for the topmost points and it fails because the points are not ordered correctly and the resulting polycurve crosses itself. Am I doing something wrong or is this a bug?

Not an OOTB node, not sure which package it belongs to

However, you could retain your graph but replace that node with some Design Script in a code block…

p1 = s1.PointAtParameter((0..1..#u)<1>,(0..1..#v)<2>);
p2 = List.DropItems(List.Sublists(p1<1>,0..1,1)<1>,-1);
p3 = List.Transpose(List.Transpose(List.DropItems(p2,[-1,1]))<1>);
p4 = List.Reorder(List.Flatten(p3<1><2>,-1)<1><2>,[0,1,3,2]);

… and obtain this…

QuadPanels.dyn (49.6 KB)
(ver 2.1)

1 Like

Thanks Vikram. Oh I didn’t know Panel.PanelQuad is not OOTB. Hard to tell sometimes to which package a node belongs. It is part of Lunchbox. I will contact them. Yes, I could script it, but I was hoping Panel.PanelQuad produces flat quads (perhaps it doesn’t!).

1 Like