Is there an efficient way to cull the edge UV points on a surface. i was following this work flow but some how doesn’t seem to be working
1.Divide Surface UV .
2. Perimeter curves
3.Closest point to these geometry (perimeter curve and UV point)
4. list of points ( but not all the ones on the boundary)
5. what would be the best way to filter the original point list and the new closest point list ie… stuck here as i tried using remove item at index.
The simplest way to achieve this, if I understand you correctly, would be to create a domain that starts above 0 and ends before 1 using the Surface.PointAtParameter node with cross-product lacing.
Computational design can seem quite esoteric at times. This might help demystify the above:
A domain, in its most simplistic sense, is anything with a start and end: 1 to 10, 5 to 100, etc, etc
This is relevant to anything with a parameter space (for example curves use t parameter space, and surfaces use UV parameter space), as any parameter space has a domain of 0 to 1. Hence, with the surface in your case, we simply want to generate a set of UV values that are greater than 0 and less than 1 as this will naturally preclude the edge points
The step…1-step…step is DesignScript syntax to create a range, its the same as using the List.Range node with start, end, step inputs
Calculating the step ensures consistency with the surface subdvisions, so using it as the start of the range effectively removes the start edge points, the 1-step will remove the end edge points
Cross-product lacing is simply a built-in method of data matching: every object of a list is matched with each object of another. When this method of lacing is used on the surface it results in a rectangular array of points covering its parameter space as required
Try experimenting with different UVs and the lacing methods and see the effects - that might also help you to understand what’s going on.