Losing faces- kicking my a** for 14 hours--Help!

…so to that point, Length Snapping isn’t a global preference, but a property saved with the model file (like geo-location).


Everyone who downloads and installs SketchUp gets default templates with this turned on. If you start a model and decide to turn it off, that applies to that model. As soon as you start a new file, it’s back again. If you really want to eliminate this from your workflow, you have to change and resave all of the templates you have on your installation. You really have to go out of your way turn this off for good on everything you do.

1 Like

Sure, but fixing the non-coplanar edges fixes the cut through problem. Before fixing, the wall face is a single coplanar face, surrounded by four non-coplanar corners. It’s just a different example of the same problem.

I don’t know how the user managed to make the original wall. It’s not easy to create corners that are 0.000001 mm away from being coplanar.

I’ll save the ‘Glue to’ > ‘Cut opening’ component for later. Deleting the superfluous (not in glueing plane) geometry will make investigating easier.
As for the quoted text, it helps to exagerate moving one corner. Then type 0.000001mm.
If you don’t move the vertex away enough from its initial position and then type 0.000001mm, nothing will change.

I know how to make it happen on purpose, I’m not sure how they accidentally introduced the problem.

1 Like

I’m not sure the surface is coplanar. The guidepoints are copied “On Face”.

It may have a ripple in it. Some of the usual coplanar clues are there though, nothing shows up in hidden geometry, and a single click selects the whole face.

Just realized a good chance for a pun: “it’s ripply, believe it or not!”

2 Likes

Jeez–I’m glad I started this thread. There is a lot of stuff here that is not intuitive or covered in the tutorials and guides I’ve seen, yet can really mess up your model.

OK, I’m a stickler for definitions and principles. Is there agreement on the definition of a coplanar surface? Does the fact that SU makes a face without hidden geometry make it coplanar, or must it have coplanar edges to be truly coplanar? I think this is important because I was under the impression from many tutorials and posts (rightly or wrongly) that if the edges make a face, it is coplanar and you can move on with your work. My big takeaway from this discussion–which I am very grateful for :+1:–is the understanding that SU allows a margin of error when creating faces, and that margin of error can compound and ripple throughout your model. It makes me wonder if anyone has ever considered allowing user control over that margin thereby allowing users to select absolute precision if they need it? I’m not sure SU did me any favors by filling in faces when I drew edges that were “close enough”. Eventually (after about two years in my case), it broke.

If you use precise values, and inferencing, any edges you create should be lined up with something. If you import data from other tools there may be issues, as you can see when import DXF and you get multiple overlapping edges for places that should have been one edge.

You might have inferenced off a very nearby line ending that got deleted later on. Who knows.

The main thing is that edges have a different tolerance for where they end, than faces do, and if four corners are very close to coplanar, a face will be drawn as if it’s coplanar.

I get the impression that it’s a hard to fix fact of life, and we need to model correctly to solve the problem.

While correct modeling is almost always the answer to a myriad of difficulties users have, your first three paragraphs are restating stuff already said and don’t answer what (I believe) are very clear, unambiguous questions. If my questions are posited incorrectly, then I’m eager to learn why. If you don’t want to answer, that’s fine, too.

It seems like this keeps coming up. At the end of my rope! - #78 by RLGL
Chaser107 got the same conflicting answers when he asked essentially the same questions about why SU has this built in tolerance for coplanar faces (that is lower than the tolerance for edges). He ends his comment: “Hope the next versions will do off with this “feature” that forces faces to close even though not all its geometry coplanar.” The comments that followed conflicted with each other, then devolved into basically saying “that’s the way it is” with none stating why.

I searched the forums and found variations of this same discussion elsewhere (with many of the same players), but still haven’t found any answer to why SU has this non-coplanar face creating feature. It seems it would require intentional programing to allow this to happen. Maybe there’s a good reason, but It doesn’t seem like SU is doing users any favors–especially with imported drawings–by creating faces because the edges are close enough.

What WOULD be helpful is for SU to instead ask: “The edges in this model appear intended to be coplanar but are not. Would you like to make edges coplanar (flatten), interpolate faces without changing edges, or leave as is?”

It’s 71 posts so far, good chance I would restate something.

For the continuing problem, are you able to isolate an individual remaining issue, and then we see what it takes to fix it, until there’s nothing left to fix?

