Project Points onto a Surface

Hello Everyone,

I am trying to get some points to project onto topography so that I can use the points to place families down onto the topo. Ive tried the [point.project] node and for some reason its not working. Ive also tried creating a line from start and end point based on the X and Y coordinates and specifying the Z axis then intersecting the lines with the Topo so I could get the points from the intersection but that hasn’t worked either as I keep getting empty lists back like it didn’t recognize the lines as geometry or something.

any help would be very much appreciated!

are you have this topography as c3d surface? if yes use


this node from dynamo Revit accsess to c3d object. it is in brimohareb_XXX pak also you can use civilconnection pak.

Hi RMohareb

im currently using the architecture version of Revit so I dont think I will be able to get the topography as a Civil3DSurface but I maybe wrong.

either way thank you for your response

1 Like

What does your list of surfaces look like? What does the error say?

Hi there! So first of all, good practice to expand the warnings so that others can see it and also all the inputs and outputs of the nodes in question. Secondly, if this is a Revit 2023 file or older, there is a little bit of conversion stuff you need to do since a topo is essentially a mesh that doesn’t work with the Point.Project node. Download spring nodes package and use the Mesh.ToPolysurface node to convert to a PolySurface you can use as input to the Point.Project node.

I will try remember in future to post the errors too but it is just one that states the geometry should be between 1 - 100000 or something like that its nothing that is affecting the scripts ability to run or the data its handling.

Thank you for the advice mate ill make sure to do so next time they were just geometry exceeding extents warnings but you solution worked i.e turning the mesh to poly surface to project the points so thank you for saving me on this one!

Hi @josteinberger.olsen & @Nick_Boyts thank you again for the previous advice it has helped in taking the next step however ive run into another obstacle because I am processing 3299 points being projected onto a surface it simply crashes out and after 8 hours of the script running last night I finally came to the conclusion that it had crashed Dynamo and was no longer processing the data.Ive attached the warning messages below:

1st Warning: Custom Node (is actually the OOTB node for categories and works)

2nd Warning: None of the results in the list are Null values all are working fine.

3rd Warning: To do with converting PolyLines but the lines in the list arent used im essentially indexing the mesh value in the list to create the polysurface for intersecting

Process of getting the values for the inputs
I am selecting the grids for the planting to be done at through the intersections of the horizontal and vertical Detail lines within the blue diagonal hatch area (Site Boundary). I am using the hatch area to essentially chop the lines by the edge of the hatch in order to minimize the intersection points that arent needed which is all working fine.

The issue come when I try run the script as stated before its calculating 3299 points being translated or intersected and it just freezes. Is there anyway I could optimise this so that it actually runs and doesnt freeze. ive unplugged the point projection node for now to stop it freezing Whilst I play around.Without the lacing being set to longest it just moves a single point and I obviously need all 3299 of them to move.

My Intention for finishing the script.

Here is an overview of most of the script the only missing nodes is the User Interface ive built to select the lines for intersection, hatch area, topo, seed for random list cycle and desired tree families.