Community
3ds Max Modeling
Welcome to Autodesk’s 3ds Max Forums. Share your knowledge, ask questions, and explore popular 3ds Max modeling topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

combine editable polys from terrain fbx import

32 REPLIES 32
SOLVED
Reply
Message 1 of 33
JamesMaeding
2890 Views, 32 Replies

combine editable polys from terrain fbx import

I am fairly new to 3ds max so need some pointers. The issues mentioned here will be very common to civil engineers and architects so we need to get this ironed out.

 

I am starting with an fbx that came from infraworks.

The fbx comes into max as 4 editable "terrain" meshes with textures from draped images applied, no problem.

 

What I have to do is add the base and side edges to form a water tight set of triangles I can 3d print.

I read the matterhackers post which says to convert to editable poly, then select the outer boundary and extrude down then cap:

 

https://www.matterhackers.com/news/how-to-3d-print-a-map-of-anywhere-in-the-world

 

I am not new at making terrains and write my own tools to deal with them in acad/bricscad, but manipulating in 3ds max is what I am learning.

There are 4 meshes from the fbx , but I am sure larger models will have many more.

I am thinking I need to combine the meshes into one editable poly, so I can select the border edges and extrude.

The attach command does this, but the 4 pieces are still elements so the boundaries are like 4 tiles still.

I do not want to degrade the mesh at all by a resample type operation.

 

Can anyone explain what I should be looking into to "weld" the tries into one big blob so I can select the true outer boundary?

I am not sure if the 4 tiles remain because there are micro gaps between the tile edges, or if attach is meant to preserve the original pieces.

 

In addition, I will sometimes start with a mesh that is not textured, so will be draping (texturing) it with an image so am thinking that is better handled by one combined editable poly.

thanks

 

max.jpg

 

See how attach does not really combine into one element?

 


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

32 REPLIES 32
Message 2 of 33
JamesMaeding
in reply to: JamesMaeding

wow, not a single reply. This process of taking an fbx with textured surface from infraworks and closing off to a watertight solid/mesh is something many people will want to do.

In other words, whoever posts answers will be seen by lots and lots of people. Its a good opportunity IMO for some publicity.

 

Odd that the "request an answer" button is not not in this forum like the other adesk ones.


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Message 3 of 33

Hello @JamesMaeding,

 

I'd like to help with this issue you're having.  It takes me a couple days to get to new posts due to the sheer volume of traffic in this forum, but I do reply to just about every post that comes through here.  I am solitary whereas on AutoCAD forums there are multiple support people that work the forums all day.  Ok that being said...

 

These parts that you are attempting to weld together... do the verts line up 1:1 on those parts?  It's hard to see in your screenshot, but we'd want perfect vert overlap if the topology is not to change at all.  Otherwise, there will UV stretching or geo deformation as those verts come together to weld.  If there are gaps then the parts need to be moved closer to one another, usually with snapping tools on.  If they line up perfectly, all you really need to do is select your borders, then hold down control and click the verts button to convert the border selection to a vert selection.  Then, press the weld button option box, right click on the spinner to set it to 0, then hold down Alt and slowly increase the spinner until the verts are welded.  However if the verts don't line up 1:1, this won't be as simple.  

 

I can create a private folder for you if you want to upload the parts and I can record a video of me going through it and how to deal with the issues if you'd like.  Or, a closeup screenshot of where these parts come together would be nice so I can see the topology and give a decent recommendation that fulfills your requirements.  Thanks!

Best Regards,  

Message 4 of 33

Hi Alfred,

No problem on the delay, I don't expect this will be a quick solution from what I see so far.

The verts are "supposed" to be 1:1 with no gaps, and I believe they are.

THese meshes came from infraworks fbx, which chops up a triangulated surface into square chunks to allow image tiles to be applied.

When I pull the fbx into acad, the verts are super clean with no gaps.

 

I tried the steps you mentioned. I selected borders, then ctrl verts click to convert to verts selection, but the alt spinner thing did not seem to do anything.

It had a before and after number which changed slightly, but I am expecting it to cut by 1/2 or so as the coincident verts are welded.

 

I'll post the .max file so all can follow. I'm not trying to keep this private as the data is USGS and the workflows apply to everyone.

Open the attached zip to get the max file.

