Sketchup is Inacurrate???
-
@unknownuser said:
..... i'm seriously going to try to avoid getting into this again because last time around (this exact thread) i think i might of pissed off gerritt and that sucks.. he's one of my faves around these parts..
.......
Jeff, nothing of the sort. You need to do much more than that. I highly value your view/opinion on this matter. And we discussed it for a while. At some points we may disagree. At others I think you were right for what you are working on. You needed some tool that offsets and end in a different way. How I wish that there were true circles in SU or at least true construction circles. The latter would not make SU much heavier. At some point I left the topic for what it was, I think when TIG came to rescue with a new plugin to help you out.
Peace, man! -
The native 'Offset' works just fine - within its own limitations.
My 'Smart_offset' removes reversed edges etc too but is otherwise the same creature...
'Offset' offsets Edges - that is all it does; it does not offset Arcs, except as if they were Edges.
This means that the two end-most segments of a bound set of segments [that you refer to as an 'Arc'] are offset quite logically by 'Offset', but that is just as if they were the equivalent selected Edges that had not been 'welded' into a bound-set to form that Arc.
So, 'Offset' ignores the bound-set's Arc-ness and always takes 'Edges'...
That's just the way it is.If the native tool had been called more accurately 'Offset-Edges', then you shouldn't have been at all surprised when it didn't 'Offset-Arcs' !
There are regular gripes about SketchUp's lack of true Arcs and Circles - they are really special collections of bound Edges [forming the pseudo-Arc's segments].
I have made a several tools to compensate for some of these shortcoming - like TrueTangents and its siblings which allow you to find the 'real points' and not those from the intersections of lines and the Arcs' segments, which are always 'off'...The very issue of Arcs offsetting as Edges prompted me to write this fix - '
Arc_offset_true
' - earlier last year... http://sketchucation.com/forums/viewtopic.php?p=395769#p395769
Because only 326 members [out of 155,000!] have downloaded it the 'clamor' for properly fixing this issue 'formerly' is hardly overwhelmingIf you use my tool in the appropriate circumstances you will get correct 'offsetting' of an Arc at its ends - as in CAD, where 'true' Arcs are available [in my fix it's actually just a 'Scaled' copy of the original Arc, with the scaling done about the Arc's center-point and calculated so the resultant Arc is suitably sized so it's the required distance from the original - bearing in mind that means when measured from vertex-to-vertex, and not segment center-to-center as with the conventional Edge-Offset]: this method contrasts with using the native 'Offset' tool which will always offset the Arc's segments as if they were just vanilla Edges...
It would be nice if SketchUp included some better Arc tools... but until then there are many adequate workarounds [mostly made by me] !So... the real title of this series of posts ought to be 'Native Offset handles Arcs as if they were Edges, not as Arcs... Help!'
-
TIG is perfectly correct (of course) The offset Tool works as an Offset Tool, not a Scale tool. In Olav's posted image above, you will find that the internal and external offsets are produced accurately; and the ends of those offsets are perfectly aligned with a perpendicular being drawn from the end points of the original arc.
Unfortunately, the consequence of the original arc not being a true curve, but a series of straight edges, results in these new end points not being aligned with the centre of the original arc.Think of it this way; if the original arc had been a full semicircle, then the ends of the two offsets would be expected to be lined up with the ends of the original. In other words, all 3 arcs sharing the same baseline. However, because the curve is segmented, the only way this is going to happen is if the two end segments of the original arc are exactly parallel. You simply won't get this using the Arc Tool. You'd need to draw a full circle then rotate it so the the bisector ran through the mid point of two opposite and parallel edges....or use TIG's plugin.
It's effectively the same problem that is encountered when Follow Me is used along a curved path...the end faces may not be aligned exactly the way you would expect them to be on a true curve. It would be nice if both tools offered the plain vanilla and true-curve options.
-
@alan fraser said:
It's effectively the same problem that is encountered when Follow Me is used along a curved path...the end faces may not be aligned exactly the way you would expect them to be on a true curve. It would be nice if both tools offered the plain vanilla and true-curve options.
I'd argue that if it's a problem, which I happen to think of both these scenarios, it should be fixed. Make the computers do the work we want.
-
@tig said:
That's just the way it is.
and you're ok with that? why?
@unknownuser said:
If the native tool had been called more accurately 'Offset-Edges', then you shouldn't have been at all surprised when it didn't 'Offset-Arcs' !
wow..
@unknownuser said:
The very issue of Arcs offsetting as Edges prompted me to write this fix - '
Arc_offset_true
' - earlier last year... http://sketchucation.com/forums/viewtopic.php?p=395769#p395769
Because only 326 members [out of 155,000!] have downloaded it the 'clamor' for properly fixing this issue 'formerly' is hardly overwhelmingmaybe because it's not really fixing anything? i mean yes, you can select a single arc then use that ruby and offset it properly.. but what happens if you try to do something crazy-- like maybe another line is connected to the arc (i.e.-a very real world scenario)?? not much.. just the arc offsets and you still have to go in and manually draw things etc.. it just allows you to deal with sketchups shortcomings in a different order.. (normally, you have to offset the lines manually then fill in the proper arcs-- with the plugin, you offset the arcs first then go back and fill in the proper lines)
but that's beside the point.. the problem goes deeper than offsetting curves.. they are the easiest to fix manually but i use the offset tool as an example because it's the easiest to talk about since there's only a single curve involved..
to (try to) show the immensity of the problem, here's a drawing which shows how this same exact offset behavior causes the same exact problems in other tools.. and in geometry that is much slower to fix and/or draw manually..
every one of these examples is wrong.. (and if you're ok with saying "Well, that's just the way it is" then cool.. however, it doesn't change the fact that these are all wrong'
@unknownuser said:
but until then there are many adequate workarounds [mostly made by me] !
TIG man, i'm sorry but none of them work right and more to the point, they only affect a few situations.. if the problem was fixed internally (in sketchup itself), you wouldn't need to attempt to 'fix' anything plus all these other functions would work right too..
@unknownuser said:
So... the real title of this series of posts ought to be 'Native Offset handles Arcs as if they were Edges, not as Arcs... Help!'
no.. that shouldn't be the title.. again, i use arc/offset to illustrate the point in (what i feel should be) the simplest manner.. but when you start bringing more typical/complex geometry into play, that's when thing really start to go bad.. (or- if i offset an arc with su offset, i'm left with 10 or so vertices in the wrong place.. do the same thing with follow me and i'm left with 250 vertices in the wrong place.. use follow me on something other than a 90ยบ bend and you're looking at potentially thousands of vertices in the wrong place)
-
@alan fraser said:
...
Unfortunately, the consequence of the original arc not being a true curve, but a series of straight edges, results in these new end points not being aligned with the centre of the original arc.Think of it this way; if the original arc had been a full semicircle, then the ends of the two offsets would be expected to be lined up with the ends of the original. In other words, all 3 arcs sharing the same baseline. However, because the curve is segmented, the only way this is going to happen is if the two end segments of the original arc are exactly parallel. You simply won't get this using the Arc Tool.
i honestly don't understand this idea of defending sketchup as if everything ok.. it's not ok.. drop the guard.. especially by you power users that should immediately recognize these problems..
this is copy/pasted from a different thread.. would you be ok if any of these situations didn't work the way they did?
@unknownuser said:
what irks me is that the developers have done some things regarding the way arcs work in a polygon modeler which are correct.. for instance..
โข if you use the arc tangent snap, (draw a straight line, choose the arc tool, click on one end of the line, find the light blue 'tangent at vertex' snap) then the first arc segment will not be inline with the straight line.. the first angle of the arc will be placed in the proper position.. it's accurate.. etc.
โข entity info gives correct length of arc as opposed to sum of segment length (granted, this is just a little math calculation they're doing but still...)
โข the arc's centerpoint is given accurately and it's not perpendicular to the end segments of the arc.. again, this is proper and accurate
โข using the arc tool's half-circle snap... you don't end up with the end segments being parallel.. they're bent inward.. in other words, sketchup is calculating the position of the arc's vertices and not the segments-- as it should... but then you try to offset an arc and it moves the segments instead of the vertices ?tf
โข when you're positioning an arc or circle (setting the bulge part of the arc), you're moving a vertex around.. not a segment
โข the cardinal points are on a vertex, not a segment
so, they did do some things which are right and directly deal with the issues i have but why half-arse it ?? follow through please and tidy up the rest of it.. thank you
i mean really, you guys are talking as if it's ok to offset an arc using it's segments.. so if i'm hearing you correctly, all of those above situations are wrong..
when we draw a circle- should we be setting a segment into place instead of a vertex absolutely not.. and none of those situations should we be dealing with an arc's segments.. they work right.
so take your pick.. either an arc's vertices should be addressed when offsetting -or- an arc's segments should be calculated instead of it's vertices when drawing.. you can't pick 'well, they're both correct' because they arent'.. but you guys are insisting that 'su offsets arcs correctly'.. that's baloney and i just wish some people would look at this with a fresh state of mind.. with no ties to sketchup and no need to defend it.. i feel you'd then easily be able to spot the problem and start the process of getting this (long standing) issue in sketchup sorted out..
@unknownuser said:
You'd need to draw a full circle then rotate it so the the bisector ran through the mid point of two opposite and parallel edges....or use TIG's plugin.
ugh.. we've been through this in this thread already... doing that doesn't fix anything.. it just shifts the error to another location..
-
-
@alan fraser said:
In Olav's posted image above, you will find that the internal and external offsets are produced accurately; and the ends of those offsets are perfectly aligned with a perpendicular being drawn from the end points of the original arc.
Unfortunately, the consequence of the original arc not being a true curve, but a series of straight edges, results in these new end points not being aligned with the centre of the original arc.i don't think olav's example really shows the problem.. if those extended endpoints were the only problem then i'd be twice as ok with the offset tool as i am now..
do this:
โขdraw an arc (say 10 units radius)
โขoffset that arc 1 unit
โขmeasure the new arc's radiusyou see?
-
Gotto side with Jeff here. It's easy to fall into the trap of getting used to the quirks of a system and accepting it as the norm. While the current behaviour can be explained it appear clear it's rarely desired and it's be beneficial for improvements of the system.
SketchUp's Arcs and Circles might be made up of segments, but SketchUp is none the less aware of their true nature - to some extend. It allows you to pick a single segment which will select the whole curve. It gives you the radius, which you can modify - even the number of segments. So it would be a natural extension to make the Offset tool smarter - aware of the geometric nature of the geometry it's dealing with so it can produce results that are logical to humans instead of computers.
-
Jeff, I wish you where a Ruby plugin developer - you sure have the drive for details and solutions to make great products. Can you not be teased into a new venture?
-
@thomthom said:
@unknownuser said:
and before rich calls me a gob o' shite again over this, i would like to say that i fully understand these are first world problems.. i'm just being nerdy about it but in the actual big picture.. i don't care.. at all
Do care about the small picture as well as the big. I get very annoyed when someone mentions from out of the blue a third world problem to mute an otherwise sensible discussion. Or non-sensible for that matter. As if we should never be allowed to talk about anything else.
Btw - Luis CK FTW!
yeah.. he's the funniest guy of the past decade.. intelligence disguised by humor
what i'm getting at in that post is that i don't want to fight anybody over this.. in the bigger social picture, it's not worth it to me (or anyone else) to bring it to that level..
but on the flipside is that i'm pretty damn intimate with this app.. there will be times when i use sketchup more than i sleep in a day.. (and eat, and relax, and everything else that day).. so when you're that involved with something, you're equally involved with the downsides.. and in this instance, these downsides aren't natural.. they are man made and in this situation, definitely(!) fixable..
and i do understand that this isn't a simple fix.. on the surface it is but i think once you examine a bit further, many facets of the core app are linked in to this behavior.. not just the offset tool and follow me tool.. but the whole brain.. we just see it come out in certain tools but the behavior is underlying..
so considering that, i still believe it's worth pursuing.. and not in an 'oh, i wish they would do this..' manner..
it's a serious breakdown in the apps usage.*(*ok.. i could have an entire drawing session and not encounter or be affected by these errors.. it depends on what you're drawing... but the minute you bring any sort of arc into the picture, you're gonna get stung.. and i honestly don't think using an arc should be viewed like "oh.. that's really pushing the limits of architecture and very few people need that capability.. etc.." this is an arc we're talking about.. a very basic and widely used building block in design.. and it should work right)
-
@thomthom said:
Jeff, I wish you where a Ruby plugin developer - you sure have the drive for details and solutions to make great products. Can you not be teased into a new venture?
i don't think so.. i started getting into chess around 2000 or so.. in 2005, i quit.. i had to.. that's all i did or thought about or dreamed about.. it was weird.
ruby = chess -
@tig said:
The native 'Offset' works just fine - within its own limitations.
.....
okay here is another one, this time I'm using line segments that were drawn from scratch rotated about a center point, not an exploded arch.
So is it the arch that is causing this error or is it the offset tool? I think the later is the culprit.
As in the previous graphic, the middle line is the original the outer and inner line are the offset ones. They are not connected.
-
@unknownuser said:
what i'm getting at in that post is that i don't want to fight anybody over this.. in the bigger social picture, it's not worth it to me (or anyone else) to bring it to that level..
I reckon this topic is worth a fight.
-
Chill out guys. I'm not defending the behaviour, merely explaining the logic behind it. As TIG says, the Offset Tool works accurately in it's own way. However, as far as I can see, that way isn't much use to most people most of the time...me included.
It seems that most of the problems arise from having the Arc and Circle tools being defined by distance to end points, while the offset Tool does exactly the opposite and works on the principle of offsetting the perpendicular distance from the edges between those end points.TBH I can't really see how the Offset Tool can work any differently...especially when you consider offsetting rectilinear shapes. I guess what I'm trying to say is that the the fault doesn't necessarily lie with the offset Tool itself...more how SU handles arcs and elipses. If it was more aware of the true nature of any given curve, then perhaps we wouldn't see the problems we do when offsetting them.
For example, it would be useful to have the option of drawing arcs and circles defined by a radius from the centre to mid-facet...measuring the same way that the Offset Tool does. If an arc is drawn in this way, then Jeff's example of drawing such an arc of radius 10 units and offsetting by 1 unit yields a completely accurate offset. The radius of the offset is 11, not 11 1/16 or something equally weird.
-
@alan fraser said:
Chill out guys. I'm not defending the behavior, merely explaining the logic behind it. As TIG says, the Offset Tool works accurately in it's own way. ......
I don't want to miss pointing out that I am, for my part, talking about SU "PRO";
Pro as in Professional. So I'm up for a fight and I will un cover more of SU's so called shortenings, at least that way I can say I did something instead of letting it just slip.
Anyone here who is serious about doing professional work here should join in to the fight for fixing SU.There is also the promise of an easy to use easy to learn application, and until certain shortcomings are eventually fixed or at least recognized by the developers, this promise is not being met.
-
Olav
When you 'Offset' your example 'Arc'...
You completely missed the point.
The reason the offset's end segments are not the same length when the native tool Offsets an Arc, is that it does NOT offset the Arc at all, but it offsets its Segments.
The mid-segments are offset at the vertex bisector angles BUT the start/end segments are offset at a right-angle, just as you would expect it you exploded the Arc into separate Edges and Offset those...If you want 'true' Arc offsets use my tool...
The native tool only Offsets Edges, Arc-ness is ignored and an Arc's segments are offset as edges...To reply to earlier prods..
BUT...That is the way it is.
The Offset tool offsets Edges and it does not offset Arcs as anything but Edges...
It never has, it was never intended to, and it's unlikely it ever will.
I'm just telling it the way it is.
"For the avoidance of doubt."That doesn't mean it shouldn't/couldn't be improved/changed, but then there's a long list of those waiting in the wings...
And... why would you [Jeff] use a 1" Offset on an Arc of radius 10" and expect the new 'Arc' to have a radius of 11" ?
You already know SketchUp Offsets the segments, so the segments are offset by 1", NOT the ARC [vertices] itself... so the new Arc's radius will actually depend on the original Arc's segmentation and only approximate to the 11" even with the most excessively segmented original Arc !IF you want to do an 'Arc-Offset' then currently my tool Arc offsets truly by 1", so the new Arc's radius is indeed 11"... BUT these processes need to be done early days, otherwise the knock-on affects get very unpredictable/unmanageable... see below...
If the native tool did 'proper' Arc offsets it would be better, but it doesn't...
Remember that SketchUp [currently] doesn't pretend to Offset an "Arc" 'properly', it just Offsets some Edges that approximate to an "Arc"...
It's not a 'fault' with Sketchup, but rather it's a limitation - resulting from the way that SketchUp doesn't really have Arcs and Circles at all - it just pretends it does, by using segmented polygons...
When you have a raison d'รชtre like SketchUp's, where a bound-set of edge-segments approximate to an "Arc", it will be very very difficult to 'add' a true Arc-centric solution, without recoding the very core of its being...
Imagine you have a 3d extruded form with its original faces bounded by Arcs...
Their form is now locked into the 3d object as 'facets' - each one having two edges that are two of the top/bottom "Arcs'" segment.
Now let's say that you want to add a new Line that arrives tangentially onto one of the existing "Arcs" [perhaps to add some linked geometry that you will subsequently extrude into an 'extension' of the original form...]... If you snap onto one of the "Arc's" segments or one of its vertices, then the chances are that the snapped point isn't going to be a true-tangent point on the Arc... thus the line isn't arriving tangentially... BUT if you were to determine the 'true-tangent' then that point is conversely very likely to be quite unconnected to the original "Arc's" geometry...
Let's now assume that this 'tangential' line is added... to make it properly tangential [so that it does now touch the "Arc" geometry] we now need to recast the "Arc" and recalculate an alternatively segmented "Arc" form that has vertices at all current 'nodes' forming 3d facets AND this new tangent-point... AND the connected 3d facets all need to adjust to match this, and of course their geometry might in turn be connected to other geometry that may well need to adjust to compensate too etc etc... So adding a tangential line to an "Arc" now ripples out affecting all connected geometry ! There would be significant 'ripples' as many vertices adjusted to accommodate the new form. This in turn might affect the Offsetting of some Edges elsewhere etc... Even worse... unconnected geometry [with say a group] that was once coincident with the former vertices is now out of step and needs adjusting to suit, and then groups abutting that etc etc... The "butterfly affect" of adding just one tangential line onto a "Arc" that is within established 3d forms could thereby have untold and unforeseeable consequences for other parts of the Model - this is not a sustainable fix for SketchUp as it is currently construed...So... adding "true Arcs", and their related tools like drawing tangential lines, into SketchUp would mean it's then no longer the SketchUp we know and [often] love... and trying to shoehorn in anything much beyond where we already have, is likely to produce all sorts of unexpected 'ripples throughout the matrix', that you will later find you would probably have liked to have NOT done, and thereby you would have preferred the inadequacies of the current toolset...
If someone has a viable idea to fix this issue then please let us know... otherwise the half-baked version is better than none...
-
I'll probably type more on this later but for now via phone...
@tig said:
The Offset tool offsets Edges and it does not offset Arcs as anything but Edges...
It never has, it was never intended to, and it's unlikely it ever will.where are you getting this info? I mean, you may very well be right but I'd like to see your source if possible..
there are quite a few clues telling me otherwise.. maybe the most obvious being the offset tool's icon.. surely you've seen this before?
-
@desertraven said:
@alan fraser said:
Chill out guys. I'm not defending the behavior, merely explaining the logic behind it. As TIG says, the Offset Tool works accurately in it's own way. ......
I don't want to miss pointing out that I am, for my part, talking about SU "PRO";
Pro as in Professional. So I'm up for a fight and I will un cover more of SU's so called shortenings, at least that way I can say I did something instead of letting it just slip.
Anyone here who is serious about doing professional work here should join in to the fight for fixing SU.There is also the promise of an easy to use easy to learn application, and until certain shortcomings are eventually fixed or at least recognized by the developers, this promise is not being met.
Before you start insinuating that I'm some kind of complacent, unprofessional dabbler, maybe I ought to point out that I've been beta testing this software for the best part of a decade...and that quite a number of basic taken-for-granted functions that are now part of the core program are there at my urging.
There are solutions to these kind of issues, as TIG points out...either by using plugins or a little common sense. personally, I'd rather go that route than have the program overly-complicated by attempting to second-guess what your intentions are.
You might regard that arc as a true arc with a centre, but as far as SU is concerned it's just a curved polyline...and it offsets it accordingly....and accurately in that context.
If you want it offset in the context of being a segment of a circle of known radius, then might I suggest you actually draw a circle of known radius and offset that...then delete what you don't need...or use TIG's script.
Either way, if you intend fighting for a better SU at my expence I'll fight right back. -
@unknownuser said:
I'll probably type more on this later but for now via phone...
@tig said:
The Offset tool offsets Edges and it does not offset Arcs as anything but Edges...
It never has, it was never intended to, and it's unlikely it ever will.where are you getting this info? I mean, you may very well be right but I'd like to see your source if possible..
there are quite a few clues telling me otherwise.. maybe the most obvious being the offset tool's icon.. surely you've seen this before?
My source is my thoughts and observation of freely available information...Of course I have seen the icon...
What makes you think that a small icon drawing of some Offset Edges in the form of an Arc IS an Arc... OR that a small image like that somehow promises you something... ?
Where in any of SketchUp's documentation does it say that it makes True-Offsets of Arcs ?
It could perhaps better explain what it does, but for a long time now 'we' have all known more about the tool than the docs tell us...YOU already know SketchUp's Offset tool has never offset an Arc in anything other than its segmented edges, and that its Arc is a mere representation of an Arc though segments and nothing more... so why suppose it was ever otherwise, or intended to be otherwise?
I'm quite sure the original coders would have loved 'true-arcs' and their related tools... BUT there are limitations to every approach, and trade-offs limiting some aspects have benefits elsewhere, so I'm sure that some years ago such an item on their 'wish-list' was quietly 'forgotten' as too problematical to realize...
IF you had read what I wrote...
-
SketchUp never has Offset Arcs 'as Arcs' [you brought this very 'fact' up ages ago !] - in fact Sketchup only has these pseudo-arcs anyway, made from edges - which it 'pretends' are Arcs !
-
SketchUp was never intended to Offset Arcs truly [that is abundantly clear from the way it functions and offsets them as if they were segments], if it intended to truly Offset Arcs it would do so - even if it sometimes failed - BUT it never even tries to do it... [but then the limitations of achieving this are expounded in other paragraphs...]
-
The enormous upheaval in the code that'd be needed to recast SketchUp into a something with 'real' Arcs and related tools was also covered in other paragraphs - and it is upon which I base my assertion that such a feature is unlikely to appear, at least in anything we would continue to recognize as SketchUp, simply because of the ramifications of such supposed tools on all connected faceted geometry...
There are obviously apps which give you true-arcs and related tools, but none that match SketchUp's simplicity and ease of use, so there's no such thing as a free-lunch... Use other software if you must have this functionality, because adding it to the native SketchUp would, in my humble opinion, make it a quite different thing from what we have now - "warts and all"...
-
Advertisement