Mini-challenge
-
This started as an exercise in drawing something using only SUp's native tools that is actually impossible to do to 100% accuracy; however, it can be done manually to a reasonable accuracy.
You are of course right, in that the width of my 300mm rail when adjusted using my methods is in fact 299.982273mm [the ends are still slightly skewed to the long sides!], but since that 0.0177mm is much thinner than a human hair and only about 1/3rd of the thickness of a Rizla cigarette paper [approaching the limit of human visual acuity!]... and we aren't [usually] designing nanobots or sending someone to Mars - all of these simplified approaches are usually adequate. For how often might we expect to find a piece of wood exactly 300mm wide - even when measured with some uncommonly accurate gauge ?
Repeating this process twice does get even ridiculously closer, but with little benefit...
My True-Tangent's - True Intersection tool will give the best result, but we should also not loose sight of the fact that since trigonometry/geometry uses 'irrational numbers' in its sines/cosines/square-roots etc the result of most angular rotations of points cannot be be determined with absolute accuracy either - but it is just close enough that it will report for all intents and purposes as the expect values ! If you made the same 300mm rail using True Intersection it would measure in the SKP as 300mm exactly - although in fact it's maybe Β±0.0000001mm off too - but Ruby and SUp always rounds answers to suit themselves - just as SUp will do if it ever gets built-in tools to do this.
This all said, I do agree however, that some simple native guide-arc tools would be very useful so that we might find the intersection of two arcs without using convoluted calculations as used in my toolset...
-
There is an oddity where if you measure the ends it is correct but if you measure the middle sometimes it will not be, I'm not sure why...
What I don't get is I entered all values into the VCB -- thus taking any accuracy issues out of my hands... 90 degrees should be exactly 90 degrees and 2 inches should be exactly 2 inches. The only way I can see this not being true is if the inferencing engine is not precise -- and if we can't trust that, then can we trust anything?
Either Pythagoras is wrong or SketchUp is: http://www.mathopenref.com/rectanglediagonals.html
Best,
Jason. -
Yeah, no doubt -- yesterday I came within 1 micron of perfection... that's some pretty ridiculous tolerance for a crossbeam.
But the concept of cumulative errors building up over the course of a drawing is disquieting.
Best,
Jason. -
Clever solution Fredo !
Well done.
I agree with you that a fully accurate non-plugin solution is just not possible.
You can get accurate enough for most purposes, but to do it properly needs complex calculations with sines/cosines/tangents/PythagorasTheorem etc... so it has to be done by a plugin-tool or a [new/changed] native tool.
-
Actually, this could have been in standard in the native SU Rotate tool. After all Jeff's challenge is finally a frequent situation in modelling.
Fredo
-
@unknownuser said:
Indeed this is a plugin solution to the challenge, but I am not sure there is a pure geometrical solution with just the native standard SU Tools.
Perfect, Fredo! And yes, perfect to the needs (no matter it may not be absolutely accurate - I do not know...)
I could get to .000001 mm accuracy by doing this (repeatedly) with the native rotate tool but then that method cannot be the normal way (as it hasn't got that "SketchUp feeling")
-
@unknownuser said:
I agree with you that a fully accurate non-plugin solution is just not possible.
But seems solutions shown above, Tig's method, ...my "With Circle" ...give the good accurate result anyway!
Even the circle was not perfect and rotation not accurate -
@unknownuser said:
If you wish to try in advance of releasing, just drop the attached Lib6Protractor.rb into the LIBFREDO6_Dir_44 folder.
Fredo
AWESOME FREDO !!
initial tests are looking very promising !
(and the reason you don't have access to sketchup core is why? they need to let you inside this app in more ways than just ruby )
-
@gilles said:
SU does not manage angles under 0.001Β° in rotation, another frustrating inaccuracy.
right.. it will, however, rotate to smaller angles than .001 if there's a point to snap to..
@wo3dan said:
As you said before, Your "true tangent intersection" and also (I'll take his word for it) Jeff's DC are the solutions to go by.
well, the dc as used in this case is just being used as a calculator that remembers the formulas for me so i don't have to re-figure it out every time⦠i wouldn't say it's a dc in the traditional sense..
but as TIG mentions, there are still some inaccuracies in there.. mainly because the DC still only uses six decimals for it's results.. and at some steps, i need to use those results further down the line in the calculations so eventually, some combo of length/width/height in my dc will probably result in a rounding error.. so i concur, the DC i use isn't absolutely perfect either.. there is room for error in there.. but so far, in the situations i've needed it for, it's given me good results every time.
@wo3dan said:
SU-team (now that you're not caged by Google anymore) please, it's high time for a construction circle tool to solve these issues.
AGREE !!
@tig said:
This started as an exercise in drawing something using only SUp's native tools that is actually impossible to do to 100% accuracy; however, it can be done manually to a reasonable accuracy.
fwiw, the reason i keep stressing SU native tools is because i'd like to encourage people to find a geometrical relationship in this situation.. something like -- divide the height into thirds, divide the width in half, take a segment from each then add the board width and viola.. this is the length of the crossmember .. something similar that would be repeatable every time regardless of dimensions.. i'm beginning to think this type of relationship may not occur in this situation.. (but i'm hard headed.. i guess i would need proof that it is impossible to find such a geometrical relationship )
if the challenge goes on long enough and enough people come to realize that you just can't use the rotate tool for this, maybe some other avenues will be explored (but i've explored so many avenues over the years on this.. many of which are being posted in this thread.. and nothing has proven fruitful as of yet )
@tig said:
If you made the same 300mm rail using True Intersection it would measure in the SKP as 300mm exactly - although in fact it's maybe Β±0.0000001mm off too - but Ruby and SUp always rounds answers to suit themselves - just as SUp will do if it ever gets built-in tools to do this.
right, there are still inaccuracies in the math methods.. however, you'll generally get errors that are smaller than .000000 and sketchup will report them as perfect.. the thing with very,very close in sketchup is you may get invalid geometry when things are super close.. as in, if i drew a rectangle and raised one corner by a super small amount, it will still function as a rectangle (i can delete an edge then redraw it while locked to an axis and the face will re-form etc..).. but then, i may try intersecting something with that plane and i'll get ghost edges or hidden lines that shouldn't be there but they are.. stuff like this:
http://forums.sketchucation.com/viewtopic.php?f=11&t=43950&hilit=hidden
i'm not sure where exactly the breaking point is in sketchup as far as invalid geometry goes but when i see things like .0001mm, i get a little scared -
@unknownuser said:
fwiw, the reason i keep stressing SU native tools is because i'd like to encourage people to find a geometrical relationship in this situation.. something like -- divide the height into thirds, divide the width in half, take a segment from each then add the board width and viola.. this is the length of the crossmember .. something similar that would be repeatable every time regardless of dimensions.. i'm beginning to think this type of relationship may not occur in this situation.. (but i'm hard headed.. i guess i would need proof that it is impossible to find such a geometrical relationship )
I think in this case, we're trying to hit a tangent, and thus with the segmented circles in SU, we will never get there with the native tools as they are now.
-
@jason_maranto said:
OK, I broke down and looked at the math on this -- it seems dirt simple to do so I think this is the solution (based on the math).
[attachment=0:n6vj9qbd]<!-- ia0 -->challenge solved.skp<!-- ia0 -->[/attachment:n6vj9qbd]
In this instance the desired width is 2 inches.
Best,
Jason.You have a closed form solution to this?
Hcos(theta)-d(1+cos(2theta)) /2-Ssin(theta)=0
Where H post height; d dimensional lumber width; s post spacing; theta rotation angle at post base.
If you have a closed form solution should not the measured width be exactly 2.00000??
IMHO all focus of the accuracy is questionable. Jeff is not building a watch. One will have to deal with dimensional lumber tolerance, crowning the lumber and maybe using a side winder to cut angles not to mention the angle layout. Maybe a good chop saw is at hand.??? -
mac1
I was hoping it's already been established in the thread that the challenge isnt about accuracy from a real world construction standpoint. I mean, depending on the time of day (temperature) and humidity, a board will expand/contract far more than the results being given in the thread. -
-
Jason. the problem with that is you're going 90Β° from the diagonal. which isn't the same thing as going 90Β° from the edge of the board.
-
All that mathematical notation is greek to me, but here's what we know:
- we know the diagonal length and position (call it a hypotenuse if you want but it's really a diagonal to me).
- we know the desired width of the beam.
- we know that the angle should be 90 degrees on the opposite corners from the diagonal.
As far as I can see with that information we should have no trouble drawing the thing directly using nothing but the line tool and a few guides... because the actual numbers (aside from what we already know) should completely irrelevant.
Here's a video -- it works, and consistently (not to mention dirt simple)... it's just that SketchUp seems to have lower than perfect tolerances for the 90 degree guides.
[flash=960,720:5o5ld983]http://www.youtube.com/v/OfHaC40zvxM?rel=0&hd=1[/flash:5o5ld983]
Best,
Jason. -
@moujiik said:
Hi
May be like this?
Moujiik
im curious to see what you've come up with. I'll be able to download your file in an hour or so.
-
I'm not sure why you think so -- all 4 corners are 90 degrees, and since we know where 2 of the corner are why not use them...
It works fine and you get about as accurate results as any other non-plugin solution put out here.
Best,
Jason. -
@jason_maranto said:
I'm not sure why you think so -- all 4 corners are 90 degrees, and since we know where 2 of the corner are why not use them...
It works fine and you get about as accurate results as any other non-plugin solution put out here.
Best,
Jason.nah.. the corners won't end up square when doing that
-
OK... did you watch the video? Those results are as accurate as any other non-plugin result I've seen in this thread -- it works, you can say it shouldn't if you want to but it does.
I guess the thing here is I don't think square corners matter anyway, since they will be trimmed off -- what matters is the width... I mean after all this is a cross brace.
Best,
Jason. -
you're right.
And it's the same solution as Tig's.
I miss my real wood planks. It is so easy to do that for real!moujiik
Advertisement