Это видео недоступно.
Сожалеем об этом.
Grasshopper - Creating a Site Model From Contours
HTML-код
- Опубликовано: 21 фев 2016
- In this tutorial we will look at how to create an architectural site model using grasshopper and a set of contour curves. We will use the delaunay triangulation method, and then beyond that I will show you how to clean up that mesh result.
Check out my blog here:
christevcreati...
Like me on facebook:
/ thechristevcreative
Oh man, what a beautiful mesh at the end! This is amazing! You are a genius!
Thank you very much for this comprehensive and generous tutorial!
Just to note: I also encountered the issue of Mesh frompoints error of insufficient points and my solution was to delete the Integer and it worked! Also, I had to bring the slider up to 1.1 in order to cut the stretch mesh surface from the rectangle!
Nice tutorial man! Fellow kiwi appreciating your tutorial from Germany
Great video Daniel! Thanks for sharing. Recognized Mt Eden straight away. I have some topo that’s a little too dense with data so I’m going to give this a go. Scalability is great. Also big shout out to your square mesh. Looks way better. Can’t thank you enough for sharing!
Cheers Ryan! Sounds like a fellow kiwi has entered the comments! Glad to have you here. Hope this gives you a usable result, but flick me a message if you're running into issues. I've done a lot more optimisation on this process since posting it a few years ago.
Thank you so much! I have been lookingfor a way to create a terrain 3d surface on rhino without using patch and this is perfect!
Thank you for this excellent tutorial!
Thank you for your detailed video. Bravo!
Thanks Daniel!! None of my meshes would bake until the scaling step, but with that it was all fine
Awesome tutorial, Awesome Method.
Thanks
Looks beautiful - searching for a way to find contour lines for a site - any plugin help? Trying with elk but still a bit in the dark
That was amazing, thank you!
sorry for the questions , this may sound a bit stupid, cuz i havent actually finished the video yet but if you bake the whole mesh with every countour line and then project the rectangle onto the mesh and trim , would this be easier compared to what you did for the first 10 minutes of the vid ? sorry if this question sounds a bit stupid but i've only just started learning grasshopper
i got separated lines with gaps in one level, how to join them?
the shatter operation failed in mine and I don't know how to fix it
try flatten the parameters in input
I did the same thing. I know this comment is a year old but for others watching, please navigate to 9minutes where he makes a new cull and links that to the shatter instead of the initial joins
Hi Daniel, first of all thanks for the tutorial. I am trying to create a mesh following your steps but for some reasons once I connect the curve curve and the join curve to the shatter, it returns me this error: "1. Curve shattering failed". Do you have any ideas on where the issue might be?
I did the same thing. I know this comment is a few months old but for others watching, please navigate to 9 minutes where he makes a new cull and links that to the shatter instead of the initial join.
Thank you for the tutorial. I followed every step of this tutorial and learned a ton. But i still have the wired mesh in the final step. All the projected points connecting to (0,0,0) after forming the mesh...
And i tried to form a surface. But the points from projected side is null, instead of coordinates...
@@designerjuly2437 some (or potentially all) of the points would appear to be missing the mesh during the projection. You should try figure out why this is. You might be projecting in the wrong direction, or some of the points might fall outside the bounds of the source mesh.
@@DanielChristev Thank you so much for the reply. I appreciate it. My contours are generated in GH rather than referenced in Rhino. I think this may be the reason. I send you my GH file to your email dchristev@gmail.com. If you had a second, would you mind taking a look at it? Thanks a lot!
I would've just trimmed the curves outside the rectangle in rhino and save like half of the tutorial haha, good with the rest of the tutorial tho!
Fair enough, that's also a good option. I just wanted to show that you can parameterize the whole process, and the beauty of grasshopper for me really is in its non-destructive editing.
Thanks a lot... you are marvelous!
If I've got contours that are already cropped, can I skip the first section where you crop to the rectangle? Where would I start from in that case.
I have a question. If I first divide the polyline into points, and then take the points inside the curve, will it be better compared to your method? You first divided the polyline and then decomposed it into points.
Hey there! I would say that depends on your metric for 'better'. If you divide into points first, you will probably see a speed increase, but at the risk of accuracy.
The reason I split the curves first is to ensure that I get points along the clipping perimeter curve. This means I will get a cleaner mesh as a result.
If you divide into points first, you will not have these points which are incident to the boundary. Note that this may not necessarily be a problem, I would say go ahead and test it out and see how you like the result 😊
i think you are right,and if i just need a small area from a big map ,maybe cut polyline first is faster ,thanks man I didn’t expect you to reply to me so quickly, appreciate。@@DanielChristev
this tutorial is amazing and pretty useful, but I have a question that do you have a way to give the whole site a thickness or volume? like a physical model. I have no idea how to combine the mesh and the base
Would love to know that too!
Hey great vid thanks mate. Any tips for how to get contours with z-axis elevations into rhino? I've been trying for a few days but all the dwg's i can find are flat and I can't open shape files.
does anyone know how to cast shadows on the mesh? When I do it the shadows are cast on the cplane instead of the mesh. My guess is that I have to turn the mesh into a plane perhaps?? Thank you in advance!
Nice work! This is programming without coding. Why can't Autodesk do this for Inventor? Amazing work! Cheers
Hi there!
I got error message in shatter component, it just says "Curve shaterring failed" Not much information about it. Do you please have any suggestions? Thank you
Hey man, I can't say I've come across the problem tbh... But it'd be worth looking for a few ways to diagnose it. Does the component fail completely, or does it split some of the curves? Does the data structure match between the inputs? Perhaps there's a misalignment of the curve parameters and the curves.
The only reason I could see for the shatter failing is for the curve parameter to fall outside the parameter range of the curve...
Hi and thank you. Based on your suggestion i solved it. And it works ok now. I had an issue with baking final terrain. There were no geometry in rhino even after exploding mesh a joining breps, so i just made mesh in rhino from points and i can work with it now.
Thanks man.
Might have to convert all curves to polylines ... ?
Wouldn't it be much easier to form the mesh in grasshopper first then cut off the part that is not needed with the rectangle in Rhino?
+策刘 well.. I suppose you could. But there's several reasons why I wouldn't do it that way.
Firstly, the idea is to automate the entire process, such that we can repeat this with any contours, and have minimal fidgeting.
Secondly, I'm not a huge fan of editing meshes in rhino, or creating trimmed surfaces.
Also, I tend to work exclusively in grasshopper nowadays - so it's probably more a matter of preference here.
At the end of the day, this is just the technique I've come up with, it's not categorically the best way to do it..
Hi,
Thanks for the video! It is definitely saving my life right now since I'm building a topography model for my studio course. i"m having trouble with the last par of the tutorial. Someone the mesh still stretch on. Is there any way to fix this?
+Christopher Hardy sorry man.. I'm not sure I understand the problem? Can you explain it clearer?
Hi Daniel, thanks for the response. Sorry for the unclear question, I wrote it at 6 in the morning. My issue is the last step in the tutorial where when you do the param "meshfrompoints," a part of the mesh from the topo model will stretch off into the distance. I followed your directions to solve that issue accurately, but that model glitch is still there. Is there anyway to fix it?
It's difficult to say what exactly is causing your issue tbh... It could be any number of things based on the inputs you've chosen and the way you started/built it up.
I would check the following:
is the surface on which you are performing the SurfaceDivide a trimmed surface? If so, use the 'untrim' component, and try again. A trimmed surface will not necessarily give us a number of divisions accurate to the inputs we are using.
For testing purposes, find a low resolution where the problem persists, and see if the projection is throwing any NaN's (Not A Number), and then you'll have to figure out why these rays are not intersecting the mesh...
Hopefully these can help you resolve it.
For anyone struggling to get a clean Delauny Mesh, try to Cull duplicates, as @Alexander Lundmark suggested, it solved the issue for me.
How do you open the file with contours in Grasshopper?
You open them in rhino, and then reference the geometry in Grasshopper
the cull operation failed in my case ,and I don't know why
is mesh from points a plugin?
thank you very much!!!!!!!!!!!!!!!!!!!!!!
Awesome. Can't find mesh from points though?
+Alex Knight check the plugins list in the description, meshedit is what you're after.
Thanks friend :)
Hi guy i'm from france ! Thanks a lot for your tutorial ! It's really helpfull. I'm just stuck on the last part when i try to project the points and using meshfrompoints command. It keeps saying that i've got an insuffiscient number of points when i plug my U and V... Do you have any ideas ? Thanks again.
there's a number of things that could cause the problem. Most likely would be that the projection points miss the target mesh. reduce your final mesh resolution and test whether points are falling off the edge of the mesh.
Also check your point output, to see if there are null values in that list.
is the mesh from points command a plugin? i know its a rhino command but I don't see that option in grasshopper?
+J Pell It's a grasshopper plugin that has several other really useful toolsets as well, download from here.
www.food4rhino.com/project/meshedittools?ufh
+Daniel Christev This tutorial saved me. Thank you so much
+J Pell No problem! Glad it could be of assistance!
Hi Daniel, great video! It's been very helpful! it all seemed to work great for me and my projection looks Good and it looks like a terrain until I click on the "FromPoints" component, then I get a strange mesh that's proyecting all points to 0,0,0. That seems to come from the U+1 or V+1 values. I tried changing the scale to 1.2 but it doesn't seem to fix the problem. My terrain is irregular and I was under the impression that could be the issue so I tried changing the terrain input curve into a rectangular in case having 4 corners would solve the issue but it didn't. Any suggestion as to how how I could get a better-looking mesh without all the projecting to 0,0,0? I get an invalid mesh when I bake. By the way, my lines are on the edge of origin so it's not one of those "I'm too far from origin" problems.
If one or more points are located at the origin, this woiuld suggest that the projection has failed for whatever reason. Check your projection direction is -z if projected down onto the mesh, or +z if projecting up from below the mesh.
If any point misses the mesh, that point will generate at the origin.
Check with lower resolution meshes as well. I have no idea what your model looks like, so I can only send through suggestions, but hopefully you can debug it.
When I project the point cloud to the mesh then try to form a surface from points, I get the error There is a null point in the grid, what may be causing it
If you have a null point, then at least one of your projection points has likely missed the target mesh. Make sure you are projecting in the correct direction, and also make sure the edges of your surface do not exceed or get too close to the boundary of the mesh.
Hi Daniel,
Thank you for this explicit tutorial! But when I try to connect the two culls to " Divide distance" function, which is before the Delaunay mesh, it doesn't allow me to connect both the culls. As soon as you connect the second one the former disconnects. Could you help me out?
+Parth Divekar hold the shift key when combining multiple streams into one input.
thank you very much!
Hi! I know this video is old by now, but I'm stuck and can't seem to figure out my problem! I cannot get a result for shattering the intersecting curves. I've watched your video about a dozen times and retried the setup, but still can't get it to work. Here is a screenshot to show my arrangement: i.imgur.com/aXmjZNf.png
Does anything pop out to you s incorrect? Thank you!
Yes, same here - any tips?
@@andrewfrancisjames try flatten the parameters
Hey Daniel, great tutorial here. I wanted to ask you a question: when I bake the delaunay mesh, it's showing up on the screen but I can't select it in the normal rhino interface neither render it or anything. What could the problem be? Thanks in advance, cheers.
actually it says 'invalid surface' so I guess that's why it's only showing the preview but not really baking, I can't find the reason though (it's not giving further info)
@@MrSatierik Late answer but for anyone else with this trouble: try cull duplicate points before delaunay mesh
@@cremebonjourvitlok THIS! i was trying for three hours to get it right, solved all my issues
Hi there, I'm having trouble with my Point in Curve (InCurve) R value. In the results, the values are between 2 and 5 instead of 0, 1, or 2. Any ideas? I'm a new grasshopper user and am stuck! I've double-checked everything else and I think I've done what you've done. My contour lines end just outside the rectangle; do you think this would cause the problem? I could try with a larger set
The cull with the interior contours seems to be working, and I copied it from the other one, so it should work. Hmm.
+R L I must say, that's a problem I've never come across.. Are you getting numbers between 2 and 5 (ie. 2,3,4,5) or just 2 and 5? Perhaps it's something to do with the points you're testing not lying in the same plane as the curve you're testing against...
Yes, 2,3,4,5, and also a 9! I suppose it's possible. I'll check my curves. Thanks for the quick reply!
I never got this part to work, even after re-importing both the cutting curve and topo lines from ArcGIS. I ended up clipping the layers to the boundary in ArcGIS, which meant I could skip the first step. The mesh step worked; now I have a delauney mesh which is sufficient for now. Like the previous posters, I have a long and skinny site, and despite following the video twice, the site was still full of weird geometry after the last steps. Thanks, though! Now I can quickly create delauney meshes at various sizes!
R L Can you please send me the file(s) you were working with, I would love to get to the bottom of this problem!
dchristev@gmail.com
HI I just started to use Grass Hopper and install the meshedit thanks to food4rhino. I tried to follow your different steps to modelise my site. However I'm stucked on the 25th minutes tutorial. Could you explain me how you disconnect and reconnect the arrows from the curve command to the scale command ? I'm not sure doing the right commands cause I finally obtained kind of stuff like yours except the "weird" mesh is still there. Thanks for your tutorial.
hey cad bobby, if you hold ctrl+shift while clicking on a stream, you can grab all the inputs/outputs and plug them into another stream.
Thanks Daniel Christev. Indeed it works perfectly ! I got a really nice mesh
Thanks for this awesome tutorial! It was really helpfull.
Im just wondering one thing, where do you get your 3D contour lines from?
So far I was only able to extract contour lines in a 2D plane, but what software should i use to get them in 3D like you have?
Thanks!
In New Zealand we have a CAD data base which has the curves at their specified heights.
That said, are you using arcGIS? And what filetype are you extracting from your database?
Hey man. Look for "Finches import SHP" on Google, and you should find an old gh forum post about it.
Some users created a shapefile reading tool.
Thing about the shapefile is the contours are imported into gh in 2d plane. But the SHP file also gives you a separate contour height attribute, and you just have to use that to move your contours to their correct elevation.
where do you obtain the topography data in the first place..?
Hey Sabrina. The answer to this question by and large depends on what country you live, what tools are available to you, and a few other things.
It might pay to do a quick google of your city name + "GIS " (Geographic Information System). A popular tool for extracting this kind of data is called ArcMap, but whether that is available to you is a different question.
Why is the last step not working for me.. After i reconnect the scale to all the trimparts and the curve to the surface I got still this weird geometrys in my site model.
LaLutazz :o not entirely sure I understand what the problem is you're having.. If something isn't working, chances are you have either made some wrong connections, or are missing at least one.. Review the definition/video, and if problems still persist, flick me an email with screenshots
dchristev@gmail.com
Hi Daniel,
I am getting the same result, I have triple checked everything and still return 'null' points on my projection onto the delaunay mesh. I'm thinking it maybe has something to do with the shape of my border, it is an elongated rectangle rather than a square so when i scale by 1.05 it only moves very slightly in one direction and much more obviously in the other.
If you wouldn't mind could i also send you a quick email with some screen shots?
Thanks in advance,
Will
Go ahead. Have you tried scaling it by more than 1.05? Perhaps it requires a greater threshold to detect the border..
LaLutazz :o Will Taig I don't presently have access to my computer, but I would love to test out these issues. Obviously, I try to debug as much as possible before releasing a tutorial, but this is clearly something I didn't come across in testing.
Perhaps instead of doing a uniform scale, it might be better to do a curve offset, which would provide a uniform bezel around the geometry, if this is (potentially) the root cause of the issue.
Hi Daniel,
I will try the offset, I was considering this on Friday afternoon.
Also just a heads up, I ran into another issue where all "0m elevation" contours were being ignored due to the projection to the base srf, moving them up 0.1m fixed this though.
hey thanks, is it possible to download your grasshop file and then just add my curves ?
Hey there. No sorry. The point of these videos is that they are tutorials, and not to just provide people with a copy-paste solution.
@@DanielChristev ok thanks no problem :)
@@DanielChristev Do you know where can I find the interconnect point component ?
@@Hhih2 interconnect point is a tool from the kangaroo library I believe.
Hello, Thanks a lot for the useful tutorial, I am not quite an expert in grasshopper but I'm getting my way around through forums and tutorials.. I'm trying to use this method to make the topography for Al Za'atari Refugee camp in Jordan.. I have the contour lines as elevations in 3D but I'm finding quite difficult to pull this off.. Would be possible to use the same method to create a surface rather than a mesh? Maybe using the patch command or something better maybe.. Also I wish to map the caravan households SP lines plans to my generated topography to make an accurate 3D of the camp.. If you could help it would very much be appreciated. Contact me if you have the time please..
Regards,
Z
+Zeid Madi hey Zeid, I'm overseas at the moment, so I don't think there's too much I can do to help. You can absolutely use patch if you want, but it would be a lot slower, and I also don't believe you could achieve as good a result as if you mesh it. Where does the method break down for you?
Hi! How did you get the contour curves??? Can you do this through Rhino?
The contours are just imported from a shape file. We have a publicly accessible contour database in NZ, I'd imagine you should too.
@@DanielChristev we do.. but my site is very remote and there are no plans to be had of the place :/ Thanks anyway for answering!!!
@@DaniTessa you could try gismo for grasshopper, it's a plugin which fetches terrain data from OSM. I've found that it sometimes has data for sites I haven't been able to find data for in the past.
Where did you get the contours from?
I live in New Zealand, and these contours are publicly accessible information through government organisations.
There are plenty of places you can find contour data, ArcGIS, OpenStreetMaps.. Depends on what area of land you're trying to find contours for.
thanks for posting. i hoped this would start from 2D curves and raise them by inclusion rules. Since it is already 3D, i cannot really see why using grasshopper and not native rhino tools (various workflows). feels a waste of time.
for accurate terrain i prefer GIS photo data converted to vmrl then obj then rhino mesh.
Depending on the curves given, inclusion rules might not necessarily provide an accurate representation of the actual landscape. So this tutorial assumes that you have 3d contour data.
As for the rhino workflow, I can't say I'm a huge fan of the native tools, and personally this was my preferred solution at the time in terms of the workable output, flexibility and repeatability. But that said, I can appreciate that a lot of people won't prefer this method.
Though I will accept, in recent times I have come to prefer image based workflows as well. This tutorial is now 2.5 years old, and I've changed a lot of the ways i do things from these tutorials.
I'd be interested to chat with you though. Flick me an email at dchristev@gmail.com, if you feel like continuing a dialogue :)
Daniel Christev i am no expert, just naturally curious on any workflow, we can chat i'll drop a line.
lol and now how do u made that lines to float in right height lol , all i got is bunch of lines with zero heigh like all dwg files works .....
I started with a 3d data file, you might want to check your data source. For instance, you can get shape files (.shp), that will import as 2D data, but have an embedded elevation in the metadata. But if your data is just simply 2 dimensional, try find something else.
you could somehow use grasshopper to test for inclusion and auto raise the curves by their resolution (50m, 100m, etc).
Hello!
Congratulations on the video lessons.
Recently, I started using the Rhinoceros program.
I'm trying to see his applicability in the area of topography. Topography of open pit mines.
I've already done some testing here and I'm in trouble.
For example, when I load the topography of the open pits in the format dwg (lines and points) and make the generation of surfaces something wrong happens. In this case, the surface is very softened, which does not correspond to reality.
If you could send me your email it would be interesting. I've done some print screens here so you can visually understand what I'm trying to explain to you.
In the other software that uses the surface generation is very close to the real one, already in Rhinoceros there is an exaggeration in the smoothing of the triangulation.
I would like the surfaces generated by the Datamine and Rhinoceros to be approximately equal ... Would you like to help me?
Thanks for listening....
Hey Kakaroto! Sorry I missed your comment, it landed in my spam pile for some reason, and I only just found out. If there's still something I can help you with, flick me an email at dchristev@gmail.com.
Hi...thank you very much...i will send the images...if necessary the archive in dwg format, tell me...
It's so damn difficult to add a surface to a complicated set of contours especially where you need smoothness.
in short - divide contours by distance | delunay mesh points | project subsurface on mesh. don´t need 30min to make it work, quite wastefull.
Mouse and keyboard noises are too loud.