Sketchup is Inacurrate???
-
I got it dah thanks TIG
-
@tig said:
It's not an error, it's not inaccurate.
As you say, Sketchup extrudes along the segment path.
There are no real Arcs in Sketchup, jut edges.
So as long as you bear that in mind, and ensure your extrusion starts on a segment and not a vertex, you can get a 'correct' extrusion around an 'Arc'seriously, i understand that there are no 'real' arcs in sketchup.. that said, if you have a sketchup arc, all the vertices will be true distances from the centerpoint.. when using follow me, an arc's vertices and what happens at the vertices is inaccurate..
for simplifying the point i'm trying to make, let's forget about followme and look at the error in 2D using the offset tool…
so you're saying this arc has been properly and accurately offset?
my whole point is that if sketchup recognizes the arc (as evident in entity info / gives proper arc length as opposed to sum of it's segments / etc.) then it should also be able to offset the arc properly.. it's an error that could (and should) be prevented through proper programming.
-
Your Arc Offset example is executed perfectly logically.
The ends are always offset at 90 degrees, making the last 'segment' longer than the rest.
This is the corollary of what you complain about with FollowMe, where the extrusion starts at 90 degrees to the path rather than being skewed.You want the offset to be more like a Scaled down version of the parent Arc, about a common center...
However, drawing two temporary lines from the Arc center to it's ends and erasing off the offset Arc's ends and the temp-lines does the job easily enough. If you wanted a square offset then how might you do it? This way you have to do a quick trim to get a non-square end to the offset facet...
-
@unknownuser said:
Drawing in lines from arc's ends to center and trimming Offset version is the same as a scaled copy
no. it's not.. we're talking about accuracy here.. not 'well, i guess it looks similar'.. do some measuring and see if they are actually the same..
@tig said:
Your Arc Offset example is executed perfectly logically.
i can't fathom how you're not seeing this, as smart as you are
if i offset an arc (say one bent to 90º), i expect it to perform exactly as what happens to offsetting 1/4 of a circle.. the newly offset arc should also be bent to 90º.. that is the logical execution.. (fwiw, you can't offset a circle accurately in sketchup either.. draw a 10'r circle then inwardly offset it by 1'.. logic tells you (well, it tells me) that the resulting circle will have a 9'r ..but it doesn't.) EDIT- sketchup should be moving the vertices here since it's a circle.. instead, it moves the segments.. if you have a circle/arc, it's only the vertices that matter..
@unknownuser said:
The ends are always offset at 90 degrees, making the last 'segment' longer than the rest.
This is the corollary of what you complain about with FollowMe, where the extrusion starts at 90 degrees to the path rather than being skewed.You want the offset to be more like a Scaled down version of the parent Arc, about a common center...
However, drawing two temporary lines from the Arc center to it's ends and erasing off the offset Arc's ends and the temp-lines does the job easily enough. If you wanted a square offset then how might you do it? This way you have to do a quick trim to get a non-square end to the offset facet...if i want to offset an arc in sketchup, i definitely don't use the offset tool.. i have to draw the two arcs separately.. if i want to offset an arc in a more accurate app, i use the offset tool
there's no ifs,ands,buts about it.. you simply can not offset (or follow me) arcs in sketchup.. i've tried it a zillion times and a zillion different ways.. you can accurately offset/followme a collection of line segments but the two aren't the same thing.. there is different maths for the two situation.. if you're inwardly offsetting an arc by 1' then all of the new vertices should be exactly 1' closer to the original arc's centerpoint.. and the degree of the arc's bend should remain the same.. this doesn't happen in sketchup and you end up with an inaccurate drawing..
-
That's interesting Jeff. Even with closed shapes, SU still offsets the vertices perpendicular to the last 'arc' line segment. I was thinking maybe with a closed shape, it knows to keep the vertices correctly oriented.
Yeah, I have to agree, that's inaccurate as hell. Logical, sure, since the offset of the lines is always perpendicular, but there is no way to maintain accuracy of an arc with an offset. -
The verticies are not acurate but the midpoints of the segment are. The vertices are not the point to be measured to. It is just the a "filler" if you will to complete the geometry. If computers drew the circle to infinity I guess you could measure from any point along the radius. As far as the entity dialogue box it shows an aproximate number which is kinda goofy to me. I think both you guys are right in some way:)
-
@lapx said:
The verticies are not acurate but the midpoints of the segment are. The vertices are not the point to be measured to. It is just the a "filler" if you will to complete the geometry.
OK, but an arc doesn't end at a midpoint...
-
@lapx said:
The verticies are not acurate but the midpoints of the segment are. The vertices are not the point to be measured to. It is just the a "filler" if you will to complete the geometry.
see.. no. you have that backwards..
the segments are the "filler".. the vertices are the money(and that's pretty simple to see in sketchup.. draw a circle to a certain radius.. now measure from the center point to one of the vertices.. it's the vertices that matter..)
-
just being silly now with the multiple choice test but…
**Q. the radius of a circle derived from offsetting a 10R circle by a unit of 1 =
a. 9
b. 8.99137** -
@unknownuser said:
just being silly now with the multiple choice test but…
**Q. the radius of a circle derived from offsetting a 10R circle by a unit of 1 =a. 9
b. 8.99137**Wait, I think I know this one. It's ......hm.... It's 9 (by inferencing)
Unless you use input "1" when offsetting. -
I think sketchup has it backwards. Like I said kinda goofy if you ask me. The "one's and zero's need to be reordered .
-
@wo3dan said:
Wait, I think I know this one. It's ......hm.... It's 9 (by inferencing)
Unless you use input "1" when offsetting.ha Gerrit.. you're killing me here.. (but i suppose this is what TIG was talking about doing in his earlier example.. he had 'desired offset marker' in there so he was using that as an inference point)
so go ahead and inference it in 3D.. with the follow me tool
-
Scaling an Arc anchored at its center and through a 'mark' [as in my example] produces a new Arc with equal segments and vertices...
A line drawn through the center and both arc's vertices shows this.
There is no argument that this is a truly offset arc ???Offsetting an Arc through the equivalent 'mark' extends the new arc's first/last segments so that if you were to draw a line across the two arcs' starts/ends it'd be square.
If you draw a longer line from the center to the original Arc's start/end it will cut the offset arc and if you then erase the extra bits off the start/end [and these temporary lines], then the resulting offset arc is exactly like the scaled version, with equal segments and vertex-spacing...
So it is possible to use Offset on an Arc and get a true arc result - albeit that you need to edit start/end segment to make it 'true'.As I said before... If you wanted to offset an Arc to have 'square' ends it'd be more tricky.
Some simple editing of an offset=arc gives you both possibilities... -
@lapx said:
I think sketchup has it backwards. Like I said kinda goofy if you ask me. The "one's and zero's need to be reordered .
it's not that sketchup necessarily has it backwards.. i mean, it's doing it perfectly accurate if you're offsetting straight lines (say a square for instance).. the problem is that it should be able to tell the difference between an arc and a collection of straight lines..
instead, it treats both situations the same way..
if i'm offsetting a square, the 4 sides should move the desired distance along the edges' perpendiculars… if i'm offsetting a 4 sidedcircle, the 4 vertices should move the desired distance along the edges' bisectors..
-
@unknownuser said:
...ha Gerrit.. you're killing me here.. (but i suppose this is what TIG was talking about doing in his earlier example.. he had 'desired offset marker' in there so he was using that as an inference point)
so go ahead and inference it in 3D.. with the follow me toolSorry about that, Jeff, but I just can't see the inaccuracy. I do understand that you would like the offset tool on an arc to allow you to offset a certain distance to give you a new arc with predictable radius (=RADIUS-distance).
But offsetting with inferencing makes it possible. Even on an arc in 3D. That's all I wanted to say.The point at center works on any arc.
Drawing a radius from center to arc's vertex also works in any situation. Now overrule the just drawn arc by inputting the new radius value. Offset works in the arc's plane and (apply the same vertex you drew the radius to!) inference the offsetted arc to the short radius's endpoint (opposite from the center on same edge).As for the "Follow me" tool, it's very consistent, although the twisting can be a pain. But you can be sure that the cross section has the same dimensions on each segment troughout the path. Even with any more or less complicated 3D curve as a path.
This is not what I can say for the first example you presented a few "pages" back. The cross section is not the same.
@jgb,
Not only in engineering 0.5 degrees can be of great importance.
A collumn in a building that isn't plumb, but 0.5 degrees off blue, carrying a heavy load (9mm/m)?.... not that good.
But I only wanted to point out what caused the unwanted 'Follow Me' result. -
I can see the argument from both sides for arc offsets because in the past I've wanted both results. Ideally SU will be given true arcs at some point. But from this thread I now understand why things are the way they are and on balance from an architectural perspective I prefer to have any offset from an arc create a consistent (wall) thickness which is what happens now rather than tapering the arc section to maintain a vertex offset.
-
And about surface?
A disc of 1 m radius
12 segments is 3.00m2
24 segments is 3.11 m2
36 segments is 3.13 m2
100 segments is 3.14 m210 m radius
12 segments is 300 m2
24 segments is 310.58 m2
36 segments is 312.57 m2
100 segments is 313.95 m2And I suppose that will be more dramatic with volume
So accurate for Sketch and drawing representation not for precises measures in case of Arc, Circle, Curves...
-
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!
Advertisement