[Plugin] Arc_Offset_True

[Plugin] Arc_Offset_True

Postby TIG » Tue Apr 03, 2012 10:33 am

TIG (c) 2012 - 2022
All Rights Reserved.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES,INCLUDING,WITHOUT LIMITATION,THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
###
Arc-offset_true.rb
###
Usage:
Adds a new 'Tool' menu item 'Arc_Offset_True'.
Adds a new context-menu item 'Arc_Offset_True' if a single Arc is selected.
Enter the required +ve/-ve offset distance in the dialog.
Enter the required number of copies [if it's -ve and would zero/flip the
copies its curtailed and a closing dialog tells you].
It works on Arcs or Circles.
Unlike the native Offset tool all offset-arcs are always made as 'Arcs' -
whether they are faced/not-faced, or intersect with other geometry.
###
Version:
1.0 20120403 First issue.
1.1 20120403 Now accommodates trimmed first/last segments properly, also
traps for -ve offsets that would 'zero' or 'flip' the offset-arc, the
selection now passes to the new offset-arc.
1.2 20120403 Now has optional 'Number' in dialog to make arrayed offsets.
Context-menu option added.
1.3 20120403 Multiple offsets will now intersect with other geometry only
AFTER they have ALL been formed.
The native Offset tool's offset-arcs that are intersected become Curves,
but this tool will make them as Arcs [albeit 'split'].
Offset-arcs made from an Arc that bounds a face will become Curves in the
native Offset tool; this tool produces similar results.
1.4 20120403 With the native Offset tool offset-arcs made from an Arc that
bounds a face will become Curves; however, this tool makes them as Arcs.
1.5 20120402 Minor code tweak [you'd probably not notice - I will].
1.6 20220619 Selection of new arc on completion fixed for newer Sketchup versions.
###

Download

1
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] Arc_Offset_True v1.1 20120403

Postby TIG » Tue Apr 03, 2012 11:17 am

Version v1.1 viewtopic.php?p=395769#p395769 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...
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] Arc_Offset_True v1.1 20120403

Postby Wo3Dan » Tue Apr 03, 2012 11:20 am

Tried it TIG, :thumb: thanks.
(I won't "complain" that the entered distance isn't the same as reflected by the distance between segments. And Jeff will be pleased)
If I may suggest, maybe an arraynr._inputfield could be added to the dialog box, to do multiple offsets at once?
And is it possible/safe to add the tool to the right click context menu?
0
User avatar
Wo3Dan 
Top SketchUcator
 

Re: [Plugin] Arc_Offset_True v1.2 20120403

Postby TIG » Tue Apr 03, 2012 11:57 am

Here's v1.2 viewtopic.php?p=395769#p395769
It now has an optional 'Number' in the dialog [which defaults to 1] to make arrayed offsets.
A context-menu option has been added.
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] Arc_Offset_True v1.2 20120403

Postby Wo3Dan » Tue Apr 03, 2012 12:35 pm

TIG wrote:It now has an optional 'Number' in the dialog [which defaults to 1] to make arrayed offsets.
A context-menu option has been added.

Great! I notice that no faces are create from new geometry. Not that it is an issue. But an original face is an obstacle!
From experimenting with/without faces where the original arc is part of the boundary of the face, I notic that whenever a face is involved, the array operation stops at one and splits up the new arc into as many edges as there would be segments. (thus causing the array offset to stop at one, I guess)
0
User avatar
Wo3Dan 
Top SketchUcator
 

Re: [Plugin] Arc_Offset_True v1.2 20120403

Postby ZFRPS » Tue Apr 03, 2012 12:53 pm

Great!
Q1.jpg
Q2.jpg
0
sketchup is bim

ZFRPS 
 

Re: [Plugin] Arc_Offset_True v1.2 20120403

Postby Trogluddite » Tue Apr 03, 2012 1:27 pm

Works a treat, thanks TIG. :D
0

Trogluddite 
PluginStore Author
PluginStore Author
 

Re: [Plugin] Arc_Offset_True v1.2 20120403

Postby mitcorb » Tue Apr 03, 2012 1:37 pm

