[Plugin] WireTool (Catenary) (1.4.1) – updated 06.03.2013
-
@dave r said:
So why don't I have this same problem? I didn't modify the script and it works fine for me.
Which version are you using?
initial version works fine for me, updated version moves to origin. -
That would explain it. I didn't catch that there was an update because the thread title wasn't edited to show that as is SOP here.
-
So now I've updated the plugin and added the line as mentioned. I get some rather strange behavior now. See the video.
[flash=420,315:13s7e1sa]http://www.youtube.com/v/7IJXmgk8lio?version=3&hl=en_US[/flash:13s7e1sa]
-
I have the original version [that works] if anyone wants it...
-
I guess I'd be interested.
-
I would very much like to have it if it makes rope. I tried it but got results like Dave shows in the video.
-
That apparently fixed it. Thank you.
-
This is very cool! Thank you!
Edited to add- This is REALLY cool! I was just messing around with it and it works great for something I was making. THANKS!
-
Tools normally don't have weird behavior without reason. Running it with the Ruby console open gives often more definable results.
So I found and fixed an unobvious bug with the translations that stirred up all methods and I changed that the x-width of segments is variable to give always the same segment length. -
Great Thanks.
There was another catenary tool (and other geometric curves too) here:
http://forums.sketchucation.com/viewtopic.php?t=41310I needed to make them like this though.
See below however, the first segment is much longer and they become smaller as they go on the curve:
-
@Michaelv: Thanks for noticing this! It was not much visible with little sagging (110%) but with big sagging. Sorry that it took some time (it's not easy to do math with curve lengths).
I fixed it now.I also thought about the problem and find that the corners/endpoints a even less noticeable when I use equal angles between the segments. If you prefer equal segment lengths, you can change the parameter
@@segments_distribution_mode
to 1 inside the script. -
Thanks!
A nice option (but I can do it when I get a minute) would be for the start to start either like you did (wire) or horizontal )like a cable that's more rigid, yet supported by posts.
Toggle with alt/optionI think all it takes is force the angle at point of attachment to be horizontal, and the equation would take care of the rest. But maybe not.
Never mind, I looked at it and the equation as it stands is for tension always parallel to the tangent of the curve, thus deflection equations (with rigidity, etc..) at the boundary would have to be used until that is the case. too complicated for the time being.Danke Shoen!
-
Might also be cool to work with for line art!
-
Minor update (1.4.0):
- converted it into a SketchUp Extension (that you can turn on/off)
- added icons and cursor
Please remove older version if you update.
-
Thanks for the update!!
This is the spanish language:
%(#FF0000)["es" => {
"Draw Wires" => "Dibujar Cables",
"Catenary" => "Catenaria",
"Tool to draw catenary curves." => "Herramienta para dibujar curvas catenarias."
"Arc Length" => "Longitud Arco",
"Segments" => "Segmentos",
"Distance" => "Distancia",
"Select first end" => "Selecciona Primer Final",
"Select second end" => "Selecciona Segundo Final"
},]
You can to include in the next version.EDIT: On Mac the icon doesn't show but I have added the line below in the end of the WireTool.rb file and now it shows:
%(#FF0000)[UI::Toolbar.new(@@translate["Draw Wires"]).add_item(cmd)]
-
Thanks!
-
I notice that you specify a length you always got a approximation, not the desired length.
-
That has two reasons: SketchUp has no curves and like arcs, the length of these catenary curves isn't the sum of the segments.
The other reason is that the numerical algorithm needs many many more iterations to reduce the bulge if the curve is almost straight (100% should theoretically give a straight line). I'm working on improving this. -
Good work by the way, a useful one.
-
Just to give you an idea: I increased the number of iterations (at every mouse move) from 10 to 150 and the overlength is still half of what it was before (and 150 iterations is far too much). But at least I know which part to optimize.
Advertisement