[Plugin] TIG-Smart_offset
-
TIG,
This IS excellent! Something needed since SU began. I'll have to give it a try.
Happy New Year!
Peter
-
@unknownuser said:
TIG
Not to confuse the issue. Just how should and object look after an offset. I have attached two illustrations, showing an object that has two results. The first shows the object with an offset from your plugin, and the other showing the same object after scaling.
I certainly do not have the smarts to determine which is correct. However, I would suggest that the scaling illustration that shows the object retaining the basic shape would be the more correct solution.
-
@unknownuser said:
So my question was, if it OK to distort the shape, wouldn't a distortion of the offsetting parameters that still gives a close approximation to the original shape be better.
the shape isn't distorting in a real offset (though i guess i can see how you're thinking it is)..
imagine you draw the outline of, say, a building.. (and you can use your example image as an example of this as well)... now say you want to make a perimeter wall that is 12" thick.. what will the inside of the wall look like?
you're thinking the inner wall is a distortion of the shape you'd originally drew but when i see your scaled version which you may think looks right, i see a wall that's 12" thick in some spots, 24" thick in others.. and a variety of thicknesses in between.. (i.e.- definitely not an offset )
-
Jeff's point about Arc Offsetting is right AND wrong.
Offset/Smart_offset treat Arcs and Welded-Curves in the same way, their Segments are truly Offset.
If an Arc meets another Edge at a Vertex, then the segment of original arc-curve is properly parallel to the offset-curve itself, it will then appear 'angled' to other edges meeting the curve radially. However, if an Arc meets another Edge at the mid-point of a segment, then the segment of original arc-curve is still properly parallel to the offset-curve itself, it will then appear 'square' to other edges meeting the curve radially.
-
TIG, your point about the arc and the way it meets the straight line is excellent. This angle frequently causes issues in Offset as well as other things like Follow Me. When I need the arc to start and end perpendicular to a line as shown on the right side of your illustration, I start with a circle and rotate it so there'll be perpendicular segments at the intersection. Then I cut the arc out of the circle. It would be nice if there was an Arc tool that could draw the arc that way from the beginning. I suppose it would only really be useful for half and quarter circles.
-
The problem is having a circle intersect a line squarely is that the distance between the two parallel segments [taken across the circle] are not the circle's diameter apart; because a circle is 'inscribed', so then its vertices are on the circumference, only an intersection through two opposite vertices return the diameter. Any intersection s through segments result in the measurable 'diameter' across the intersection is reduced by just a little more than 0 [when the intersect in very near to the circle's vertices] up to ((diameter/2) * Math.cos(360.degrees/numseg/2)), when the segments' mid-points are both intersected [diameter/2==radius].
The more segments [numseg] there are then the nearer the two 'diameters' will get, but the square one will always be somewhat less that the true one, even with hundreds of segments... -
Yes, I realize that the flats aren't at the true radius of the arc. Very often for my use I wind up scaling the circle so when I dimension the arc, I am dimensioning to the midpoint of the edge parallel to the base. It isn't perfect but it gets the right information to the client and the difference isn't really apparent. I've developed a process that seems to work well enough manually so that I don't have to screw around with it for too long to get what I need.
-
fwiw, i'm not trying to say this plugin doesn't work right etc..
what i am trying to say is (and hey, i admit i'm not a very good lobbyist and i don't know the proper channels to use to get my complaints to the right people so i just always spew about this stuff in random threads at scf )
...is..
sketchup itself is messed up.. this type of plugin (smart offset), imo, should never have to be written in the first place.. it's not a plugin that's speeding up the drawing time etc... it's a plugin that's attempting to fix the core app.. but the core should be good from the start then you guys build on top of that solid foundation..i mean, even if you did make a plugin that truly offsets properly then it's but a small small dent in the whole drawing experience.. all the other applicable plugins and native tools are still messed up (joint push pull, shape bender, follow-me, offset, round corner etc.. ).. but if sketchup itself was fixed then all of these tools/plugins would work properly/accurately..
to me, this is the single most important thing the sketchup developers should work on.. and i realize its a whole lot of work for something they couldn't even say 'hey, check out our new feature' to.. and maybe a whole bunch of people wouldn't even notice anything is different (which i'm starting to believe as true.. i feel like a lone soldier in this battle ... but i actually believe there are quite a few design/builders out there that know of this problem as well but they're just not vocal about it at scf.. they just cuss at it but the cussing goes no further than their workstation.. i mean, there has to be others that encounter this flaw..) but it does bum me out that i know the developers also realize this issue and they just keep quiet about it.. there's no way jbacus doesn't know of this problem so it's not like i'd be bringing anything new to his attention if i had the opportunity to discuss this with him..
-
Ditto. Fix the core! Can't even fix the Icon scramble, how hard can that be?
-
@dave r said:
This angle frequently causes issues in Offset as well as other things like Follow Me.
@tig said:
The problem is having a circle intersect a line squarely is that the distance between the two parallel segments ...
regarding that angle.. (which is proper as you guys know.. but in case anyone else is listening..)
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
*my use of arse instead of ass was meant to be a way to make a more mellow/ less mad sounding statement.. not sure if it works right but that was the intent
-
Here's v1.9 http://sketchucation.com/forums/viewtopic.php?p=446462#p446462
An obscure error in the code when the tool's method called from within another script has been fixed fixed [when the face.parent.entities!=model.active_entities !].
Other users of the toolbar/menu options will find no difference in its operation with this update. -
may be it'd help in bug hunting.
Attachment: inner offset is not correct, no outer offset at all
(values: +-20)
-
looking at your skp and welding part of the segments you'll see different results.
-
@jean-franco said:
looking at your skp and welding part of the segments you'll see different results.
[attachment=0:2t1zi3eq]<!-- ia0 -->TIG-Smart_offset_example.jpg<!-- ia0 -->[/attachment:2t1zi3eq]I exploded those arches and no offset get executed
-
@rv1974 said:
@jean-franco said:
looking at your skp and welding part of the segments you'll see different results.
[attachment=0:3fig2342]<!-- ia0 -->TIG-Smart_offset_example.jpg<!-- ia0 -->[/attachment:3fig2342]I exploded those arches and no offset get executed
Yes, the same behavior for me.
-
I'm investigating...
-
Here's v2.0 http://sketchucation.com/forums/viewtopic.php?p=446462#p446462
Just ready for the New YearIt has further refinements and glitch trapping.
The recent reports of malformations were caused by the face having very 'sharp' spikes, which were returning a false negative when testing for their offset vertices for the new outline's points. This is now fixed, but it has meant that the point-on-face 'checking tolerance' has had to be increased to 0.5mm - so it could now fail on a face that has a 'finger' that is narrower than 0.5mm, when measured along adjacent vertices' internal-angle-bisectors - but that is very very unlikely anyway...
-
-
great job, as always TIG. Thank you and Good Year
-
Here's v2.1 http://sketchucation.com/forums/viewtopic.php?p=446462#p446462
This version now has the same vertex checking tolerances applied to curves' vertices as to plain edges... [I accidentally missed that code out in the previous version].
Hopefully it now also works with the recent problem offset examples posted: mind you, these are getting somewhat 'extreme'
Feedback please
Advertisement