Scale tool
-
Is there a ruby to scale an object without distoring its proportions? Example; I would like to scale a window without changing the dimentions of the mullions. I guess it could be something like the stretch tool in autocad where you select the sides you want stretched and everything else keeps its proportions.
-
If you group your components, it's very easy to scale only the group...
I.e. if you only want to scale a window, you just group the window and then you can use the Scale tool or the Tape Measure tool... -
@frederik said:
If you group your components, it's very easy to scale only the group...
I.e. if you only want to scale a window, you just group the window and then you can use the Scale tool or the Tape Measure tool...Wouldn't that scale the frame and such as well?
I don't know of a ruby that does this, but what I would do is to make the component unique, open it for editing and simply select the edges and surfaces I want to move and move them to the position (size) required. Not too taxing, but could be simpler...
-
and because pictures are so nice
but yes, you can't do that from outside a component at the moment. the only way is indeed to make it unique and then move the parts within.
-
@plot-paris said:
and because pictures are so nice
but yes, you can't do that from outside a component at the moment. the only way is indeed to make it unique and then move the parts within.
Actually you can do it using an outside component, using TIG's XREF ruby. You make your component (if it is based on another existing component save a copy witha different name, don't forget to change the component name as well), store it "somewhere" on the machine and insert it into the model. It becomes part of the model, but whenever you make a change to the component (in the separate file, stored "somewhere" on the machine) the Xref ruby updates the component in the model. However this would not move the associated touching faces with in the model AFAIK. Anyhow, that was just a thought and more of a note than advice on the topic.
-
Perk, in case plot-paris's drawing isn't quite clear, drag a left to right selection box around the portion of the component you wish to move. This will select only the entities that fall fully within the selection box. Then use the Move tool to move the selected bits as far as you need. If you don't select the mullions, they won't be affected by the Move operation.
In some cases you may find it neccessary to make successively smaller selection areas. For example, if the spacing between mullions changes with the change in the size of the window, you might need to make a selection box that includes the mullion, move the selected stuff a bit, then make a new selection box that doesn't include the mullion and move that stuff the rest of the way.
If you make the window such that the mullions are separate components, then they can be moved as needed in the resized window.
Although not the same as your windows, the legs and rails in these pieces of furniture all started from a single component. They were resized as needed (after Make unique) for each piece of furniture.
-
I've requested this functionality from @last for some years now throughout bouts of beta testing!
How I would consider the functionality to work is that upon creation of the nested components the user can define the non scalable axis of the component. In the case of a window as exampled each of the bounding elements would need to be a separate component with each having non scalable attributes. I can personally see hundreds of applications for this functionality.
Another example might be say a grid of lights where the user might import a component containing a grid of light fittings say 3 x 2 fittings and scale them to the room. The fittings would be set as no scalable in all x,y,z axes therefore retaining their individual sizes yet the spacing obviously changes.
I do see windows as the ultimate use of this functionality though where for example a two panel window could be stratched to fit any space with the frame maintaining it's width and thinkness attributes!
Non scalable textures are also a functionality I've been pushing for a while too! Thereby any texture placed to an object (eg brick panel) doesn't scale as the component is scaled on any axis! At present one has to expode and regroup the component to effect the original texture tiling size!
-
I think the move idea explained above is neat for certain things, but not for others.
I draw a lot of custom cabinets, and I draw them as separate board pieces making up the cabinet. Each board is a component by itself. This means I can easily edit the parent component and grad a child component and move it, but the other child components are no longer "glued" to the component being moved, and hence they do not strecth while moving the one child. It also means I have to individually grab the child pieces and "stretch" them (push pull) to "touch" the side moved.
This would include doors, with maybe raised panels. Now I need to scale the cabinet in width and maybe depth, but I do not want my door stiles to change depth or width, nor do I want any of the boards to change thickness, same goes for the bevels on the raised panel.
I've attached a Cabinet with glass shelves and the right side already moved to illustrate the issue.
Advertisement