[Plugin] Scale2Face.rb
-
Hi all,
I have a collection of groups and components, they are in different dimensions and different shapes, and I want them to become taller or shorter in the way of scaling by z, so that all the grp/compo will have a certain height defined by the target face I gave. Actually I hope the target face is not only a flat face, but also some slope or curve face or a face collection, I think this script may have some relationship with the drop.rb, but I am not sure if it's easy to write.I wish someone can help me on this!
Many thanks for taking care no matter it's solved or not!
-
Check out FredoScale. In particular, the "scale to target" and "stretch to target" modes.
-
wow TIG nice one, and good idea, that couldve saved me some time a couple projects ago
-
Very cool indeed!!! Just wondering TIG; will this script work when you want to extend a wall top to a sloping roof for instance?
-
@tig said:
Here's a Ruby that'll do it [please change the original post's title to [Plugin]...]
. scale2face.rb
Usage: Select a face and some groups/component-instances that are
located below that face.
Pick 'Scale2Face' off the Plugins Menu or type scale2face in the Ruby
Console.
Unacceptable selections produce error dialogs.
The selected items will be
scaled upwards [in the Z] until their CLs meet the face.
If items CLs do not intersect with the face then they are not scaled
and there's a closing message...
Any intermediate faces etc are ignored and the scaling passes through
them.
It has a one step un-do.To Do: Alternative orientations not just the UP in Z.
TIG,
I have to say you are great! It's not the first time that my request answered by you quickly,
your describe for the script is what exactly what I am searching for, and even more that I didn't image.
I changed the title of this thread and tested the script, but some unexpected results comes,
the items were not scaled correctly, I think there must be some difference happens between our system condition,
do you remember the 'lines2component.rb' last time you write? I found nearly the same thing happened this time. -
su30
What's the nature of the problem you are having ? I quickly churned out this first version... It might be buggy. Are you components originally drawn so that their eventual Z is the model Z etc ? Please try it using a simple box component (say 500x500x1000mm high and see if that [or several copies] scales up to a selected face ? Because the component instance is stretched up in the Z it must be consistent in its XY cross-section, otherwise it will distort... If you want to keep the base detail unchanged and simply want the top faces of the instances' to stretch up [with the base detail remaining unchanged] then the script would need to make each instance 'unique' and then change its definition - finding its top face and then using '.move!' on it to relocate it up at the face-intersect Z to suit...
Please feedback - I don't like flaky scripts out there with my name on...
-
TIG
I used the script and followed the steps, but this happened every time,
this is the feed back, please check the picture bellow:
-
su30
I'm getting the exact same problems ! I didn't before - I am investigating...
-
Version 1.1 is here...
http://forums.sketchucation.com/viewtopic.php?p=173374#p173374
Fixed the glitch [I think]...
Code was all messed up somehow !!! -
TIG
Here is a simple feedback of the script,
scale items to a single slope.
It works pretty fine with the boxes in group and component,
but a little problem with 'Bryce', a face camera component.
picture followed...
-
This is another test for v1.1
groups, components, single slope
components are in different x,y,z position, and in different x,y,z scale,
it proves good with these items.
now the plugin works when only 1 face was selected, I don't know if it is possible to do it on multi faces or curve face,
maybe you have already worked on it, TIG.
Sorry that I can't reply on time because the time difference...
-
I have considered multiple faces and have a draft almost ready...
I don't know why 'Bryce' fails - I suspect it's because the face was originally draw flat on the Z plane and then tilts up to 'face-me' ? I'll look at it...
In passing: I've also got an early draft for a 'Stretch2Face' Ruby that takes works with groups and faces; the topmost vertices of any vertical faces in the group get moved up to snap onto the face(s) selected - that way you could easily stretch the top of a wall face up to the underside of a sloping or even curved roof ?
Thanks for the feedback, any other ideas or problems please let me know...
-
yes I am looking forward for the multi_face version
this script will be very efficiency while editing a big amount of components, and I think it is promising.
thank you TIG for the excellent work!
-
TIG, I am wondering if you have some process script I can have a try?
still watching this ^_^ -
Very busy - maybe next week ?
-
Hi All
Didier's [Project_faces_vector.rb] will put selected face on inclined plane.
Just draw a reference line vector in the direction wanted for projection path.dtr
-
-
Great Plugin btw,
Just wondered if there are any developments of a version that takes into account a sloped surface instead of a flat plane?Many thanks
-
@j_forrester said:
Great Plugin btw,
Just wondered if there are any developments of a version that takes into account a sloped surface instead of a flat plane?Many thanks
Ditto.
I think this would be neat!!! -
TIG,
Tried and tested.
Works absolutely perfect! Many thanks this will be a great help.
Advertisement