Hi all,
I have a problem with surface split component. I used BBX to find the intersection curve among two sets of surfaces. Then i use this curve to trim the second set of surfaces. But it works only in some cases. (not all the values of the initial slider )
I have no idea whatās going on deep inside the cluster that takes 10.1 seconds on the profiler!?? More clusters within clusters, for what? Otherwise, the two methods give the same result:
you should really name your clusters if you plan on going lke 8 layers deep.
i found something wierd inside this cluster:
inside you do a āInCurveā check on a list of open curves which will always fail i donāt know if this is intended but i donāt really inderstand your definition because its seperated in so many clusters. I added a ājoinā maybe this was the problem. Could you explain what you mean by āthe definition not workingā ?
EDIT:
I rewrote the part with the intersections to concentrate only on it and for the moment ignoring your data-handling done in the clusters. A few notes:
itās a good idea to cut out the unwanted parts of your outer srf before you do the brep stuff so i did that here.
the holes in your ācoperturaā surface sometimes cause the intersection to fail so i capped them. Have a look if this fits your needs:
anyway the final objective is to create a glass panelized curtain wall. with panels of xy dimensions;
i went on in the definition and it seems it works, even if itās becoming a bit complicated!
EDIT
I upload a more open definition. I translate all the notes in the panels in english. Have a look, I hope you understand better in this way. srf split_open definition.gh (957.9 KB)
I didnāt understand all the part i grouped in red, what did you want to do?
I cancel it, and it seems it doesnt change anything likethis_2.gh (894.4 KB)
well the part in red cuts the bottom curve which you ādivide lengthā to size before doing the heavy lifting with breps its just some optimization. Try to take a look again because the results of our definitions are exactly the same but this one takes around 500ms to compute while the one with the many clusters took around 4000.
On the understanding part: i donāt understand the purpose of all your boolean operations, do you intend to extract some data other then just the geometry? if not i guess most of it is not really needed to achieve the geometry.
I found out what causes the problem with both āsrf splitā and āsplit brepā:
Ć½our roof srf has a lost of āinner edgesā and when one of those edges exactly matches the start or end point of your cutting lines two different things happen:
-āsplit Brepā returns 3 instead of 2 results, this can be handled with some data sorting i did that in the new definition
-āsrf splitā will return 2 āwrongā results
Iāll see the next part of the definition and iāll tell you
The purpose is to get a panelized surface, trimmed by the ceiling (that is not the final form but just a āsketchā. So i used the Boolean operations.
At the end I want to create a facade with glass panels. Iām trying to do with the simplest definition as possible.
the part in the red dots is for getting rid of the parts of the bottom curve you dont want anyway so you donāt have to 1. calculate the lines, 2. calculate the extrusions, 3. calculate the cuts, 4. find no cuts, 5. sort out the extrusion which didnāt got cut. of course the result is the same, it just takes more computation time
the expression is for the cases where brep split gives the wierd results. in words it reads something like:
If the number of elements in a tree path is more then 2, cull out the item with index 2, if not cull out the item with index 1. Which for this dataset gives the results we want. the expression also sorts out the uncut pieces because when a tree path has only 1 item in it it will be sorted out.
āBrep | Curveā does find the intersection Points which are needed to split away the curve ends, check the Point output. āBCXā and āSplitā do different things so they shouldnāt be interchanged.
Maybe you meant this way? and so however we dont need the part in violet group.
Anyway itās just a curiosity, because iām going on in the definition and weāve already solved that problem
when i open your gh file with RH6 it works just like i described it.
when i open it with RH5 it breaks just like you described it.
there seems to be a change in how āSortā works. Change the list Item Index after āSortā from +1 to i like you see in the picture and it will work again.
@lando.schumpich if youāre interested, i can send you the next part of the definition. I think it works quite well for what i want but maybe we can improve it.
Thanks