[Plugin] DrawHelix14
-
Small is beautiful
-
@jim said:
This is a enhanced version of Peter Brown's DrawHelix13 script.
Main improvements are:
- Input box now uses the current model units.
- Previous values are saved between each use.
It is meant to replace the drawhelix13.rb file, but both can be installed without conflict.
Download (right-click, select Save As)
drawhelix14.rbThere must be life in my old dog yet if someone thought to improve it.
-
Hi Peter,
Sure, it has plenty of life - I just made it a bit more friendly. Hope you don't mind the update.
-
Thanks, Jim.
-
@jim said:
Hi Peter,
Sure, it has plenty of life - I just made it a bit more friendly. Hope you don't mind the update.
You have my blessing to improve it in what ever way you can.
-
Excellent!
Thank you Jim (and also for your revisited Didier's Double Line )simon
-
Hi nice tool but is it possible to draw a helix that is not a whole number of turns for example 1.5 I have tried and nothing is drawn.
-
Yes you must enter an "Integer" number
So cut your volume at the end of the processMake 3 turns and cut at the middle
-
@unknownuser said:
Yes you must enter an "Integer" number
So cut your volume at the end of the processMake 3 turns and cut at the middle
It's easily fixed by adjusting the code in the .rb file... on line #23 [edit with Notepad.exe or equivalent plain-text editor - NOT a wrodprocessor]
change
values = [300.mm, 300.mm, 100.mm, 5, 24]
into
values = [300.mm, 300.mm, 100.mm, 5.0, 24]
then save.
Now you can enter decimal values like 1.5 ...
The original code froze it as an 'integer' [default=5] and therefore prevented 'partial turn' values being entered... BUT since the rest of the code doesn't rely on it being an 'integer' there's no problems with making it a 'float'...
I already had that tweaked in the previous version in my installation... -
Better and more generalist indeed
And always amazing as just 2 signs can change something!We are few things in the univers, all is inside decimals
By Francesco de Comitรฉ
-
@ TIG
I am in V6
Curious
I have an old version Draw Helix 13
make your 5.0 changment inside : works fineI load the new DrawHelix14
nothing is drawing (same result with your changment)
I have this in the Ruby consoleError; #<ArgumentError; wrong number of arguments(2 for 1)> C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;68;in `start_operation' C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;68;in `drawhelix' C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;78 C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;78;in `call'
-
@tig said:
It's easily fixed by adjusting the code in the .rb file... on line #23 [edit with Notepad.exe or equivalent plain-text editor - NOT a wrodprocessor]
change
values = [300.mm, 300.mm, 100.mm, 5, 24]
into
values = [300.mm, 300.mm, 100.mm, 5.0, 24]
then save.
Now you can enter decimal values like 1.5 ...I'm very proud to annouce that this
.0
added, is my very first rubby scripting (and may be also the last )
And then Oh! the problems begin1)With or without this new code, I discover that DrawHelix14 doesn't work with my Su6
2)DrawHelix14 works fine with my Su7 but the new code (.0
) doesn't work! (if a decimal value is entered, no helix is drawn_ if an Integer value is entered: works fine)
3)If I come back in Su6 to DawHelix13_fr and add the (.0
)code, this time the helix is drawn.
4.5 rotations
Ouf! Hard time for new developper
simon
-
can't you filter that ? the script to catch the vcb value and remove the leading zero in incompatible version of SU ?
-
@unknownuser said:
@ TIG
I am in V6
Curious
I have an old version Draw Helix 13
make your 5.0 changment inside : works fineI load the new DrawHelix14
nothing is drawing (same result with your changment)
I have this in the Ruby consoleError; #<ArgumentError; wrong number of arguments(2 for 1)> > C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;68;in `start_operation' > C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;68;in `drawhelix' > C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;78 > C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;78;in `call'
Line #65
if Sketchup.version_number.to_i < 7
changed to
if Sketchup.version.to_i < 7
will work in SUp v6 too !
Simple typo by Jim meant that you always got a version number in the tens of thousands and not a simple 6, 7 or 8 etc so it would always be > 7 and then try to start_operation with an extra argument and break the tool -
Cool to see that is the same problem
PS It's the same for the New Double Line!
Don't work inside the V6
When press Enter walls are not drawn !same error message in the Ruby console
Error; #<ArgumentError; wrong number of arguments(2 for 1)> C;/Program Files/Google/Google SketchUp 6/Plugins/dline2.rb;157;in `start_operation' C;/Program Files/Google/Google SketchUp 6/Plugins/dline2.rb;157;in `onReturn' C;/Program Files/Google/Google SketchUp 6/Plugins/dline2.rb;157
-
Works now for the Draw Helix 14 in the V6
but now it's your modification 5.0 who don't works in the Draw Helix 14 ! (V6)
I have thatvalues = [300.mm, 300.mm, 100.mm, 5.0, 24]
Error; #<ArgumentError; invalid value for Integer; "5.5"> C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;31;in `inputbox' C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;31;in `drawhelix' C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;78 C;/Program Files/Google/Google SketchUp 6/Plugins/drawhelix14.rb;78;in `call'
-
OK looks like float and string clash ?
I assume the edited line #23 is clearlyvalues = [300.mm, 300.mm, 100.mm, 5.0, 24]
with no string delimter "" or '' around anything...
Perhaps yourJLF::DrawHelix
Registry entry is screwed or locked on the last used 'intger' values?
You could delete it...
BUT unless you are confident about messing around within a PC's Registry and risking disaster... then I suggest this safer fix...
Temporarily disable reading the Registry - go to line #24
v = Sketchup.read_default(reg_key, "values")
and add a leading # so it doesn't load at all
#v = Sketchup.read_default(reg_key, "values")
If you get an error also add a temporary line after it
v=nil
Run the tool once and close SUp, then remove that # etc from the .rb and retry - it should now be using the last entered values you used which are 'float'...Also - in passing I now note that in line #36 there is
angle = 2*3.14159/sections
it would be better as
angle = 360.degrees/sections
as the over approximated value of 'pi' could produce minor inaccuracies otherwise... -
Thanks. I've made the changes and updated the download. The version works on SketchUp 6, 7, and 8 for me.
-
Thinking about the earlier registry entry potentially messing integer and float, to be on the safe side you could add this
unless v.nil? values = eval(v) values[0] = values[0].to_l values[1] = values[1].to_l values[2] = values[2].to_l values[3] = values[3].to_f values[4] = values[4].to_i end
so that older values' classes are always correctly set?
-
Had the same thought... thanks.
Advertisement