How do I take the trimmed surface resulting from a patch and make it into an untrimmed surface all while keeping the trimmed shape?
I’ve read through the forum, tried several things like baking the trimmed surface, ShrinkTrimmedSrf, then referencing that in grasshopper, but it’s still a trimmed surface.
The result is when I try to make a grid like below, they extend beyond the arcs. I learned from the previous post that it’s because it’s a trimmed surface and the general process, but I’m lost as to how to actually make it untrimmed. The purpose of the grid is to create curves for extrusions for purlins and framing.
Would this still be the case even if I joined the curves? I was told in the previous post that
You will have to split by domain and retrim.
Would you know how this is possible? And in the case that it is impossible to make it untrimmed, how else could I make a grid for extrusions like purlins? Would meshes work for this?
The underlying untrimmed surface is always four-sided, yes. The trimmed surface is a crop of that surface to boundaries that are not “square”. This is how surfaces are created in Rhino.
For now, try dividing the untrimmed surface via Isotrim in into cells, or use IsoCurve to get lines (curves).
Here’s a potential ‘low effort’ hack to avoid fighting the ‘trimmed surface’ condition, but comes at a cost, proceed with caution*: Pavilion for Grasshopper Forum 2.gh (21.5 KB)
Wow thank you so much @Volker_Rakow@leopoldomonzani@Edr@René_Corella for your time. I really appreciate it and am learning so much. I will try playing with the suggestions you all gave. I would not have been able to figure these out alone in such a short time frame with the current level of experience I have. Thank you so much
Hi again @Volker_Rakow. I’ve been breaking down everyone’s script trying to understand things and I’ve gotten through all of yours, but this part. I would just like to clarify the construction of the uv point if I understood correctly.
Constructing using construct point instead of numbers to point. I just tried it to better understand and noticed that even if I flatten it, its output is more items than if I constructed using numbers to point (17 compared to 12). It’s visualized in the 2nd image. Why is this so?
Flip matrix. It was used because the list from the range (the 1st list to the left) has 2 sublists, each with more than 2 items (ex. (0;0) has 5 items from index 0 to 4), which you can’t make a point with? Flip matrix was used to get 2 points per sub list to get an x,y. Is this understanding correct?
If my understanding from question 2 is correct, I’m curious what happens if I want an x,y for a numbers to point, but originally have 3 or more sublists instead of the 2 sublists right now? How would I organize that into an x,y in a list? or is that a wholeeee another big topic to learn?
IsoCurve is very stupid in the way it works. It creates a pair of UV curves (a U curve and a V curve) for each UV point given to it. The x component of the UV point is the parameter of the U curve, and the y component the parameter of the V.
So, if, for example, you want 3 U-isolines, and 5 V-isolines from a surface, you will have to provide 5 points in which the U values are over represented. Abstractly:
I begin by creating a set of U and V params. Flip Matrix pairs these params into branches of X and Y components for a point. Where there are insufficient U or V values, Flip Matrix completes the tree with nulls. Number to Points takes these value pairs and creates points out of them. Null values are interpreted as the parameter value zero, and a z-component of zero is also added. The z-component is inconsequential for Iso Curve. Resultant is a set of equal number of U and V curves.
I complained about the use of plug-ins in the ninth post. However, the Surface+ and Curve+ plug-ins that @leopoldomonzani uses happen to be very useful. In Surface+, there is an Isocurves component that gets you isocurves from a surface division number and division direction (U or V). I tried making a user object that does this a while ago, but using this plug-in is much easier. Sadly, however, Isocurves does not trim the isocurves to the surface trim: