Offset

 From: Frenchy Pilou (PILOU) 28 Jan 2013  (1 of 16)
 A passionate debate is existing in a thread about "Sketchup is Inacurate?" (more 30 pages for the moment :) http://sketchucation.com/forums/viewtopic.php?f=15&t=44142 and this is appear page 31 ;) http://sketchucation.com/forums/viewtopic.php?f=15&t=44142&start=450 What is your position about your choice of the Offset Moi option ? EDITED: 28 Jan 2013 by PILOU

 From: Michael Gibson 28 Jan 2013  (2 of 16)
 5680.2 In reply to 5680.1 Hi Pilou, at a tangent discontinuity (the sharp corner point), what happens is the offset generated at each segment does not naturally match up, the natural offset of such a thing is this discontinuous set of segments like so: These offset segments are a constant distance away from the generator curves, like this: However, most people are not happy when their curves become separated like this, much of the time they would like for the offset to be one continuous curve. So then the question becomes what to do in this area here: In MoI there is a "Corners" option to control the behavior for what to do to fill in this area between the natural offset pieces, you can set it to either Corners = Sharp or Corners = Round. If you are primarily concerned with getting "the most accurate offset", then I guess you would want to switch this option to Corners = Round - that will make that area filled in with an arc segment: That is the only kind of fill in shape that will result in equal distances at the closest point between the original curve and the generated curve. That's usually the strict definition of what it means to be an offset - "equal distance at every closest point". Here every line that you see between each curve is of the same length (within tolerance): If you put anything other than an arc segment in the fill in area, it will not be a true offset anymore. However, often times people are more interested in maintaining the same general corner shape rather than having a strict "equal distance at every closest point" type result. That's what the other Corner = Sharp option is for, it works by extending the 2 shapes until they intersect one another. There are then different ways that it is possible to do the extension process. The way MoI will try to do it is it tries to extend the curve with curvature continuity (meaning for example an arc will extend as another arc piece rather than extending as a line) and if those G2 extensions meet up it uses that. If those do not meet up (it's possible for curvature continuous extensions to curl around and miss each other) it will try to do a line segment extension instead, that means though that the extension area is somewhat different in shape since a line is totally flat and devoid of curvature so the shape then has a curvature discontinuity with a little line piece in one area of it. Anyway once you are talking about a sharp extension you have basically left the definition of the true offset behind at that point no matter which way you do it - the only way to maintain "equal distance at every closest point" is with the Corners = Round option with an arc being placed in the gap instead of any sharp piece. So the "most accurate" offset I guess would either be something made up of 2 totally separate pieces with blank space between them, or with an arc between them. I have not yet looked at the thread that you are referencing yet, but often times when people argue about what the "most accurate" result it, there may have been a failure to actually define what the precise desired result actually is, like what it precisely means to be an offset. Also it's not unusual for someone to not actually want to get the "most accurate" result, they may be looking for something else like "most resembles original curve structure in corner points". If people have different actual goals in mind then it will be easy for them to disagree about how good a particular result is. - Michael

 From: Michael Gibson 28 Jan 2013  (3 of 16)
 5680.3 In reply to 5680.1 The Curvature continuous extension method can sometimes be a little odd in some cases, like the particular one you show there where it creates a fairly sharper angle than the original. I didn't really initially pick this behavior myself, it's just how the offset mechanism in the geometry works by default and I've left it that way since it seemed like often times it's a good way to do it. Here are some other cases where you can see how it can be nice: - Michael Attachments:

 From: Frenchy Pilou (PILOU) 28 Jan 2013  (4 of 16)
 Many Thanks! That is transmitted! :)

 From: Mauro (M-DYNAMICS) 28 Jan 2013  (5 of 16)
 Many thanks Pilou to pull out this question and many thanks for answer Michael please,if you can,tell me some more about -INSET-function what does it mean -GROOVED- option? (it also not translated in Italian ) Attachments:

 From: Michael Gibson 28 Jan 2013  (6 of 16)
 5680.6 In reply to 5680.5 Hi Mauro, the grooved option will allow you to enter an additional distance which will then be used to form a kind of trench or groove around the inset border. Here's the regular inset: Here's with Grooved set and a small groove distance specified: If you only check "Grooved" and do not enter any groove width at all, it will basically build a zero width groove with the inner area as a separate "plug" object. Hope this helps! - Michael Attachments:

 From: Mauro (M-DYNAMICS) 28 Jan 2013  (7 of 16)
 5680.7 In reply to 5680.6 Thanks Michael !

 From: Jeff Hammond (JEFF_HAMMOND) 28 Jan 2013  (8 of 16)
 hello Michael and Moi forum i guess this is weird having a conversation spanning across different forums but pilou did post your response at scf to which i replied: ------------------- awesome seeing michael's opinion! I wish more devs would talk in that much detail on their apps behavior. I think he raises some good points about user expectation vs 'true offset' as offsetting may not have a strict geometric definition (at least I've searched around for an actual definition in the course of this thread and couldn't find one ;) ) that said, I definitely don't think he'd find sketchup's solution acceptable as it doesn't return consistent distance even in the obvious (non corner) areas. his last examples are good ones for backing up the way moi offsets.. especially the V example as I've built similar shaped walls and I cut the plates the same way as he's shown. there are equally examples of how that method would be undesirable such as the example I posted earlier when the offset distance is enough to make the arc come back around and start forming a very sharp point. (and I didn't test last night as to what happens if I would of offset that even further.. I'm curious to get to a computer now to test it out ;) ) but I do think he's right that 'an actual strict definition' would be what you get with the round corner option because it give true offset value everywhere along the path. (rhino and illustrator both have those options as well but I left them out of the conversation.. but I now see those options as viable when talking about this stuff) anyway.. thanks for asking him and @michael, thanks for answering him (though I honestly hope you didn't wade through thiese 30 pages to see me thanking you :lol: )[/quote] ------------------------- so yeah.. i'll post here as a more personal way to say thank you for your insight.

 From: Michael Gibson 28 Jan 2013  (9 of 16)
 5680.9 In reply to 5680.8 No problem Jeff, I'm glad to contribute to the mix! :) Just to add one more wrinkle, there are also situations where it is not possible to extend an arc as a longer same radius arc and have it intersect the other object. That happens in cases like this: The natural offset segments of these pieces look like this: You can see there how the offset arc's radius is shrinking in such a way that the offset line does not intersect the arc's full circle anymore: For trying to make a sharp corner in a case like this there is not much other choice than to extend both pieces by straight lines. Anyway I believe once you start talking about extensions you are not really talking about a true offset anymore because the extension area does not have a constant distance to the closest point on the generator curve anymore. > that said, I definitely don't think he'd find sketchup's solution acceptable as it doesn't > return consistent distance even in the obvious (non corner) areas. Well sketchup doesn't even have the concept of an actual curve in it right, only a bunch of line segments. So when you try to offset an "arc" in sketchup you're not really in the realm of working with an arc, you're actually working with a polyline. A polyline has a tangent discontinuity in it at every single vertex, so it has this "what to do in the connecting area" issue all over the place. If you want to do stuff with accurate arcs I don't see how that's going to happen in sketchup since it doesn't have any arcs there, only polylines... - Michael

 From: Michael Gibson 28 Jan 2013  (10 of 16)
 5680.10 In reply to 5680.8 Hi Jeff, well after browsing through that thread a bit I can see that you're very familiar that offsetting a polyline is not the same thing as offsetting an arc! ;) It is surprising that there is so much disagreement over there about this - I mean if you just draw a snapped "half circle" arc in Sketchup and then offset it, the offset result is not a half circle anymore... But it's because you didn't really have a half circle in the first place, you really just had a polyline in the general shape of a half circle. That's all a consequence of having all geometry made up of little line segments and facets. If you're trying to do stuff involving curved shapes sketchup becomes problematic in a lot of ways for those kinds of tasks, particularly if you're trying to do "curved shapes with accuracy"... - Michael

 From: Michael Gibson 28 Jan 2013  (11 of 16)
 5680.11 In reply to 5680.10 Hi Jeff, so I learned from browsing that thread a bit more that there is actually the concept of an arc object in SketchUp, and that certain operations like entity info or dimensioning are able to get at that original arc center and radius information. That's kind of strange that they did not make offset make use of it as well though. That's pretty confusing to have only some tools recognizing the arc information and others just using the polyline approximation. - Michael

 From: Jeff Hammond (JEFF_HAMMOND) 29 Jan 2013  (12 of 16)
 i've always found the behavior strange but in the past, i sort of just worked around it because i thought that's 'how it is'.. (and it wasn't really until that thread started that i realized it wasn't one of those things that everyone just automatically realized..(of course everyone knows it's segments.. but i now don't think too many people realize the errors created when they think they're doing an offset on something which sketchup is calling an arc) anyway.. thing is, i'm on mac.. we didn't realistically start getting nurbs until the past few years.. i started sketchup around 8-9 years ago so i had lots of time with the app and figured out ways to get accurate arc info out of sketchup.. even with them being segmented like that.. it's just that it's an often convoluted process to get things/vertices in their proper position.. then i started using nurbs apps and messing around with arcs is child's play.. i tried some things in rhino when i first started using it which were difficult to do in sketchup and i felt like the app laughed at me as if saying "are you serious? is that all you have?! :) ) so now, when i want to do something basic in sketchup and i can't, i guess i get frustrated with it.. (and i'm talking real basic.. there's no compass in sketchup. but you do see hints of one in certain behaviors such as the ability to draw an arc tangent to a line via a tangent snap).. but if the devs don't want to smarten it up, that's totally fine.. and as far as i can tell, it's not going to change in this area so... anyway.. @the_offset after thinking about it some more, i actually use the round corners in most situations.. your latest example finally made something click in me to where i think "oh. right.. i know how i would want that to be handled.." it would be this way: you'll see a very similar situation in the top-right of this: out of curiosity (i.e.- sketchup's offset & follow me tools work exactly the same), i tried sweeping it.. moi gives: rhino spits this out :) (and i realize i shouldn't be trying to draw it like this anyway.. just curious though) ------ but yeah, i never actually realized before that there isn't one way to offset (i mean, i think there's only one way to offset individual curves.. it's these various intersections that are open to interpretation.. and i don't think there are solid enough grounds for anyone to claim "no.. this is the right way" (well, i guess you've already said that stuff.. i'm just repeating to myself so it will stick ;) (**ps_ i'm on the beta right now.. it's nice man.. the navigation/inferencing is tops.. i might be hooked this time around :) Attachments:

 From: Michael Gibson 29 Jan 2013  (13 of 16)
 5680.13 In reply to 5680.12 Hi Jeff, that's cool that you're back messing with the beta, I hope it can stick! :) And yeah that particular stuff that you're building is very not like traditional semi-box-like architetural forms like sketchup is really designed to work with - a NURBS modeler is a way better fit for that kind of geometry. Pretty much a 100% perfect fit really with the kind of broadly curved profile-driven geometry that you have there. There's so many tools that will directly apply to that kind of construction - sweep, blend, offset, ... - and for construction it should also be a really big advantage to have a sort of ideal master model that can then be cut up in different ways as you need. When you try to do that with a bunch of lines and facets you're kind of fixing a sort of cut up pattern directly in the base design instead of being able to create an idealized reference design... Your shapes there just do not fundamentally resemble a box or a prism type shape, which is what sketchup is totally oriented around producing. - Michael