If you can walk us through this, that would be super appreciated.

 

I write lisp and .net automation for autocad and windows, so keep thinking this is something an API could do.

But I am just learning about max built in commands and the "entities" of max.

Also, this is not just for 3d printing, it for preparation of meshes for many things like gaming environments.

thanks

 


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Message 5 of 33

Thank you for the mesh file @JamesMaeding!  I can tell from your sig that your joopleberry shrub is the most mauvy shade of pinky russet.   I have made a video for you here and also talked a bit about 2 other problems I see with the model and scene that I think should help you.  Please let me know if you have any questions.

 

Best Regards,

Message 6 of 33

dang, nice walkthrough in that vid. I'll try that and also study the mesh and poly editing methods. have to go but will reply more tomorrow.


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Message 7 of 33

Ok, back in the office.

Your video was very educational, very nicely done! Also picking up the sig ref to HHGTTG. That is how I truly detect if a responder has their act together!

 

You are correct that the export from Infraworks is the source of anything non-ideal for the triangles.

That program does not seem to care about the odd normals, and I actually did not care about them til you mentioned the shading.

Those would have an effect on viewing in 3D though, so now I care.

There is no hope of getting IW to deal with normals how we would want in its export. Also no real hope of minimizing thin triangles.

 

However, this workflow of IW to fbx to max is also not what I think is the best approach on all this.

Those tile seams will always have undesirable issues if IW exports are used.

And its not just making models for expensive color 3d printers most people do not have access to.

These workflows are about prepping surfaces for VR compatible viewers, like stingray or unity.

 

I think the better workflow is to make 3d faces in acad, and control those, then bring the dwg into max and add the texture there.

Some will use civil3d to make a surface, then extract the faces, and some have other tools.

I did not mention it, but many times there will be two different sources involved, like an fbx and a dwg with 3d faces.

I am having issues where they don't line up in max. Not small gaps but miles apart.

Things always line up if coming from drawings (so far) so that seems rock solid.

Also, sometimes you texture some areas with an image, and others with a color, so there are reasons to have separate meshes in the beginning.

 

I get the feeling the civil side of Autodesk is not talking a lot to the modeling side. There have been some interesting presentations done by the civil side that show how to clean up textures in max, and its like rocket science to the audience at hand. This is severely stunting the VR viewing ability of the cool models infraworks and navisworks make so easily. My 3d printer application is likely 1% of the reason people would want to minipulate meshes in max.

I'll stop for now, very much appreciate the help!


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Message 8 of 33

Thank you for the informative update @JamesMaeding, I really appreciate it.  

 

Do you think it would be helpful to have tutorials about the cleaning up of textures from Civil?  I wonder if @melissa.lax has any thoughts about that.  I'd be happy to see if something like that can be put together and if necessary make a video myself for it.  Would you mind explaining a bit more (or providing a link or two) so I can get up to speed?  I don't know much about Civil so my searches came up wrong I think.  Thanks for any extra info!  (and for all the fish.)  

 

Best Regards,

Message 9 of 33

@Anonymous thanks for including me in this post! I'm swooping in like Super Women to attempt to answer this...

 

Hi @JamesMaeding thanks for your question and welcome to Max!

I'm going to ask Amer tomorrow, yes the "Amer" from our Tutorial videos, he's an architect by trade so he'll know a trick or two.

In the interim I can direct you to these learning resources > 

 

AU class by Paul Kirkendall "Importing CIVIL 3D to 3ds Max" - Learn how to import AutoCAD Civil 3D project data into 3ds Max

http://au.autodesk.com/au-online/classes-on-demand/class-catalog/classes/year-2016/autocad-civil-3d/dv20420/jcr:content#chapter=0

 

Video Tutorial Series "Using Civil 3D in 3ds Max" - It's a hefty video tutorial but great if you'd like to learn your way through this workflow. 

https://knowledge.autodesk.com/support/autocad-civil-3d/learn-explore/caas/video/youtube/watch-v-8FKrKvEVmtQ.html 

 

Let me know if this helps! I'll get back to you shortly with Amer's feedback. 

 

Best,

 

Melissa

-Sent from a very slushy Montreal 

Learning Content Curator
Live Design Group
Message 10 of 33

Alfred,

I do think help with textures and meshes would be useful.

