I am trying to create a patched surface from a collection of curves, defined by offset room boundaries. The surface.bypatch node returns a list of nulls (image 1).
Also, this surface is supposed to be triangulated using the Delaunay.ByParametersOnSurface node; this returns an empty list, even on a simple surface (image 2)…
The issue is that you’re using @1 with PolyCurve.ByJoinedCurves. This is just taking each curve and making it a polycurve, which is an open curve and can’t be patched. I assume you want to take all of your curves and join them into a single polycurve. But then why do that when you already have a single surface from PolySurface.ByJoinedSurfaces? You’re taking apart geometry and putting it back together. Can you give a little more description on what you’re trying to do?
These steps aren’t doing anything. The perimeter curves include any internal boundaries as well. You’re taking your combined polysurface, getting all of its bounding curves, then patching them back to the exact same surface. You’ll have to add some additional logic if you only want the external bounding curves.
I have that in a larger version of the script, where a boolean mask filter the smaller lines not included in the main perimeter - that seems to work fine. I am, however, getting the same error when attempting to reconstruct the surface. And nothing when attempting the Delaunay. Any thoughts?
The error message is, “Warning: Surface.byPatch operation failed. Unable to patch a single, no-closed curve”.
If I set the PolyCurve.ByJoinedCurves to anything other than @L1, I get nulls for that node, as below.
image.png1699x923 137 KB
image.png1710x922 140 KB
The intention is to create a single, complete surface from the room boundary lines, offset from the level. The string:
creates a polycurve from room boundary lines
creates Surfaces from each of those polycurves
creates an offset from those surfaces
merges those surfaces to a polysurface
perimeter curves are selected, so as to ignore internal room bounding components (columns etc) when creating the final surface
curves are joined in a polycurve
surface.by patch created from polycurve [error]
Delaunay triangulation performed on final surface [error]
For information, the Delaunay returns an empty list, even if the final surface step is skipped: