I need to divide a lot of surfaces that have been extracted from the grading I did in my project, my current workflow is:
Draw the feature line with the precise elevation points I have (20m in 20m) - automated
Grade this feature line to my terrain surface
Extract the detached surface from this grading
Explode a copy of this surface so I get the exactly lines that build my grading
Close the polygon at each 20m (I need my surfaces (solids that I build from it, to be precise), to be divided at this points, which are my stations) - This is done by hand, wasnāt such a problem, but now I have 10km+ to do this (500 divisions, if you put 1 minute to each, which is not real at all in some cases, already consumes me something like 10 hours)
Crop the original surfaces with this closed polygon via dynamo - I have some problems here too, looks like I always end with some ānullā inputs from the object.geometry node, something with points being coincident, iām using georeferenced coordinates, but even if I bring the project close to 0, still get this, independently of which geometry range I use - I CAN bypass this by creating a feature line from each polygon, then getting the average point of the respective feature line as my āKeep Locationā in the āCrop Surfaceā node, and using the polyline polygon only as the cropping object.
then extract the solids via dynamo - Everything working perfect here
SO, anyone knows a better way to do that? I feel iām doing this the wrong way/with wrong tools, i read something about parcels in the forum, but couldnāt work that outā¦
I didnāt sent any .dyn or even .dwg because I think what I need is some help with the logic itself that iām building, itās not like that one isnāt working, but it is so slow to do it even with the dynamo. Iāll prepare some gifs/Screenshots to send, just give me a few minutes
Do you need to create separate surfaces, or is the end goal just to have individual solids? It would save a lot of work if you can avoid creating so many TIN surfaces. You can just use the OOTB Solid.SliceByPlanes node.
the end goal is to have the individual solids, indeed.
Iāll try your solution rn, and will comeback with the feedback. I was almost always crashing/freezing my process while creating the tin surfaces, so this looks i nice workaround
BTW, can you share your .dyn and finished .dwg?
Itās running for about half an hour now, nothing yet. I Created this solid from a single surface, which had different surfaces on it (created from the same grading group, so they came like this), and it seens like this slow down the process A LOT, you know if dynamo has any trouble with this situation? Also, iām using georef coordinates, so x has 6 digits, and y has 7, can this slow the process this much?
This shouldnāt matter. The longest part of the process is probably extracting the solids between surfaces. Breaking this up into smaller pieces should help. Breaking it up into 20m increments is probably too granular (thatās what slicing the solids is for), but could you do some data prep and break the grading surface up into a few surfaces instead of one large surface?
Hi, as @mzjensen said the longest part of the process is exctracting the solids. Check your surfaces beforehand, if you have >100K triangles it would not work in Dynamo and it will take forever in C3D, so definitely break it up.
Hmmm, i donāt know, Iāve generated solids from surfaces with more than 500k triangles last week, and it took WAY less time to buildā¦ Iām at my WS right now, will test it here and see if I got any different results.
Iāve did this prep on most of the surfaces (~80%), but the ones that i received from a collab of mine had this 8 ādifferentā gradings into the same surface, I donāt know if Civil takes in account the bounding box to do some math, because if you take the area from all of that surfaces, its not even 3% of the topographic surface that I worked with in this project, and that one took so less time to extract the solid. If I canāt solve this today, iāll rebuild this ones separately.
While at this, can I ask why exactly you used alignments? AND, do you use EpicGames to work with pointclouds in Unreal Engine? I just got curious hahaha
@mzjensen marked your solutions, worked like a charm now that iām in a decent WS, iāll try later with this one surface of separate surfaces, and will give the feedback here.
You originally mentioned that the cutting planes were at specific stations (or rather, at 20m increments), which you had located in model space as individual lines. But what would you do in the scenario where you need to change the increment to 15m? Then all of the lines would be incorrect. In my experience, itās easier to get coordinate systems along the alignment at specific locations (which could even come from an Excel file if needed) than to draw individual lines. And it is also a more robust workflow with fewer steps of manual work.
Thank you for so much knowledge shared, @mzjensen.
I thought you made it by alignment because there was some tool that you could easy draw it by selecting the individual lines or something, but then i realized that i could just draw a polyline between that points with dynamo and transform it into an alignmentā¦
Well, thank you all for your time, really nice examples and way of thought, hope I can help you like you helped me someday soon.