Sketchup is Inacurrate???
-
To stop the issue... here's an
Arc_Offet_True
tool http://forums.sketchucation.com/viewtopic.php?p=395769#p395769
It has a few issues with Arcs with trimmed first/last segments BUT I'm working on that...
EDIT:
Version v1.1 now correctly mimics the original Arc's start/end segments if they were 'trimmed', it also stops you offsetting with a negative distance to 'zero' or beyond...
Version v1.2 now has a 'Number' option to make arrayed offsets, and a context-menu item too... -
Wow! Lots of posts. Think I've read through them all but I don't think the following has been pointed out... Sketchup is based on floating point data structure. These are inherently inaccurate. Try the following out in the ruby console
(Math::PI).to_l
=> 3.14159265358979
(Math::PI * 10**13).to_l
=> 31415926535897.9This means that the further away from the origin your entities are, the more inaccurate they are.
Floats are a lightweight data structure ideal for a program like Sketchup. There are others that are actually capable of manipulating irrational numbers (pi, square root of two...check out GMP) without ever loosing accuracy but they are very heavy weight and only really necessary if you're, I don't know, sending a rocket to the moon or something.
Sketchup overcomes this floating point inaccuracy by allowing for a little tollerance but as you can see the difference is still there
point1.to_s + point2.to_s
=> (258,878708mm, 172,933835mm, 0mm)(0mm, 0mm, 0mm)
point1.z == point2.z
=> true
point1.to_a
=> [10.1920751212053, 6.80841870273468, 1.77635683940025e-015]
point2.to_a
=> [0.0, 0.0, 0.0]Nonetheless Sketchup is a great tool and its inaccuracy (that is also present in those other "more professional" packages!) can be overlooked 99% of the time. Hope this was of use to anyone.
-
@noelwarr said:
Sketchup is based on floating point data structure. These are inherently inaccurate.
Quite so, I have to deal with this often in my "alter ego" as an audio DSP designer.
The fact that us humans use decimal, and PC's use binary also has some consequences for accuracy.
Just as decimal cannot exactly represent 1/3, binary cannot exactly represent 1/10 - the value to be represented and the number base have unshared prime factors.A lot of software will display rounded values, so that they look a little more palatable to us humans - but it is a mistake to assume that the display value is exactly the same as the underlying float number. If your display is telling you that your dimension is exactly 0.1units, it is probably lying, as a float number simply cannot have exactly that value, only an approximation.
Never occured to me before, but in this binary age, maybe the traditional "powers of two" divisions of the inch make more sense than decimal notation - those power of two factors can always be represented precisely in binary (up to the limit of the bit-depth) - so 1/16" really is 1/16, whereas 0.1m is only pretending!
-
Well, thank god for construction industry standards allowing actual built accuracy to be 1/16" in ten feet or greater for different trades!
-
Regarding my original assertion about the inaccuracy of the follow me tool -- I now understand I had not set up my work to be "compatible" with the way follow me works. Had I added tangents to each end of my arc and extruded the face along tangent, arc, tangent I'd get a middle section that was exactly what I wanted.
I'm not sure how to judge the implications of that fact WRT accuracy but I do know it is less work for me to do it that way than I had to deal with before and so while I'm not 100% happy about it, it is a better method. To everyone who helped to explain this, my thanks!
-
@noelwarr said:
Wow! Lots of posts. Think I've read through them all but I don't think the following has been pointed out... Sketchup is based on floating point data structure. These are inherently inaccurate. Try the following out in the ruby console
(Math::PI).to_l
=> 3.14159265358979
(Math::PI * 10**13).to_l
=> 31415926535897.9This means that the further away from the origin your entities are, the more inaccurate they are.
Floats are a lightweight data structure ideal for a program like Sketchup. There are others that are actually capable of manipulating irrational numbers (pi, square root of two...check out GMP) without ever loosing accuracy but they are very heavy weight and only really necessary if you're, I don't know, sending a rocket to the moon or something.
Sketchup overcomes this floating point inaccuracy by allowing for a little tollerance but as you can see the difference is still there
point1.to_s + point2.to_s
=> (258,878708mm, 172,933835mm, 0mm)(0mm, 0mm, 0mm)
point1.z == point2.z
=> true
point1.to_a
=> [10.1920751212053, 6.80841870273468, 1.77635683940025e-015]
point2.to_a
=> [0.0, 0.0, 0.0]Nonetheless Sketchup is a great tool and its inaccuracy (that is also present in those other "more professional" packages!) can be overlooked 99% of the time. Hope this was of use to anyone.
See my 3-16 post above and has been addressed before. The reason some packages show more accuracy the spec allows for extened or extendable implimentations. The single float 32 is only good to 7.225 digits.
-
@unknownuser said:
Well, thank god for construction industry standards allowing actual built accuracy to be 1/16" in ten feet or greater for different trades!
that tolerance should be set aside for the builders though.. with framing, i generally give my crew an 1/8" before i start bching at them or start contemplating a redo..
but, if i do that in the drawing.. say, give myself an eight in the model, then i'm looking at 1/4" errors onsite.. or, my crew has to be 100% perfect according to the drawing (i.e.-basically impossible)
EDIT
well, i already do cut in to the tolerance a bit when handing out a cultist.. everything is rounded to the 16th" even if the drawing calls for x/32" etc.. but yeah, there's definitely some allowable play in there.. i just prefer the drawing or calculations to be as close to perfect as possible (mainly because i think it IS possible.. we are dealing with computers here ).. and as i said early in the thread, sketchup is highly accurate and 100% capable of fulfilling my needs.. the rest of my babbling about in this thread has be regarding one small situation which (i feel) is mistreated in sketchup.. and i can still draw those parts accurately in sketchup-- i just use a different approach than whats offered in the automated toolset (offset tool/followme tool) -
-
You dare judge Brother Jeff?
-
These 1/4", 1/8", 1/16", 1/32" are for me perfect obscurantist measures from occultism !
-
@unknownuser said:
These 1/4", 1/8", 1/16", 1/32" are for me perfect obscurantist measures from occultism !
-
[off:2hxvcf0c]In the UK at least no one uses the arcane 'pounds, shillings and pence' any more!
The UK dragged itself into the 20th century when I was a lad...
12 pence = 1 shilling
20 shillings = 1 pound
There were even coins as ha'penny [ยฝd] and farthing [ยผd]
[somewhat illogically 'd'=pence ]
We had other coins worth 1d[penny],3d[joey],6d[tanner], 1s[bob],2s[2-bob/florin],2s/6d[half-crown] and banknotes for 10s[10-bob],ยฃ1[a quid],ยฃ5[a fiver]...
There were also olde coins for 5s [crown] and guinea [ยฃ1/1s]***
So something would be priced as "ยฃ1/10s/4ยฝd"
Nows we have decimal pounds/pence and coins up to ยฃ2.
So it is now approx. ยฃ1.53.........*** The 'guinea' was an interesting idea.
If you were doing a service like an auctioneer you priced/charged the buyer in guineas and paid the seller in pounds - thereby keeping the standard 5% commission [1s is 1/20=5% of ยฃ1].
Having a base-12 shilling [like the feet/inch system!] allows you to divide it up into 1/4,1/3,1/2,2/3,3/4 and 1/6ths [and with ยฝd you jumpp to base-24 so 1/8ths are possible - 1ยฝd was 1/8th of a shilling; using ยผd even allowed 1/16ths !!], but not 1/10ths ! Of course we still use 12 hours, 60 minutes/seconds etc [and obscure 'degrees'] for that very reason...
[/off:2hxvcf0c]
I can still 'conjure' with the olde fractional feet-and-inches - but 'metric' IS so much easier... -
@thomthom said:
@unknownuser said:
when handing out a cultist..
Yeah, I saw that too. You posted faster than I could.
Handing out cultists.... what a concept.
-
@thomthom said:
@unknownuser said:
when handing out a cultist..
haha. good catch!
(I think i need a context checker on my computer as opposed to a spell checker )
-
At least you weren't handing out a cutlass [pirate theme...]
-
.
ok, so here's a real world scenario showing why the offset tool w/ arcs is a no goโฆ inferencing doesn't work because if i inference for the arc, everything else goes sour & viceversa..
โฆand that's a basic slice of a real world drawing.. this perimeter wall would actually be a lot bigger and possibly more complex in a full drawing.. the whole process has to be done manually where as if the offset tool worked properly, it'd be a big timesaver..
EDIT ugh.. that uploaded version of my skp didn't have any of my notes on there.. ?? i'll sort it out soon..
EDIT #2 -- ok.. fixed
-
@tig said:
I can still 'conjure' with the olde fractional feet-and-inches - but 'metric' IS so much easier...
my daughter is learning length & volume in school right now..
her homework the past two weeks has been all metric stuff.. (you know.. how to move a decimal point around )i just wish they were teaching her metric as 'the way things are' as opposed to 'here, you might see this stuff occasionally'.
-
That's a very good example Jeff
-
The USA is already quite 'metric'...
You have had 'decimal' money forever.
You buy coke/pop in 'liters'.
Your cars have 'cc' engine data.
The US Army measure horizontal distances in 'meters' [but then heights in 'feet' - as do aircraft the world over!].
Most complex science in conducted in 'metric'.
So I expect that much of the US space-program is 'metric' too...Now if only we can get you into using a few 'metric lengths'...
I find it surprising that given the US's break with the UK just as the French were pushing their newfangled 'metric' system, that the US didn't adopt it too, much of the rest of the world did...
We are not trying to get you to adopt a decimal time or calendar system -
Remember the Mars Climat Orbiter
Some millions $ in smoking vapors for error between unities in translation!
Advertisement