Thank you, TIG:
I estimate that you did this in about 4 hours judging from your last post in the "Inacurrate" thread until you came out with the first version. This is sorta Herculean ;)
0
I take the slow, deliberate approach in my aimless wandering.
User avatar
mitcorb 
Top SketchUcator
 

Re: [Plugin] Arc_Offset_True v1.2 20120403

Postby TIG » Tue Apr 03, 2012 4:35 pm

Wo3Dan wrote:
TIG wrote:It now has an optional 'Number' in the dialog [which defaults to 1] to make arrayed offsets.
A context-menu option has been added.

Great! I notice that no faces are create from new geometry. Not that it is an issue. But an original face is an obstacle!
From experimenting with/without faces where the original arc is part of the boundary of the face, I notic that whenever a face is involved, the array operation stops at one and splits up the new arc into as many edges as there would be segments. (thus causing the array offset to stop at one, I guess)
At the moment it offsets the arc and continues using the last one, if that's intersected you get a split result... I'll look at a fix.
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] Arc_Offset_True v1.2 20120403

Postby brookefox » Tue Apr 03, 2012 5:55 pm

Thank you, TIG.

Your attention to 'right' wrongs not right, even if right, if not without a fight, make no one uptight, and we appreciate it, a lot.
0
~ Brooke
User avatar
brookefox 
 

Re: [Plugin] Arc_Offset_True v1.2 20120403

Postby jim smith » Tue Apr 03, 2012 5:57 pm

thanks TIG. I haven't tried it yet but have confidence it will be the answer to one of my SU-wish list items :D
0
"Out of clutter find simplicity,
from discord find harmony,
In the middle of difficulty lies opportunity"
Albert Einstein
User avatar
jim smith 
Premium Member
Premium Member
 

Re: [Plugin] Arc_Offset_True v1.2 20120403

Postby pilou » Tue Apr 03, 2012 6:19 pm

Tig's plug don't give the same result than the Multiple Offests of Sdmitch
Each plug has it's own utility ;)
0
Frenchy Pilou
Is beautiful that please without concept!
My Little site :)
User avatar
pilou 
Top SketchUcator
 

Re: [Plugin] Arc_Offset_True v1.3 20120403

Postby TIG » Tue Apr 03, 2012 8:10 pm

Here's v1.3 viewtopic.php?p=395769#p395769
Multiple offsets will now intersect with other geometry only AFTER they have ALL been formed.
The native Offset tool's offset-arcs that are intersected become Curves, but this tool will make them as Arcs [albeit 'split'].
Offset-arcs made from an Arc that bounds a face will become Curves in the native Offset tool; this tool produces similar results.
I think that now addresses the various issues...
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] Arc_Offset_True v1.3 20120403

Postby jorge2011 » Tue Apr 03, 2012 9:45 pm

excellent plugin.
a query.
is possible to make the plugin more interactive? not to use dialog. Use vcv Viewer?

thank you very much
0

jorge2011 
 

Re: [Plugin] Arc_Offset_True v1.4 20120403

Postby TIG » Tue Apr 03, 2012 10:27 pm

Here's v1.4 viewtopic.php?p=395769#p395769
The final pieces of the jigsaw are hopefully in place...

Unlike the native Offset tool, all offset-arcs are now always made as 'Arcs' - whether they are faced/not-faced, or intersect with other geometry.
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] Arc_Offset_True v1.5 20120403

Postby TIG » Tue Apr 03, 2012 11:14 pm

Here's v1.5 viewtopic.php?p=395769#p395769
Includes a needed a minor code tweak... you'd probably not notice, but I will :?
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] Arc_Offset_True v1.5 20120403

Postby jeff hammond » Wed Apr 04, 2012 1:33 am

ha! awesome.. this one immediately went to a shortcut assignment ;)


the next challenge, if it's even possible, would be to allow us to select a string(?) of lines/curves/arcs then offset them.. say i had a straight line, then a tangent arc, then another straight line.. select all three and you could offset them at once.. only since there's an arc in there, your offset_true will recognize it and deal with it accordingly
(as this is a scenario where vanilla offset will really flounder)
0
dotdotdot
User avatar
jeff hammond 
Global Moderator
 

Re: [Plugin] Arc_Offset_True v1.3 20120403

