Hey everyone. So I’ve finally managed to corner a very frustrating thing I’ve been chasing for more than a year! This also occurred in 2015 and 2014, if I remember correctly. I wanted to write about this for a very long time but I didn’t know how to properly explain it.
Basically, there’s something wrong with the dimension calculation. I caught this one while trying to draw an arc. Hopefully the screenshots give further information.
This is a graphic design project, but when it comes to full-scale architecture this 0.000001 mm mistake turns into nightmare. I suspect it has something to do with the snapping technique.
The worst part is that I intentionally tried to reproduce this problem with no success. I like when everything is neat and perfect and seeing this 299.999996 number makes me pull out my hair. Has anyone ever came across this bug/mistake?
Due to the copyright I cannot share the whole model but I’ll post a part of it. Thanks for looking it up @Cotty. Also, here’s a GIF, showing the problem.
Yes, I have the audacity to question it. Why should it have such problems in the first place? SketchUp is the best program out there that has all the potential to surpass and outrun the leading programs of the market. No software is perfect but the presented problem is serious because that 0.000004 mm later turns into centimeters, if not discovered on time.
I can see the behaviour in your file too, but if I copy the geometry to a new file, all works as expected, so there may be something wrong with that specific model/file?
(1) SketchUp has an internal tolerance of 0.001 inch (0.0254mm)
Expecting dimensions to be accurate to a thousandth of a micrometer (nanometre) is beyond ridiculous.
(2) The display of dimensions in tooltips and the Measurements (VCB) box is often approximated and rounded. The display is subject to the setting in the ModelInfo > Units panel.
In your model, I moved the geometry and it no longer exhibited this behavior. Did you happen to start with a smaller layout and then scale the model up? Due to the internal conversion to inches and back, the scaled location may be slightly off in metric exactness.
@Cotty, here’s another GIF and further confusion. Drawing a straight line makes SketchUp change its mind. @DanRathbun, I understand that but I don’t work with micrometers. The problem is, that even after drawing precisely, with time dimensions seem to change.
If you draw the line down to the inferred tooltip at the arc’s center instead of using the inference from the end of the arc, you will get exactly 300mm. I think what you are seeing is simply the limitation of finite-precision computer arithmetic when the inference engine tries to calculate the endpoint. Bear in mind that internally SketchUp works in inches, regardless of your units settings (the units settings affect display, not the internal representation).
@jimhami42, thanks for answering. No, I didn’t change layouts or scales. I tried moving the geometry as well, but after undoing and copying again, the problem appeared again. Also, it seems that copying the geometry also produces correct dimensions but I can’t understand why.
@slbaumgartner, do you mean that the dimension from the arc end is in fact 300 mm but SketchUp shows 299.999 due to inch-milimeter conversion? I don’t know why but it feels like dimensions change with time. I kept thinking it was my fault.
When you construct the arc, it is using the tangent point that is calculated for a 300mm radius arc intersecting the vertical line 600mm from the other end. The calculations to determine this point end up locating the tangent point at +300mm in X from the center and +0.000004mm in Y from the center (should be zero). The inference engine correctly picks this up as the end point of the arc, but it is not what you expect. When you draw a line across, the endpoint is where it should be with no tangency calculation needed.
Whatever it is internally, I’m pretty sure it is not exactly 300 mm, as that does not work out to a clean, finite number of inches. The round-trip from your input mm to inches and back to mm for display is, I think, encountering the limits of computer arithmetic.
Thank you very much! I think I understand now where this whole thing comes from. I believe the best way to avoid this is to make sure tangent drawing is not initiated in the first place, what do you think?
I’ve been having this problem my whole life. I’ve been using Sketchup for 10 years or something. It’s infuriating and I’ve never figured it out. I usually just abandon a model once it starts happening, or revert to an old version and rebuild everything from scratch.
Most of the SketchUp stuff I do gets outputted for CNC cutting. CNC software is super super picky with vectors. I can’t afford to invest time in a model that could potentially be glitchy in the final output. I use that “~” as a glitch-o-meter, basically.
I’m finally trying to solve this because I have a model I have invested hundred of hours in and the ~ just started showing up. All my plywood thickness was set to .72". Now everything I draw show up at .720018, .720020, .719910 etc. I’m checking old plywood sections that I modeled before the glitch began and they are still a proper .720000 .
I’ve found that in SketchUp, once the glitches began they compound and compound till the model is total trash and every small action takes 3 times longer and you seriously compromise the possibility of a clean use-able output. Remodeling everything from scratch is easier than plowing through the bs.
Anyway…I’ve noticed these glitches also occur in angles (ie 89.9999 degrees). In my current model I’m making sure that all new planes are perfectly locked to the axis before drawing. Then I ‘pull’ .720000 then I measure and it say .720013 …then I measure the same object again and .720011.
I do think the snapping is central to the problem…like some kind of interference between slightly off-axis planes…slightly unparallel lines. But because of snapping…the origin-fuck-up (ofu) infects all subsequent planes.
But like I said…with CNC output…you need to flatten all the parts and export an accurate vector…without redundant points…totally closed vertices…planes that are perfectly parallel to the ‘parallel projection’ camera etc. It’s a huge issue. Not trivial. Has plagued my models for about ten years now. I’m about to remodel two incredibly complex curved surface pneumatic vertical opening doors. That’s about 15 hours of work I just burned because of this glitch. Already reverted to autosaves and can’t detect the OFU. I can’t seem to salvage any part of the doors without some how inheriting the glitch. Infuriating. That’s life. That’s SketchUp. It’s a high stakes game of glory and ruin. Nothing in between. Can I get a heck-yeah from all the SketchUp fans out there?
I hear your pain and I understand your frustration because I’ve also had to deal with this problem through all the 9 years of using SketchUp. There were times when I would have to completely scrap off and restart a 6-month long project because these uneven numbers would build up to the point, that you’d start having centimeter mistakes, which is utterly unacceptable.
I believe if SketchUp wasn’t built on the foundation of inches, this problem might not have existed but I really can’t know for sure. After writing this thread, I’ve started paying more attention, when initiating a tangent curve, or a simple join snap, avoiding them as much as possible, so they wouldn’t cause this frustrating bug. They still come up unfortunately and heck-yeah, it just makes you want to pull your own hair out, considering how much time you invest in being accurate and precise, when doing something meticulous
Wishing and waiting for that blissful day when this and some other fundamental bugs will finally be eliminated and we can have an even better and stronger SketchUp, instead of finding workarounds and compromises in the comfort zone.
There we go. Blaming the imperial units. I hope WWIII is fought over imperial vs metric. I know what side I’ll be on. I don’t think this is the issue though. There could be 13 inches in a foot. 365 degrees in a circle. It’s more about mathematical perfection.
For example. I draft tetrahedrons from scratch. Drafting a tetrahedron on a euclidean grid requires some tricks. The pyramids at giza (tetrahedral geometry) have a 54.7…(continuing decimal) degree slope…which could never accurately be entered in euclidean grid units…and degrees etc…in the same way you could never enter pi as a decimal and expect it to be accurate. But I can achieve the mathematically perfect tetrahedron by using midpoints and such. But inferred points are unit free. Independent of what ever system you use. We’ll set our thermometers to 212F and boil their hides to make our glue…and measure it by the furlong…I’ll be it!