Flat surface isn't flat


#1

I have a deck floor that is flat. When I say it’s flat I mean it’s flat. I used inference locking religiously. It does form a solid face. There is no hidden geometry and when I scale it the only handles are the ones that show up when scaling a 2d surface…

That being said, when I try to draw a square on the surface to create a hole and it simply won’t intersect.

We’ve all experienced this I’m sure, so I went through all the “tricks” into getting it to work which 99% of the time they do. Creating the square away from the face then extruding it through and intersecting them etc. When I do that many hidden lines are created and I go about deleting them.

Two of those lines however are untouchable. If I delete them the whole surface disappears.

In bumping up the length-units accuracy to the maximum I measured (while locked on the blue inference) two points near where those troublesome lines occur and they seem to be off by 0.000002m

I went a step further (and wished I hadn’t) I changed the units to mm and found that almost every part of the surface is uneven. I use inferenceing constantly, I’m as careful as anyone I’ve seen model… I don’t understand what has happened here, why sketchup has such a hard time keeping flat surfaces flat and what if anything can be done about it.


#2

As usual, there are two things to address here: defects in the model you have built, and possible problems with your workflow. We can say little about the former unless you share the model. And without watching over your shoulder as you work, we can’t with assurance say much about the latter. As an analogy (and I mean no insult by this, just facing reality) I recall helping a friend long ago who was tuning up his car and it refused to run smoothly. He insisted he had done everything exactly right and listed all the steps he had followed. So I watched as he did it again and discovered that he was assuming the distributor rotated the opposite direction than it actually did. No way to know that without watching him work!


#3

Fair enough. I have no problem allowing that I messed something up… my question then becomes… why does the surface show as and, for the most part, behave as flat? Does sketchup just flatten things within a certain margin of error? Seems rather counterproductive if it does because any further work on that flattened ‘flat’ surface is not recognized as working on a flat surface. If sketchup flattens things would it be too much to ask to at least have an option where any flattened margin of error is also corrected/rounded up/down to make the surface actually flat?


#4

Yes, SketchUp does make faces when the points are “near enough” to being in the same plane. If it didn’t do this it would be worse as the tiniest difference between two floating points numbers would make face creation fail almost every time.

I don’t think it moves vertices though to make your surfaces perfectly flat. How would it know where you wanted them moved to? Moving them might break another face somewhere else. I think it forms faces when the points are close enough to planar. The face is drawn in a plane close to the points without moving them. Now when you deleted those critical lines, the new set of points was no longer close enough to being planar and no face was drawn. Drawing lines parallel or perpendicular to existing lines that are slightly off can compound the errors until faces fail to form.

With the units set to 6 places of a mm, use the text tool to label vertices on your shape and you’ll see the little errors. If the shape is level they are easier to compare as you just need to look at the z coordinate.


#5

More the opposite: SketchUp decides the points are “close enough” and leaves them alone while creating the face. @McGordon is correct. The explanation is somewhat technical.

Except when the points lie perfectly on one of the primary planes (x, y, or z is exactly the same for all points), deciding that points are “coplanar” requires a calculation test on their coordinates. All computer calculations are imprecise, so such tests have to be made to within a tolerance. If the points pass the test to within tolerance, SketchUp creates the face. It does not attempt to “fix” them because the fix itself would require an imprecise calculation of the corrected coordinates and therefore would still leave them only approximately coplanar.

The kind of issue you are seeing arises later when some more points are added. If they lie on the non-primary-plane face, once again their coordinates have to be calculated rather than copied. The calculations require another round of tolerance testing, and a risk that this time the points will fail the test and break the face(s). The whole thing gets increasingly more complicated as intersecting edges are added, since intersections always have to be calculated.

There are extensions that can adjust a collection of points so that all of them have the identical value of a coordinate (typically z=0, though there is no fundamental reason x or y or a non-zero value couldn’t be the target).


#6

I’ve had the same problem even when drawing on any of the primary axial planes.

Draw a face using the rectangle tool, even forcing the plane with an arrow key.

Move it a bit on axis.

Pushoull to make a wall.

Try to draw a rectangle on it to make a window or door opening.

Often fails to cut the surface, and/or won’t pushpill window or door opening.


#7

Thank you all for your explanations and information. I looked back on some other similarly large and complicated models I have done and found that I had been able to keep them at absolute zero. I must have messed up somewhere on this model.

Happen to remember the name of that extension? Sounds useful.


#8

Enoroth’s Flatten to Plane can do it:
https://extensions.sketchup.com/en/content/eneroth-flatten-plane

There are probably others.


#9

I have absolutely the same problem, I came here in dusgust looking for answers. Now I just drew a rectangle on green and blue axis only, put a hole (circle) on it, expanded it to size on the green axis, and it doesn’t ‘cut’ for a better word. Click on the part and it highlights the whole lot and just dims the circle line.

This has been happening a lot recently, they are months old models with many changes over that time and I notice sometimes when I import other older models in that many old deleted bits are still there that can only be seen with the highlighted import, that I have to then delete by unhighlighting the actual part i want, then deleting the leftover highlighted bits.

This is maddenning, a flat surface when double highlighted sometimes shows many frangmented sections on a flat surface…


#10

Share away if you can, will take a look tomorrow for you.


#11

I did not expect such a fast answer, I am very sorry but I am about to travel for business and won’t be back til Monday, thanks for the fast reply.

BTW, share what, the file, picture??

Mark


#12

The skp file.
(An image would probably only show what we already know, a fragmented surface with hidden lines).


#13

The file itself, via Google Drive or WeTransfer (or similar).


#14

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.