Postby Wo3Dan » Wed Apr 04, 2012 8:30 pm

TIG wrote:..Multiple offsets will now intersect with other geometry only AFTER they have ALL been formed....

Thanks TIG, for all the changes you made with the speed of lightning.
I used "isolate the problematic arc in a group" before multiple offsets. Then explode the result again.
Out of curiosity, is this how you work around the intersect problem in the newest version?
Thanks again.
0
User avatar
Wo3Dan 
Top SketchUcator
 

Re: [Plugin] Arc_Offset_True v1.3 20120403

Postby TIG » Wed Apr 04, 2012 8:52 pm

Wo3Dan wrote:
TIG wrote:..Multiple offsets will now intersect with other geometry only AFTER they have ALL been formed....

Thanks TIG, for all the changes you made with the speed of lightning.
I used "isolate the problematic arc in a group" before multiple offsets. Then explode the result again.
Out of curiosity, is this how you work around the intersect problem in the newest version?
Thanks again.
I now group the original arc [as a copy] and then scale it multiple times about its origin, then explode all of them when I'm done; that way, they only 'intersect' with everything else when it's all done...
The way it gets around the issue of offsetting an arc that is bounding a face [that manifests itself as a new curve with the native tool] is to group the original arc AND all of its connected faces, then erase all of the edges in the group that are not part of the original arc. Then we have a grouped arc that can be scaled/exploded etc...
Thus all 'true' offsets of an arc now always result in new arcs [unless of course it's a -ve offset, when some will not get made at all, if the inwards offset is <= arc.radius]
:geek:
0
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] Arc_Offset_True v1.5 20120403

Postby Rich O Brien » Sun Jun 19, 2022 12:12 pm

Some errors in console when you run tool...

Code: Select all
offset_true.rb:130:in `new'
C:/Users/Da Beast 2022/AppData/Roaming/SketchUp/SketchUp 2022/SketchUp/Plugins/Arc-offset_true.rb:48:in `block (2 levels) in <module:Arc_Offset_True>'
Error: #<TypeError: wrong argument type (expected Sketchup::Entity or Array of Sketchup::Entity)>
C:/Users/Da Beast 2022/AppData/Roaming/SketchUp/SketchUp 2022/SketchUp/Plugins/Arc-offset_true.rb:130:in `add'
C:/Users/Da Beast 2022/AppData/Roaming/SketchUp/SketchUp 2022/SketchUp/Plugins/Arc-offset_true.rb:130:in `new'
C:/Users/Da Beast 2022/AppData/Roaming/SketchUp/SketchUp 2022/SketchUp/Plugins/Arc-offset_true.rb:48:in `block (2 levels) in <module:Arc_Offset_True>'
0
User avatar
Rich O Brien 
Administrator
 

Re: [Plugin] Arc_Offset_True

Postby TIG » Sun Jun 19, 2022 2:35 pm

Download


This is v1.6 which avoids that error message.
The tool worked fine before, but the closing code which tried to add the new arc to the selection set was failing at the very end with that error message.
That was because the newer API versions handle exploded groups' entities differently - previously you could get a collection of the groups entities and then explode the group, then process those entities [e.g. the edges to add to the selection set]; but the API changes make such a collection 'invalid' because its references to the entities are reported as deleted; so now you must collect the results of the explosion, and filter out unwanted stuff to keep just the 'new' edges and then process them...
It's much more convoluted but has the same outcome...
Most scripts have been appropriately adjusted over the recent years to accommodate this API change - but this one escaped - because it's ten years old and it did the offset OK, just falling over at the final hurdle of changing the selection set, and therefore printing an error into the Ruby Console, if you had it open !
1
TIG
User avatar
TIG 
Global Moderator
 

Re: [Plugin] Arc_Offset_True

Postby Rich O Brien » Sun Jun 19, 2022 6:54 pm

Mucho gracias :thumb:
0
User avatar
Rich O Brien 
Administrator
 

SketchUcation One-Liner Adverts

by Ad Machine » 5 minutes ago



Ad Machine 
Robot
 



 

Return to Plugins

Who is online

Users browsing this forum: indrawahyudi, maybach67, Tun Aung Kyaw15420, Yannic12 and 8 guests