CAD 2 realtime

Lately, i’ve been receiving CAD data that has been previously converted to meshes, with the request for assessment and testing in realtime. I dont’ have much experience with Rhino or Catia, but i did notice a couple of things:

[ol]
[li]patches are never connected i.e. there is a split wherever a nurbs patch was,
[/li][li]automagically, the normals compensate this, when i import an fbx, even with splits, the normals appear continuous
[/li][li]as soon as i do anything, like deleting a face (see attachment), the normals go haywire
[/li][li]and at this point, the model appears “buggy” ill have a hard time smoothing this even when welding vertices
[/li][/ol]




Does anyone know what’s the idea behind this?

I’m confused by the topology of the model, a part that is completely symmetrical, and looks like it has the same nurbs structure on both sides, comes in with different subdivision (the red borders in the second shot is actually the middle of one such object).

I look at the mesh as ‘meat’ and normals as something that is projected from the infinitely precise mathematical surface, during the mesh conversion process.

Is there a way to have max, not recompute the normals at some point, but allow for removal of faces, and edge splits.

[QUOTE=pailhead;27253]Lately, i’ve been receiving CAD data that has been previously converted to meshes, with the request for assessment and testing in realtime. I dont’ have much experience with Rhino or Catia, but i did notice a couple of things:
[li]patches are never connected i.e. there is a split wherever a nurbs patch was,
[/li][/quote]
That depends on the tesselator. Good tesselators to stitch all seems properly these days.

[li]automagically, the normals compensate this, when i import an fbx, even with splits, the normals appear continuous
[/li]

Because the originating surface is of a much higher quality mathematically normals can be created that match the mathematical surface at that point rather than the polymesh. These are stored as per-vertex normals and it is tricky to both maintain, keep and edit these.

[li]as soon as i do anything, like deleting a face (see attachment), the normals go haywire
[/li]

What base object type is your mesh? Always use EditMesh with CAD originating data. With an edit mesh you should be able to delete without killing normals.

[li]and at this point, the model appears “buggy” ill have a hard time smoothing this even when welding vertices
[/li]

You wont be able to get the original quality back. Smoothing and welding will make things a little better, but nowhere close to the vertex normals.

I’m confused by the topology of the model, a part that is completely symmetrical, and looks like it has the same nurbs structure on both sides, comes in with different subdivision (the red borders in the second shot is actually the middle of one such object).

The tesselator does not really know or care about things like symetrical or identical areas of a surface. The direction of triangle splits and alike is depending on an algorithm. And that in turn may turn out either way depending on the surrounding surface and of course rounding differences.

I look at the mesh as ‘meat’ and normals as something that is projected from the infinitely precise mathematical surface, during the mesh conversion process.

You look right there, that’s pretty spot on. The surface is approximated (typically the goal is to create a mesh that has the least deviation from the mathematically perfect mesh with the fewest triangles/edges/points) and the vertices get per vertex normals matching the mathematical surface.

Is there a way to have max, not recompute the normals at some point, but allow for removal of faces, and edge splits.

[/quote]
Depends on the operation. For edge splits i don’t think there is and you should not need to (or better: You should retesselate if you need to :wink: ). Deletion should work in editable mesh. We also have custom modifiers for some additional operations like flipping normals and alike.

Cheers,
Thorsten

Thanks for the input!

The edit mesh seems to be working, I figure that there is very little that can be done topology wise, but deleting the faces is pretty much all i need. I figured that would be possible because you can always keep ALL the normals from the original mesh while removing faces and just keeping the map.

I’m still not sure if i understand the part about the tesselator, if two patches define the same surface (albeit in symmetry) and is trimmed by the same curves, how come it tesselates them soooo differently, but my assumption here is that some tesselators are simply better than others. Unfortunately i don’t get my hands on actual cad data :frowning: