[Plugin] Shape Bender Beta
-
Don't forget that the second curve can be vertical and in fact has any 3D orientations!
-
@unknownuser said:
Don't forget that the second curve can be vertical and in fact has any 3D orientation!
Really???? Thats pretty cool! I have not tested that - at all. The way I made it work, I never implemented any z position checking, except on selecting the first line. So I suppose it makes sense that it will let you choose a curve with some z variation. Thanks for the picture!
Also, the curve doesn't have to be a curve at all. Just a series of connected lines work perfectly well too. Though they normally create some weird bendining since they are not so smooth as a true arc, or bezier curve.
Chris
-
This is a complex bend I did. It took about an hour to figure out the bend position, and about 10 minutes to finalize it. It is a 9mb car component.
the model is here:
http://sketchup.google.com/3dwarehouse/details?mid=fcfbaefff1d389ceb6b80685d8c0f2bc
-
Chris great job, i love it!
on the smoothing thing can you not manually set the angle between normals with your script when you smooth it, to be say 45deg. ? it seems to be smoothing 90deg. angles. also you could consider not smoothing at all then the user could decide if they need smoothing and at what angle. Or maybe you could read the smoothing settings of the group to be bent before you bend it and then reapply the same settings to your output.
-
@xrok1 said:
Or maybe you could read the smoothing settings of the group to be bent before you bend it and then reapply the same settings to your output.
That is what is supposed to be happening more or less. It is trying to leave all edges unchanged, except the ones that it adds when it slices the model up for the bending locations. But what happens is that if a en existing line falls exactly in the same place as where the script adds lines, it can't tell that a line was already there and sometimes it will appear to smooth existing hard edges. This is the case when the end face is lined up exactly to the end of the line.
Are you seeing it happen more often than expected? If so, could you upload a model where it is behaving poorly, thanks!
Chris
-
Hi Chris,
first of all, thank you so much for all your brilliant plugins. They are absolutely amazing.
Unfortunately, Shape Bender does not work well for me. Well, it kind of works, but I can´t keep the results,
Here is what happens:
Bild 1 - Shape selected
Bild 2 - Shape bender activated, one klick on the strait line, one klick on the curve
Bild 3 - hit enter
Bild 4 - hit enter second time
Bild 5 - hit enter third time...
Bild 6 - changed to the select tool after first time hitting enterwith each additional enter, the shape bends a little more.
am I doing something wrong?
btw: Mac OS 10.4.11, SketchUP 5 pro
anyway, I can´t thank you enough!
Jörg
-
@unknownuser said:
Are you seeing it happen more often than expected? If so, could you upload a model where it is behaving poorly, thanks!
well actually i expect it to never happen
seriously, i noticed if you unsmooth it then resmooth it after its bent that its fine, what about doing it that way in your script?
-
Hi Chris
Just a basket full of Easter eggs and thanks.
Here is one that just went by me.
When the script is executed the original shape just seemed to disappear.
HMMMMM.?
While the bend conversion does make a saved component out of the original shape it would be nice to have the shape remain in place instead of disappearing when the script is executed.Also with all your super scripts growing daily an icon set would much appreciated by all to have them at the ready 24-7.
Just a couple of thoughs for the day and thanks again for all the killer stuff you have created.
Happy Easter to alldtr
-
Chris. . .the first iteration worked like a charm. The next version. . .not so great.
All kinds of wierd results. Should I dump it and reload or what?
-
@David, your line is not lined up on the red axis in that example. I'll add a check to the system so that it will not select a line that is not on the red axis. I think that is the problem there.
@Jorg - hmm, there is a command that is called after the user hits enter to de0activate the tool. It looks like it is not being called. Could you open the Ruby Console and then run the script. It should write a lot of errors to the screen just after you hit enter. Could you copy and paste those this forum for me? I'll see if I can put in a workaround for people still on version 5. Thanks!
@xrok, smoothing in SU doesn't remember what angle/degree the smoothing was set at. The angle is used only to tell SU what lines to apply a smooth to. But it then promptly forgets what angle it was. So there is no way to find and retain that information. So I can't just implement a shape-wide smoothing at a certain degree. thing about models that have some places smoothed where the angles are at 90 degrees, and other places where the angles are flat, but they left line unsmoothed to give it a highlight. A global resmooth would break all of that. It essentially is set up to run an intersect with model on the shape. All the new lines that are created should be smoothed, and all the others should be left alone. But any line that already existed precisely where that intersection takes place, is going to be smoothed, regardless of its previous setting. Also, some faces get bent in ways that I have not figured out how to determine ahead of time. SU does some bending and adds lines on its own. Those are the lines that are not smoothed that should be smoothed. Perhaps there is a setting to have SU add them as pre-smoothed edges. That would be ideal. Otherwise I'll have to find a way to determine where SU is going to need to add breaking-lines and add them myself before SU does, so I can smooth them when I add them. I only explain it all in this detail in hopes that someone will understand the dilemma and help me find a better solution.
@dtr, thanks! I do like the idea of leaving the original component/group back where it was originally. If it was a group, I might need to convert it to a component. Is that acceptable? Perhaps not, I'm not positive. I'll play with it. It would nice in my mind too. And I do keep thinking about putting together an entire toolbar of all my scripts. I suppose I'm not opposed to it. But I would want to figure out a good way to make it so the user can selectively turn off unwanted icons while leaving others on. Maybe once I think that through all the way, I can make a comprehensive set.
Thanks everyone! Great round of suggestions. I'll probably be working on it for the next for hours if anything else comes up.
Chris
-
Hi Chris,
here is what I find in the Ruby Console after hitting enter once:Error: #<NoMethodError: undefined method
to_component' for #<Sketchup::Group:0xb2357a0>> /Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:103:in
activate'
/Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:904:inselect_tool' /Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:904 /Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:904:in
call'
Error: #<NoMethodError: undefined methodto_component' for #<Sketchup::Group:0xb22f698>> /Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:885:in
componentizer'
/Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:230:in `onReturn'and this after hitting enter a second time:
Error: #<NoMethodError: undefined method
to_component' for #<Sketchup::Group:0xb2357a0>> /Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:103:in
activate'
/Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:904:inselect_tool' /Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:904 /Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:904:in
call'
Error: #<NoMethodError: undefined methodto_component' for #<Sketchup::Group:0xb22f698>> /Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:885:in
componentizer'
/Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:230:inonReturn' Error: #<NoMethodError: undefined method
to_component' for #Sketchup::Group:0xb22f698>
/Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:885:incomponentizer' /Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:230:in
onReturn'
/Library/Application Support/SketchUp 5/Plugins/clf_shape_bender.rb:885thanks a lot!
Jörg -
oh bummer. I'm sure I can put in a workaround. It might take a little while though. I'll probably need to find a version of SU 5 to install to make the testing go faster.
If I get it fixed, I'll try to remember to PM you directly too. And I'll put a note in the first post that its not currently compatible with version 5. Thanks!
Chris
-
Chris, you don´t have to pm me, I will be on the watch . You have more important things on the list! Anyway, I can use the free version of SU 6 ore 7 to do the bending stuff.
Thank you!!!
Jörg -
here's my issue with certain rubies.. this one included.
i understand that it probably has something to do sketchup being a polygon modeler and how its curves have segments/vertexes..scene 4 though -- that gives me hope
bending_reup.skp
[EDIT] oops - the first one i uploaded had scene four drawn wrong (it was the same as scene 8).. it should be ok nowi hope the skp is pretty explanatory.. i think it's less confusing than the 5 paragraphs i had type up
-
Chris
Whatever is needed for the original to stay put would work.
Drove me crazy until I looked at the Component pulldown.Selective icons would be perfect
Maybe a universal script to access and integrate other's work???
An aside:
My wife heard your little one in the backgound on the video.
Mother's ears never rest.Cheers
dtr
-
UPDATED v0.3 beta!
0.3 Beta:: 2009-04-10
- Added a check to disable the up and down keys until the correct selections have been made.
- Added more checks to make sure that the line and curve being selected are acceptable selections. Pops up messageboxes letting you know if your selection was invalid.
- Now it leaves a component where the original group/component was located. It remains mostly untouched, but it might get a name change, and if its a group it gets changed to a component.
ok, a few more safety checks to help the selection process and now the original shape gets left in place.
Chris
-
I had accidentally uploaded my testing version. It was online for about 2 minutes. If you get an error something like "You must a single group/component before activating this plugin" when you start Sketchup, that means you got the bad copy. Just delete it and re-install with the copy that is up right now. Thanks!
Chris
Also, the idea of a universal script to control all plugin's toolbars has long been a dream of lots of people. so far it seems like a no go. I could probably get it working for just my scripts, but it would require a little bit of thinking. I know fredo has implemented something like it (plus lots more) for his scripts.
-
You might not believe this, but on my first try, I managed to find what script was breaking it...
I don't know if it's for all versions, but I know that at least the version I have is breaking it...
(drumroll)...SketchyPhysics3X. I still don't know which file in particular, but something in sketchyphysics seems to break the ability to toggle in your script.
... bad luck for me... -
The home and end keys don't seem to work either
I'll try to figure out which script might be breaking it...
The good news: when all other rubies are removed, I don't get the problem, so it MUST be another script breaking it. -
Oh bummer! Well I just PM'ed Chris Phillips, we'll see if he has any thoughts about what the problem might be and if its fixable.
The alternative is to always draw the line from right to left, and if the arc is oriented the wrong direction, just cancel out of the shape bender and scale the arc manually on the red axis. Then re-run shape bender and the curve will be oriented correctly. a litle more time consuming, but its not bad.
Chris
Advertisement