The needs will come from many angles, as max will take meshes from fbx, dwg, and other formats.

Textures will come from fbx, images, and regular colors.

In the end though users will either want something to 3d print or something to bring into a gaming engine like Unity.

Kean Walmsley's blog Through The Interface has been dealing with this subject a lot.

 

The payoff is getting models made in autodesk software into VR viewable formats.

Then clients will demand models for every project, as its so easy to make some surface in civil3d and get an aerial image.

Once you think of it that way, you have to look at what unity wants for a terrain too.

 

Anyway, you currently have to be a career max person to navigate the issues with fbx from infraworks.

There have been videos on it and I cringed a bit knowing most could not follow the steps.

It will take time to make a todo list of the specific issues that arise, so we need to know who the right people are to ask on the max side.

The good news is figuring this out should make IW sell better and gain momentum.

The bad news is there are other ways to do what IW does, and possibly better as the fbx export is a step I can't control.

thx


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Message 11 of 33
JamesMaeding
in reply to: melissa.lax

@melissa.lax,

Thanks for the links. I have seen some of those before, and have watched the evolution of Civil View in 3ds max some.

 

 

Those workflows assume you make corridors and structures with autodesk design tools, but most of the modeling I do and see done is with surfaces made from 3d polylines, and structures modeled with autocad 3d solids or in sketchup - revit too.

You can make surfaces (meaning tin surfaces) from regular 3d polylines if your tools can make them from design data.

Sometimes the 3d plines come from others too, but I never use corridors and only 20% of modelers I know use them.

Anyway, that just means there will be a variety of issues to solve.

I will spend some time watching the videos.

Thanks


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Message 12 of 33
melissa.lax
in reply to: JamesMaeding

Hi @JamesMaeding,

 

I spoke with Amer earlier, you're doing everything you can and for someone just switching into Max you're doing a pretty good job.

I'd hope our forum folks can give you a hand?

I'd like to call on some of our forum regulars @Swordslayer @kgokhangurbuz @lomarco 

Learning Content Curator
Live Design Group
Message 13 of 33
Swordslayer
in reply to: melissa.lax

Sure, if there's ever any issue where I might help, I'd be glad to. Anyway, if you ever want to cut out the middleman and/or learn more about MAXScript/C# in max, I can recommend the Building SRTM terrains in 3ds Max series.

Message 14 of 33
JamesMaeding
in reply to: Swordslayer

Thanks everyone!

So I am finding my workflow of fbx from Infraworks (IW) to fbx to max to .obj to printer slicer is not working well.

I believe I am on the wrong path as Infraworks does two things I need more control over:

1) its coordinates are real, so normally far from 0,0

2) IW chops up triangulated surfaces into squares for a few reasons, I think one is control of display quality at a distance. It leads to thin narrow triangles.

 

That leads to the slicer not liking the file - I think, not totally sure though. It just spits out errors and stops.

So I need to switch gears.

The new workflow is:

1) use whatever tools I want to make 3d faces in AutoCad, an possibly on separate layers. Move them close to 0,0.

2) bring in the dwg to max, and apply textures there.

 

I am a career programmer for AutoCad, so have many tools to get 3d faces how I want from various data sources.

That might include things like exporting to some format that another program can smooth or fix, say netfabb, and bringin back in.

Then the trick is applying textures.

I am so green on that topic, I really should study before requesting help.

I will have to learn to apply regular textures - say concrete or solid color, and also "projected image" textures, like a draped aerial photo.

Once I can do that, I think we are rolling.

Even pure civil3d users would like that as they can extract 3d faces from surfaces easily, and wll want to texture some areas like building pads as solid colors.

thanks


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Message 15 of 33
Swordslayer
in reply to: JamesMaeding


@Anonymous wrote:

I am a career programmer for AutoCad, so have many tools to get 3d faces how I want from various data sources.

That might include things like exporting to some format that another program can smooth or fix, say netfabb, and bringin back in.


Would be definitely nice to see some of that ported to max. If you want to have a look at the max .net modules, apart from the main Autodesk.Max check also the MaxPlusDotNet which gets the most developer love, and the CSharpUtilities.


@Anonymous wrote:

Then the trick is applying textures.

I am so green on that topic, I really should study before requesting help.

I will have to learn to apply regular textures - say concrete or solid color, and also "projected image" textures, like a draped aerial photo.

