Issues with Culling and Gene Pool

I’m trying to create a series of proportional segments for a biological model. Unfortunately, as soon as I’ve implemented scaling, I’ve had some serious issues. Particularly, the last segment on the appendage has a different edge numbering system, which has messed up the placement of a plane compared to the others. If I can’t get the edges remapped, then I need to cull that final segment, and for some reason, I cannot… Additionally, the “endites” on each segment are now acting as one when I try to adjust their length or radius with gene pool, instead of the previously individual movement, which I need. I have to assume that because it’s now reading them as a series of inputs(ie dotted line) and won’t make them a series again, as where before the it was one(solid line), and the endites could have their length changed one by one



all of the bottom edges are 19, except for the final one
any help would be greatly appreciated
appendage_new_3.gh (31.2 KB)

You’d need to internalise your geometries before saving the file.
From here, without a working file, it looks like a mismatch in tree structures, probably a simple graft somewhere would do the trick.

As @antoinemaes pointed out, you didn’t internalize the curve used as the base to generate your geometry.

I supplied a simple straight line to get outputs from your file.

You are having this problem because you can’t depend on the index order of the edges of a brep to be consistent after you do operations that add edges to the breps (Fillet Edge in the case of your file).

To illustrate this point, I created a cluster of components to mark the midpoint of the edge at index 19 from the deconstructed breps.

Here’s the output I get from the second Fillet Edges component when I supply a line 64 units long to your definition:

And here’s the output I get when I supply a line 65 units long to your definition:

As you can see, changing the length of the input line from 64 to 65 has changed which edge is at index 19 in 3 of these breps.

To solve this, you will need to sort your geometry by some unique value to identify them. In this case, you can sort the edge midpoints by z-location and take the lowest one.

After this change, I think your file produces the output you are looking for:

Another potential problem I see in your file is that you are using the output from text panels as inputs to downstream components. This can have undesired results and should be avoided.

appendage_new_3_re.gh (36.6 KB)

-Kevin

I’m not sure what you’re saying here. When I use a Gene Pool component
to supply multiple values to the Cone component Radius (R) and Length (L) inputs, it seems to produce the desired results.

appendage_new_3_re2.gh (36.5 KB)

-Kevin

  • Dotted Lines = DataTrees
  • Bold Lines = Lists
  • Plain Lines = Single Items

It sounds like you need to learn about data management in grasshopper. Here’s a video that does a good job of explaining it:

You will need to learn about this to advance beyond the beginner level with grasshopper.

-Kevin

Thanks! I was taking the hard way every time and creating a new curve each time I opened rhino for absolutely no reason.

Thanks so much. This has all been incredibly helpful. I’m still having issues with the gene pool though. After watching the video, I can definitely see that it may be a data tree issue, and I tried grafting to no avail. The goal is to get the large cones to be able to have independent length choice. In a previous version of the model, it worked fine, but now does not. For some reason, when I go from a single list of items, to multiple lists going into the cone component, it prevents me from adjusting the length and radius of each one independently. Is there anything you can see that would be causing that? Thanks so much!
Screenshot 2023-02-16 051847|690x421
appendage_new_3.gh (29.0 KB)
Appendage_new_2.gh (36.8 KB)

I can’t open the file right now, but it’s the gene pool that you might need to graft.
The input you grafted was already grafted.

Graft means creating a distinct branch for every item, by increasing the branch depth of your tree.
If you look at your planes in a panel, you see that they are all in a separate branches already, but the values out of your gene pool aren’t.
As long as you have same number of values in genepool that there are planes, it should be fine.

Oh my gosh, thank you so much. That just fixed it, and your solution made so much sense. I really appreciate the help. I’m a biology student with not a lot of experience with this type of stuff, I usually just work on fossils, but for a project we’re trying something different, and it isn’t coming naturally to me.