Why are you chiming in if you’re not reading the thread? I already found the problem and fixed my model (see comment 32). Everything since has been academic–with many posts by others on related problems. My questions shifted from how to solve a problem to gaining a better understanding of why SU creates faces with non coplanar edges in the first place–and please don’t say “poor modeling practices” again because while that was true in my case dating back to an old model started two years ago when I was new to SU, it also happens with imported files and due to confusing default snap settings (which apparently aren’t saved in preferences) and a behavior that induces errors if not turned off. Finally, why should I restate what was clearly asked in comment 70? I’m not expecting anyone to respond unless they want to and are interested. Please don’t waste your time or mine by repeating the same thing over and over in multiple threads without providing any further insight into the matter.

It does so because it works in finite-precision computer arithmetic. The examples shown so far all involve faces that are nominally parallel to the x-y plane. In that case planarity can be checked easily and manually by comparing the z values of the vertices. But when the face is not parallel to any principal plane, the check has to be done via a series of calculations. First the best-fit plane for the points must be determined and then the distance off plane for each point must be calculated. Each of these involves finite precision and is subject to error. The test for planarity must involve a tolerance else the test will fail almost all of the time. This becomes especially complicated when the original placement of the vertices involved a calculation, hence is also subject to error. Note that except when parallel to a principal plane or an axis, even inference of coordinates of a new point from an existing one requires calculation.

It is clear that there are some “leaks” in the SketchUp logic. Occasionally we see warped faces and can’t explain how they slipped past the tests for planarity. Sometimes we see a set of edges that seem to be acceptably coplanar, yet no face forms. Similarly, there are cases in which edges that should have cut a face don’t until they are redrawn or sometimes discovered by “Intersect Faces With…”.

4 Likes

I saw that with Frame Mac, a structural design program I used for years. Two line segments that were supposed to be co-linear would only test so if on axis, and anything on a slope always failed.

1 Like

Funny that you mention this. SketchUp seems to heal these small errors by relocating the middle endpoint when within the tolerance of the straight connection between the beginning and ending endpoint

@audiobrad

@colin is one of the good-guys [Sage & SketchUp Team too] - so please don’t disrespect him…
He asked you a question - but you haven’t clearly answered it !

@colin knows more about things than most of us put together… so please give him the respect he deserves…
Being dismissive of anyone in this manner is not appropriate on this forum.
You might be frustrated, but understand everyone is trying to help !!

I’d apologize… but that’s your call…

3 Likes

On the other hand, if some interior point of a new edge passes close enough to a vertex of a pre-existing edge, SketchUp will decide there was supposed to be an intersection and will break the new edge into two, warping it over to the old vertex. This causes the two fragments to be ever so slightly not colinear, which can lead to issues later such as wall faces not parallel. It will also do this if the new edge passes close to a vertex of a circle or arc, potentially snapping to a different place than the inference you thought you used!

Edit: for those who doubt, here’s an animation illustrating my point. Note that although the two endpoints of the new edge have y exactly 20, the new edge is broken in two and each part goes to 19.999, not 20.0. I had to delete the text label on the middle point before drawing because texts are not updated when you modify the geometry.

broken line

3 Likes

With all do respect to Colin, you, and everyone else here, I repeatedly asked the same questions throughout this thread about why SU forms faces with non-coplanar edges. Colin asking me to restate it again followed by suggestions for fixing my model–which was already successfully repaired with the help of Box and endlessfix. This was exasperating since it made it clear he had not comprehended my comments.

Furthermore, my lingering questions were most clearly bundled into comment 70. I don’t feel I was disrespecting Colin by debating with him about his responses. I took exception to his comments about best modeling practices, the length of the thread, and my alleged failure to ask the question clearly. It seems that others understood my questions because the most recent contributions in comments 76, 77, 78, and 80 above are exactly on point with what I was asking–this is what I was trying to get to! (Thank you all!)

I know Colin is a good guy–this isn’t my first forum discussion with him. He is always there and enormously helpful. My disappointment with his comments in this thread is not an attack on him personally. I don’t see how it is disrespectful to point out–especially to someone on the SU Team–when they are missing the point. In fact, it is because of my respect for Colin and the SU Team that I pressed it–something I probably would have not done with other commenters. As an engineer and a veteran “participant” in tech support calls and technical forums, nothing rankles a customer more than to get canned answers and be made to feel your questions are unimportant or obtuse. If you’ve ever been told “never heard of that problem before” or “must be operator error, did you try rebooting?”–then you probably understand how dismissive and frustrating that is. This seemed like one of those moments, but thankfully is not my usual experience in these threads.

@audiobrad

With all due respect to everyone…
Remember that we Sages and the wider SketchUp Team field dozens of posts like yours every day.

So if someone asks you something you think you’ve already answered then direct them to that answer.
Don’t snipe.

We are here to help you.
So help us to help you…