Large model, Intersecting faces, Floating point accuracy and a P4000?

Hi, I just joined this forum after reading as many posts I could find on the subject. I wanted to ask a couple of questions.

I’m working on a city scale model on a mesh that I believe has been poorly generated. The mesh have many intersecting faces - most of them so small as to be invisible and I haven’t been able to find an automated command that can fix this. So I have resorted to manually fixing the issues.

Many of the intersecting faces are where a vertices is slightly removed from each other. I can mostly fix this by selecting the cluster of vertices and moving them a little to a point on any axis. Sometimes I have to redraw the intersecting faces to get rid of the intersecting faces. I find the intersecting faces by running a python script, although this does not work in all cases… It’s a long and tedious process that I might look in to outsourcing.

I have been trying with moving the model to origin to see if the coordinate precision thing has an effect - and it does resolve some. But since it is a city sized model (cut in to smaller pieces) some of the model is still quite far from origin after relocation.

The model is to be used to 3d print a large model of the city, so it needs to be water tight and a ‘good mesh’.

I am working on pretty old PC hardware and am looking in to upgrading to a new workstation. I am mainly looking at a Quadro P4000 as the main component to build a new machine around. I am mostly modeling and don’t consider rendering to be a priority.

Not fully understanding the terms of “double precision” and “ECC” (less important I gather) that are features of the P4000. How, if at all, does it relate to Rhino’s “double-precision floating-point numbers” and the vertex coordinates?
(Main question) Does it mean that the P4000 will somehow be able to more precisely calculate the vertex locations and as a result the model will end up with less intersecting faces?
Any other suggestions for fixing the issues I have described?

If the case is that the P4000 won’t have any impact on the model geometry and just up the display capabilities I will probably go for a P2000 instead unless you have any other recommendations.

Any inputs will be very welcome, since you can probably tell that I’m not really very familiar with these issues.

Regardless of your graphic cards capabilities, your mesh coordinates will be stored as single precision float numbers.

The real question here is whether your problem is a display or a model issue.

You should consider using the weld commands for meshes (see help files). They should replace all connecting face vertices within a given tolerance by a single vertex. If you need creased edges for rendering, you can unweld afterwards. Even if the vertices then are separate for each face again, the should all have the exact same value for the same corner.

Rhino stores also double-precision vertices for meshes (see for instance this API).

Since this is not filed as a developer question, I did not bother to mention the finer details of the API.

AFAIK all import and creation tools default to single float and there is no way for the user to force double precision for meshes.

AFAIK that happens automatically behind the scenes.

It all depends on if you guys are discussing Rhino 5 or Rhino 6…

Thanks for the replies. I will try and elaborate a bit.

I am working in Rhino 5 but can upgrade to 6 if that would make things easier,

The model is imported from a DWG file and on import I can choose between double or single point precision. I haven’t seen any difference on using one or the other. But that would force Rhino to use double or single precision right?
Most vertices corners consists of several vertex points. If forced to use double precision will the use of a P4000 have any impact on the geometry?

I have so far been working with the model completely unwelded. Can’t recall why but at some point I chose to do this. Does that make a big difference? I guess that I can start welding the model when I have eliminated all the visible intersecting faces and get to the imprecise vertices.

I still don’t understand if the GPU will have an impact on the geometry or just the model display?

Is the dounle precision you speak of here related to the GPU processing?