[Plugin] Perpendicular Face Tools (UPDATED 26-03-09)
-
and just to jump start that consensus, here's what TIG had to say earlier in the thread.
@tig said:
Circle - not so important to get 'square', but if it has few segments it'd be best if a vertex were at the lowest point in Z
-
Well, it turns out that its super simple to implement a modifier key rotation. SO I'll go ahead and do that. I tried shift and it kept rotating when I was trying to orbit and pan with shift key and middle mouse button. Alt was no good, kept opening the menu system and it was annoying to have to keep click back off of the menu.
I think I'll do the up arrow key. Thats convenient and not in use while my tool is activated.
Chris
In fact, I've pretty much got it implemented and its quite nice. I'll have the update in a little bit.
-
UPDATE! v1.2 Implemented some of the stuff we've been discussing in previous posts.
v1.2 Updates:
- Changed so that circles default to have their vertices on top and bottom, not edges.
- The up arrow key rotates the faces after they have been placed. Squares will rotate 45 degrees. Circles will rotate the angle needed to alternate between having an edge or a vertex on the top. Custom faces rotate in 90 degree increments. Helpful for fixing faces that are oriented 180 off, or that were drawn on the wrong axis.
Chris
Sorry to everyone who has been downloading every update today....3 installs in one day! Thanks for trying this script.
-
Funny sound video! A new ambiance
-
wow thanx this script should be awsome now all i need is the occasion to use it.
-
Chris, thank you very much for plugging away at this (pun intended )
I just zipped out the attached in about 2 minutes thanks to this plugin. I think I can see some neat applications for this.
-
Dave that is exactly the sort of thing I thought of using this for when I realized the new features added.
Thanks Chris, this is fantastic
-
Dylan, I was just experimenting and came up with this thing. It could be a drawer or door pull or something. I could have made the corners a bit more rounded but since I started out not knowing what I was going to draw, this is alright. The section is an ellipse and it is thicker in the middle than at the ends. Between Chris's plugin and the Skin plugin, this was all dead simple and fast work.
-
Hey, great woork. Its good to see the plugin being used!
Chris
-
sweet, the circle is working great now..
i'm starting to feel like a pest now but i can't get the rotation to work on my mac.. it doesn't bother me but some other mac users might like the rotate option (and actually, i probably will too once i find myself doing a custom profile).
the status bar says this when i'm using the script:
Click on a line-end to place a perpendicular square on it. ctrl = Use "Arbitrary Rotation"
the ctrl key on a mac (in conjunction with the mouse) triggers a right click.
-
Great tool Chris - I can see quite a few uses.
I could see this type of script speeding up the process of putting a model together from imported cad elevations. Attached is a WIP showing a model I just started to assemble from autocad parts. My process now is to make faces, rotate and snap together. I wonder if there is any chance that a divided surface might eventually take advantage of this script?
-
Hi Chris, really good tool
Just have a look :
MALAISE
-
Hmm, interesting I'll look at that cosmetic issue.
Also, is there someone on a Mac who would be able to help me find the right key for the up arrow? You would just install the little ruby attached to this message like a regular ruby. Then run sketchup. Open the ruby console and type:
load 'key_finder.rb'
After you type that, leave the ruby console open. And click back into the Sketchup window. Then press the up arrow. A message will display in the ruby console. Hopefully something like
The Key identifier is: 38
Could you please copy and paste that message back here for me?
Probably just delete the file from your plugins folder afterwards. Thanks
Chris
-
The Key idenetifier is: 63232
(that's for the up arrow)[took me a while to figure out how to open the ruby console ]
-
Excellent, thanks! I'll try to get that worked into the code tonight.
Also, I've thought about trying to make it more compatible with multiple faces. It would not be all that difficult to make it work with multiple flat faces. It would take a little bit more work to get it to work with non-planar faces. But I have a feeling that if I sat down and tried to make it work like that, I would also iron out the bug that makes the custom face tool slightly unpredictable. So maybe it would be good. But multiple planar faces would actually probably be pretty straightforward to implement.
Thanks for the help and suggestions everyone,
Chris
-
Don't the key constants work? It seems like the most portable solution.
-
Well, yes. But I would nee dot figure out how to use those
Also, I didn't spend a lot of time with them because I wanted to use the up arrow key, which it seems is not supported with the key constants.
Have any hints how to you use those and which is best? I like ctrl on the PC, but it apparently conflict on the Mac.
Chris
-
Well, then we woo nee dot show lkie tihs.
if key == VK_UP # do this end
-
@chris fullmer said:
I like ctrl on the PC, but it apparently conflict on the Mac.
actually, i'm not quite sure ctrl would conflict..
ctrl is used with some other tools:cmd-ctrl-leftclick = orbit
shift-ctrl with the eraser = unsoften/unsmoothi was just saying earlier that it's generally used for right clicking if you use apple's one button mouse.
with the orbit example, i can ctrl-leftclick and get the context menu or i can add the command key and start orbiting.. i'm guessing it won't be a problem to use ctrl for the rotate function in your script and besides, it would probably be nicer to have a key on the left side of the keyboard instead of the right..
is there anyway i can test a ruby with a ctrl modifier to see if it works on a mac?
-
@jim said:
Well, then we woo nee dot show lkie tihs.
> if key == VK_UP > # do this > end >
I am a bad typer and a fast typer.....they don't go together well!
Thanks for the tip Jim. Is there a way to list all the constants? I tried constant_variables (like global_variables does for globals), but thats not it. Is there a variable that contains all the initialized constants?
Chris
Advertisement