Stretching components when moving adjacent components
-
This question addresses behavior of two adjacent objects when moving a common face.
If I create a simple model: a cube attached to a rectangle this way:
- create the cube.
- on on face of the cube, draw a square, and drag the square out to form a rectangle.
- Now, I have a cube and rectangle, where the end of the rectangle is planted within one cubic face.
If I select the common cubic face, and move it, both entities...the cube and the rectangle, stay "glued" together, and the rectangle adjusts itself.
On the other hand, if I create this model, and make components of the cube and the rectangle, in the modeling process...
If I grab the common cubic face and move it, the rectangle does not move. What am I doing wrong? I believe I set the components' settings to include "glue"
I imagine this situation, where I have a shelf system. The side walls are components, and a shelf is a component.
I would like to slide the side wall to the side, and have the shelf stretch, and remain attached to the side wall. Instead, after moving the side wall, I have to grab the shelf's side face, and stretch it back to meet the inside face of the side wall. This can be a pain in anything more complicated than a simple shelf. Is there an easier way? Am I missing something ?
-
You cannot 'glue' objects together in the way you envisage.
Provided that a component is made with correctly oriented axes and it has gluing behavior set, then an instance of it will 'glue' onto the face onto which it is first inserted, or a face within a group or component-instance. If it has cutting behavior it will also cut a hole in a lone face in the same context.
However this 'gluing' only constrains the movement of that component's instance along the plane of its glued face, and it also moves it with that face.
It will not 'stretch' geometry...
-
I have frequent need to adjust the dimensions of pieces of furniture such as bookshelves. Moving the side and adjusting the length of the horizontal parts is a very quick process. Often there's joinery and other details that need to get moved, too. With a logical and thought out approach, the modifications are trivial.
You could create dynamic components in which the shelves can be stretched to fit between the sides. This will work fine. Keep in mind it uses scaling to change the length of the shelves. That would probably work just fine for your shelves but if it was a table with joinery drawn on the ends of the aprons, scaling wouldn't be the appropriate method for changing the length.
-
TIG and Dave -- Thanks for answering. Both your comments raise some side questions.
TIG: I think I probably should have used the term "Lock", although it, too, has meaning elsewhere in Sketchup. The distortion/movement experience by the un-componentized collection of lines/faces (forming the cube and rectangle) is different from the the stickyness.
Maybe the way to describe what I was after is a un-enabled future feature, that is, one which will move the face of a component (and stretching adjacent lines) ((and stretching, with those lines, the faces bounded by those lines)), if it is "LOCKED" to an adjacent surface which moves.
Dave: What I think I read into your words: The stretching that would occur with Dynamic Components would also distort by the same factor the joinery at the To-Be-Moved ends. Is that right ?
Dave & TIG (or anyone else...):
Would it be fair to say that the best mechanism for the simple side wall slide-to-the-side, is to
a. move the side wall component
b. grab each shelf (or an instance) by an end-point un-joined (that is, not by cut-back, joined bits at the end), and
c. stretch the shelf till it sits in the corresponding joinery (eg, Dado) on the side wall
?This maneuver becomes even more painful, and this is really the reason for this question, when my model morphs from
cube/rectangle ---> simple shelf ---> a cabinet with inset drawers, doors or other parts (ie, a cabinet....) ---> a collection of variants of cabinets for a wall systemIn the last case, --everything-- has to be adjusted for width, if I merely "stretch" the whole thing wider.
The same problem comes up if I craft a living space (a house, say), and move a internal or exterior wall. If I don't use components, things might move/slide easier. If I use components for their obvious advantages, I lose the "editability of the whole"
Is my thinking landing in the right place?
-
@unknownuser said:
Dave: What I think I read into your words: The stretching that would occur with Dynamic Components would also distort by the same factor the joinery at the To-Be-Moved ends. Is that right ?
Yes. So if you have an apron with tenons on the ends and you scale the length by 1.5, for example, the tenons would be 1.5x longer, too. In most cases this wouldn't be appropriate.
@unknownuser said:
Dave & TIG (or anyone else...):
Would it be fair to say that the best mechanism for the simple side wall slide-to-the-side, is to
a. move the side wall component
b. grab each shelf (or an instance) by an end-point un-joined (that is, not by cut-back, joined bits at the end), and
c. stretch the shelf till it sits in the corresponding joinery (eg, Dado) on the side wall
?In the case of a simple bookshelf, you would move the side, then you could open the shelf component for editing and use Push/Pull on the end to extend the shelf by the same distance you moved the side.
In the case of the apron with tenons on the ends, you would open the apron component for editing and drag a left to right selection box around the end including the all of the tenon and its shoulders. Then use the Move tool to move it the required distance.
@unknownuser said:
This maneuver becomes even more painful, and this is really the reason for this question, when my model morphs from
cube/rectangle ---> simple shelf ---> a cabinet with inset drawers, doors or other parts (ie, a cabinet....) ---> a collection of variants of cabinets for a wall systemIn the last case, --everything-- has to be adjusted for width, if I merely "stretch" the whole thing wider.
It shouldn't be painful at all IF you've made your model properly and you approach the process in a logical way.
I've done several video tutorials showing this. In the last one I converted this little Shaker table into this vanity table. Both pieces are fully detailed with all joinery including dovetails for the drawer boxes and pegged mortise and tenon joints at the legs.
-
Dave, could you point me to the URLs for those videos?
Looking at the before & after PNGs, the change looks like
a. splitting it apart
b. chopping off the right legs/apron
c. copying the remainder and flipping it, and
d. inserting an intervening area with topI was thinking more of a situation where I have, say for example, a breakfront/cabinet with drawers, doors and interior parts. I might want to massage it wider, and re-gauge the relative sizes of the doors and drawer fronts. Making the cabinet wider (if I am thinking this right) involves: moving the right end over; stretching all the intervening stretchers etc on the carcass and their stiles/rails; then playing with the drawers the same way. It just seems....ugly....to have to touch all that stuff.
Another example would be a plain kitchen cabinet. If I wanted to stretch it (without changing the vertical components), I have to make lots of interior adjustments, frame adjustments, and drawer adjustments. And then, if I don't like the size, or need others, I have to repeat the whole thing all over again.
Working out the workflow, or easier ways to maneuver the workflow, is my goal. I sense I am handy enough with the software, but this trick eludes me. Maybe after I look at your examples, I might catch a trick or two, new.
I'm thinking, too, that I am wanting too much from the components behavior....
-
@userquestion said:
Dave, could you point me to the URLs for those videos?
Try this one to start.
@userquestion said:
Looking at the before & after PNGs, the change looks like
a. splitting it apart
b. chopping off the right legs/apron
c. copying the remainder and flipping it, and
d. inserting an intervening area with topNot exactly
@userquestion said:
I was thinking more of a situation where I have, say for example, a breakfront/cabinet with drawers, doors and interior parts. I might want to massage it wider, and re-gauge the relative sizes of the doors and drawer fronts. Making the cabinet wider (if I am thinking this right) involves: moving the right end over; stretching all the intervening stretchers etc on the carcass and their stiles/rails; then playing with the drawers the same way. It just seems....ugly....to have to touch all that stuff.
Another example would be a plain kitchen cabinet. If I wanted to stretch it (without changing the vertical components), I have to make lots of interior adjustments, frame adjustments, and drawer adjustments. And then, if I don't like the size, or need others, I have to repeat the whole thing all over again.
Working out the workflow, or easier ways to maneuver the workflow, is my goal. I sense I am handy enough with the software, but this trick eludes me. Maybe after I look at your examples, I might catch a trick or two, new.
I'm thinking, too, that I am wanting too much from the components behavior....
I don't find it "ugly" to touch all of the components. By going through the model logically I know when I get finished the model will still be accurate. I don't find it to be a problem at all.
By correctly using components and nested components, it is all pretty easy even on complex models.
I mentioned Dynamic Components before. They could be used but in order to keep tenons the same size while changing the length of an apron, the apron would have to be made of three separate parts. The tenon on one end would get moved while the center section would get scaled. The downside is a cutlist would be full of garbage dimensions. And DCs aren't quick to make. I can easily modify an entire model before I could make the DCs to build the model in the first place.
Advertisement