I have an autocad file with some spot elevations in the file. I am trying to create an extremely contoured site in 3DS Max Design 2014. I need to know if there is any way I can generate contours from these points in order to use the terrain tool in max. Is there a max script that can do this?
I also have a flattened version of the file with all the contours drawn on one plane if that helps?
The easiest way is to draw contours using 3D polylines in autoCAd. Then use the terrain tool in max to create a terrain from the imported 3D polylines
Unfortunately, I have over a 1000 points on various levels. Its going to take me too long to manually draw contour lines. I would have hoped that max could create a surface based of vertices on various levels 😞
Do you or anyone else have any other suggestions?
Hi framarz.
As I understand it, you got 2 different ways to go: A) Making a terrain out of flattened contours, or B) Making a terrain out of points. (You can of course use both in combination, but that doubles the workload)
First thing to decide is if you need the contours to be visible in the final terrain or not. If so, then you only got option A, if not, then you can use both options.
Here's a couple of ways I know:
A) Making a terrain out of flattened contours:
You need to give every contour its correct elevation. I know that some CAD and BIM programs can do this semi-automatic, but I don't know of any way to automate this in Max. There might be a script, but otherwise you have to do it manually. When this is done you can use the Terrain tool.
B) Making a terrain out of points:
This can be done in CAD programs like Civil 3D, but AFAIK Max can't do this without some tricks. There might be a script somewhere, but ....
As you said yourself, to do this in Max, you need to somehow make the points into spline objects. Here's one "tricky" way to do that:
1) Create a NGon (shape) with 3 sides, and a very small radius (i.e. 1mm), and convert it to a spline.
2) Use the "Clone an Align" tools to distribute NGon clones to all the points.
3) Delete the Master-NGon and attach all the others together to 1 object.
4) Use the Terrain tool to convert it to a terrain.
5) Weld all the vertices with a slightly higher setting than the NGon radius (i.e. 1cm) and manually patch eventual holes.
Hope it helps.
Thank you for the suggestions. This is what I have done ultimately:
1. MOVING TEXT TO CORRESPONDING LAYER
The first step was extremely tedious. In AutoCAD, I created about 100 layers, each with an elevation value present in the dwg (example 100, 101, 102.....200), each with a unique layer color. Then, I used a script I found online and modified the values in it to select all the text objects in the scene and filter out all the values in a certain range (ex. 100.17m, 100.88m, ....), then copied them to the corresponding layer.
2. MOVING TEXT TO CORRECT ELEVATION
Once I had all the text in their corresponding layers, I then went in an moved all the points in that layer to the corresponding z value (ie. all the points in layer 100 were given and elevation of 100m). As tedious as this sounds, I managed to do it in about 15-20mins for around 100 plus layers 🙂
3. CONVERTING TEXT TO POINTS
At this stage, the dwg file contained all the elevation markers as text filed at the correct elevation. I took this file into Max and replaced all the text objects with points with a soulburn script. This took some time since there were close to 24000 points in the scene. I did it a couple of layers at a time so my machine wouldn't crash. I am sure there must have been an easier way of doing this maybe even in Autocad directly, but I didn't have the time to research that. I saved out the file as a DWG again.
4. CREATING TERRAIN SURFACE
I took the DWG file into Rhino, an with a single click of a button, a surface was generated.
What I would have liked to do:
Use a script that reads all the text values in a scene and places it at the corresponding elevation. Unfortunately, the technique I used, rounded off all the text at intervals of 1m, which is not ideal but less tedious (ex. values of 100.89m ended up with an elevation of 100m only).
Then taken this file into MAX and converted all the text to points and with a max script and a click of a button gernerate a surface.
I cannot believe max doesn't have a command to do this since I feel it would be a very basic and useful tool to have! Maybe in a future release 🙂
Thank you to everyone who contributed to solving this issue.
Can't find what you're looking for? Ask the community or share your knowledge.