Once I can do that, I think we are rolling.

Even pure civil3d users would like that as they can extract 3d faces from surfaces easily, and wll want to texture some areas like building pads as solid colors.

thanks


Solid color doesn't need mapping coordinates (well, technically it doesn't even need a material since you can render wirecolors, but I'd advise to use one anyway). Are you on 2017? There's Blended Box Mapping as a part of Update 1, which is a Triplanar variant that blends a texture given a set of rule, so for materials like concrete, it's the most straightforward solution. For perpective projection, there's camera mapping, both a Camera Map modifier that creates mesh-level mapping (since you are dealing with dense meshes, that's perfect for that) and Per-pixel Camera map that handles that material side instead if the vertex density needed to store the mapping info isn't there.

Message 16 of 33
JamesMaeding
in reply to: Swordslayer

Played with textures a bit and I think my situation is simple. Use texture with diffuse set to image, and apply using planar option.

Then UVW modifier to position and scale....

I am using version 2015 of max. I will install 2017 soon, need to get my ADN serial for that. Thanks for mentioning the new features, I am clueless on tracking new features at this point.

 

The interesting thing with my next model is I am prepping the 3d faces in acad, and separating by layers:

ha40acad.jpg

 

Then I will apply textures in max on each mesh, as they will come in separate. The goal is to get to something like this, done in infraworks:

ha40 Resamp-50.jpg

 

That area is the Palisades lakes along the John Muir trail in California. H&A turned 40 so having some fun with it.


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Message 17 of 33
JamesMaeding
in reply to: JamesMaeding

So the texturing went great, that was too easy.

I have not sent to the 3d printer slicer yet, but did do a render and am thinking I have some face normals issues.

Model in unrendered max:

max1.jpg

 

Then when rendered:

maxren.jpg

 

You can see how it missed the blue around the 40 number and several other areas especially the front vertical "panel" as the model looks hollow.

I could use advice on how to catch and fix that. I need to rewatch the video from earlier too.

 

Also, I had to line up the image by hand with UVW modifier, but made a copy of the image with bid red box drawn so I could use that to line up with edges.

Then switched the image back to no box. Not sure if I like that as the image in viewport is dumbed down until you render.

I have some models that need rather precise image lineup. Is there a way to have it show high(er) quality image in viewport?

thanks

 

 


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Message 18 of 33
JamesMaeding
in reply to: JamesMaeding

so took me 10 seconds to notice I could do 2 sided materials.

I am thinking these normals should be fixed though when I use for gaming terrain and slicer.


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Message 19 of 33
JamesMaeding
in reply to: JamesMaeding

experienced people will laugh that I even post this, but I read and tried the show normals for editable mesh, and see this now for one of my layers:

norm.jpg

 

Any faces that are grey, and don't show the vector pointing out, are the ones to flip of course.

It is odd to me that this happened, as I generated those 3d faces in autocad myself.

My triangle data uses 3 verts in CCW order, always with 1st vert the lower left so I am precisely controlling that.

Those must be getting flipped in the import of the dwg, which I cannot control.

There is a pattern here though.

All the triangles except side skirts, were obtained from a tin surface with no vertical triangles.

A civil tin surface is not true 3d, all faces must have some slight tilt, such that you never have a "cove" or undercut.

Knowing that, I should be able to tell max what way the normal should go.

I'd have to look at the API and see how to get the face and its normal, then how to flip that normal through code.

I have to do by hand for now in max.


internal protected virtual unsafe Human() : mostlyHarmless
I'm just here for the Shelties

Message 20 of 33
Swordslayer
in reply to: JamesMaeding

Hi and sorry for the long delay in replying, I was taking weeking off(-the--grid).

 

It's CCW in max as well, you might either try saving to a different format (dwg is not exactly what I'd use as a 3d exchange FF), or even outputting the point+face list to construct the mesh in 3ds max instead - the maxscript constructor is mesh vertices:#([X1, Y1, Z1], [X2, Y2, Z2], [X3, Y3, Z3]) faces:#([1,2,3]) where vertices is an array of comma-separated point3 position values of each vertex and faces is an array of comma-separated point3 vertex index triplets - ONE-based, not ZERO-based, though.

 

For a sample script, see the Star object.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report