I’m doing a definition that takes data from Areas and applies them to Rooms lying within the Areas. This works fine (I btw found that curve.patch and geometry.doesintersect runs a lot faster than a containment test - nice) as long as there are no Areas with ‘voids’ - this will result in self-intersecting polygons. Unfortunately I cannot seem to find a solution for this problem.
Do you have any input on this?
I’m not sure what do you mean by self intersecting polygons in this case.
Anyway I tried recreating this, although I don’t have Collector.Areas node, and it seems working.
Can you explain what is the problem exactly?
The problem occurs when you have a situation like shown below (a “void” within the area);
In that case, neither Polygon.ByPoints nor PolyCurve.ByJoinedCurves seem to do the trick.
… just thinking; would it be possible to do test if one curve lies within another and then do a Geometry.Trim / Geometry.IntersectAll like discussed here? http://dynamobim.org/forums/topic/trim-one-surface-with-multiple-curves/
rm area.dyn (21.8 KB)
It checks if the area has a void and should work for both areas with or without void. It uses solid booleans though so for a large number of areas it could be slow.
Thanks for the definition - unfortunately I’m not able to make it work. Is it possible for you to post an corresponding rvt file? Would be much appreciated!
… could also be areas within areas! It seems strange that this shouldn’t be a relatively simple thing to accomplish.
@Christian_Boggild_Sc i am having troubles doing something similar. Did you work out a solution?
Unfortunately not. I had to work around it by removing voids prior to running the definition. I still need to solve it though - I’ll let you know.