How do I get Surface.PointAtParameter to work on polysurface?

How can I make Surface.PointAtParameter work on polysurface as well?

Surface.PointAtParameter used to pass U and V values in list form to generate coordinates in a grid-like fashion.
We would like to extend the same operation to polysurface.
However, connecting polysurface to the Surface.PointAtParameter node as is did not work. (Of course…).

You can’t really. Best to simplify to a single surface if possible. What is the use case?

I would like to make a few changes to the Autodesk sample file to make it applicable for TOPOGRAPHY.
The logic now is to convert TOPOGRAPHY to TINMesh and get the boundary from that TINMesh. From that boundary, I create a surface with Surface.ByPatch and create a point with Surface.PointAtParameter.
However, this method results in a shift in the Z coordinate values.
Is there any good solution?
topo_gridshape.dyn (189.9 KB)

  1. Get the bounding box of the topography.
  2. Get the minimum and maximum point
  3. Get the X and Y separation between the two points
  4. Draw a rectangle with the X and Y separation values.
  5. translate the rectangle by -1/2 of the X value and -1/2 of the Y value so it sits with the top right corner at the origin.
  6. Patch the rectangle to a surface.
  7. Use a Surface.PointAtParameter node to get a point.
  8. Ray bounce the point onto the topography.
1 Like

Thanks for the reply.
First.
I don’t know how to do the “Draw a rectangle using X and Y separation values” operation.
Could you please tell me how to do this?

This should get you started.
https://dictionary.dynamobim.com/#/Geometry/Rectangle/Create/ByWidthLength(width_double-length_double)

1 Like

Thank you very much.
Thank you for taking the time to teach me such a simple thing.
I am sorry that I have to ask you to teach me everything, but I would like to know the next operation as well.
translate the rectangle by -1/2 of the X value and -1/2 of the Y value so it sits with the top right corner at the origin.

Geometry.Translate node, where the X input is the rectangle’s width multiplied by -1/2, and the Y input is the rectangle’s height multiplied by -1/2.

If you still have problems take a stab at the full graph, post a .dyn and .rvt, and I’ll try and have a look.