Subdivide Ellipse

I subdivided this Elipse in equal parts with a smaller Ellipse in the center. I subdivided ( divide curve )
both the Ellipses and connected the points together to create a line. What i would like to do now is connecting every point together but not from Ellipse to Ellipse but like on the picture ( green line ), the points on the same Ellipse. I did a line ( green line) by Listing Items for 2 points, but i don’t want to do it manually for every point, any idea how i can automatise this pattern for every other point ?

Circle Structure (14.9 KB)

You can simply connect the division points to a PLine (PolyLine) component with the ‘C’ (Closed) input inverted (default is False, inverted is True). Do the same for both ellipses and you can create a Boundary surface, then split that surface to get pie shapes.

Circle Structure (18.3 KB)

Thanks !! Could you explain why you had to INVERT at the entrance of PLINE ?

I already did.

I assume you want a closed polyline? See what happens if you don’t. The last segment won’t be drawn to close the curve(s) so Boundary fails. Right-click ‘Invert’ is a shortcut for changing False to True.

Thank you. I have another problem and i’m not going to send you the GH file because it became complex and i don’t want you to lose time on it. What i want to ask is if you ever had this problem; i deconstructed the surface and created a List Item from the vertices, but the algorithm selects everything and leaves one unselected, why ? You can see the image, the green selected points and one in red not selected.

Without your GH file, I can’t understand it or help you.

I have put the problem in a green group. I’m using Peregrine for this one, but you don’t need it, since the problem is not related to Peregrine but the components prior to the Peregrine algorhitms.

Circle Structure (30.3 KB)


This file has become far more complex since I saw it this morning! Too complex.

Doing this, I can see that the points you want all exist:
Circle Structure Peregrine_2022Oct9b2

List Item is missing one, most likely because that point is not at the zero position of the list for that piece of the pie. Later: THIS IS THE BEST ANSWER I CAN GIVE.

Now I must figure out what you’re trying to do here and suggest a simpler way… Can’t really know without the Peregrine code. :frowning: Whatever it is, you’re on the wrong track, your code is needlessly complex.

Why are you using Dup (Duplicate Data)? Will the ‘N’ input ever be 2 or more? If not, that component isn’t necessary.

Yeah, I can’t help without knowing your goal, except to say it’s WAY TOO COMPLEX, You are expecting DeBrep (Deconstruct Brep) to return vertices (and faces and edges) in the same sequence when the breps are different. You’re also duplicating a lot of work when you don’t need to do that.

Well the goal is the same Pizza slices as this morning but extruded and i used a duplicate to make a dubble of it on top of the first one. The form you see in the GH file is the finished form, nothing more, i won’t work on the form longer. And what do you mean by Breps in the same sequence ? What i did is connecting DeBrep with the duplicate component wich selects the one downside and the other DeBrep with the Move component wich has moved the Brep to the upper side ? So i have 2 sequences, no ? On is Duplicate and the other is Move component ?

Move will do that without Dup.

I said:

You are expecting DeBrep (Deconstruct Brep) to return vertices (and faces and edges) in the same sequence when the breps are different.

Please read that again carefully. The sequence of vertices (and faces and edges) may be different since the pie-shaped breps are not all identical or constructed in precisely the same way.

There are so many ways to do this… Since I don’t know what you need for Peregrine, I can only point you in a simpler direction.

Circle Structure (40.9 KB)

1 Like

You can do stuff like this very easily:

Circle Structure (29.6 KB)

Or this:

Circle Structure (28.1 KB)

Would need to know your Peregrine vision to suggest any more.

Hi Bilan!

It looks like Joseph has addressed your problem from the Grasshopper side of things, but I’ve had a look at your file and have a comment to add when it comes to using this geometry with Peregrine:

The Mesh input of the Domain component expects a single mesh per domain, if multiple are supplied, multiple domains will be created (ie, lists and trees are treated the same). While you can treat each floor as multiple domains it is not advisable unless each domain is using different materials. I recommend you model each floor as a single mesh, which should be as simple as possible. The easiest way to do this for your file would be to put each floor brep through the Simple Mesh component to reduce the number of faces and vertices in the meshes, followed by Mesh Join to merge them into a single mesh, and finally, Weld Mesh to remove any creases. This is shown in the image below.


1 Like

Here is the file - I’ve made. My changes have been highlighted in red. (43.7 KB)

Peregrine requires 2D truss domains to be planar, so you couldn’t just extrude an ellipse unless you were to break it up into planar faces somewhere along the way.



Thank you this is very helpfull. If i may ask you another question; i have made this tower (picture) but i can’t make the structural line ( in Peregrine) follow the triangles you see on the side of the facades; the triangles going to the inside. I’m trying something esthetical before making it structural, maybe not the smartest move ? But when i look at Zaha Hadid architecture i always wonder how they do their stuff since it looks like strucutral optimization, but it is always beautifull, how they begin to stuff like that.

For (13.4 KB)

For (28.4 KB)

Hi Bilan

Peregrine is typically intended to be used to find the optimum solution for a given a problem specification, so there is no guarantee that the generated structure will utilize any particular potential member.

It is possible to optimize a prexisting structure, using the Define Topology component, but some of the elements may be removed during the optimization process. In the “” example file, see the “Optimize Warren Truss Geometry” section for an example of this. I would try exploding your brep, extracting the lines from it which you intend to form part of the solution, and inputing those lines into the Define Topology component.