Afternoon all. I never really bothered with Dynamic Components at the time when I last used SketchUp in my daily workflow. I figured now that I’m looking to get back to using SU, that it’s worth trying out and so my first DC is to be an internal door with frame and architrave. I’ve a lot of experience making complex door & window families in Revit and I intend to use a similar approach (where possible) with the DC. The door panel’s height and width will be the main driving dimensions, and everything else should adjust with it. There is one thing which has been on my mind that I could do with a bit of confirmation of: in Revit, I could make the 2No. side jamb’s and the header jamb (architrave’s also) out of a single sweep, which is somewhat like a Follow-Me but the path and profile remain fully editable. The path is locked to individual reference planes (like guidelines) and their position (relative to the origin, or anything else in the file) can be controlled by unique parameters. My understand is that we don’t have that functionality in SU so my presumption is, that if I make the frame from a single element, I cannot control the height of the header jamb (above the Z plane) without moving the side jamb’s vertically at the same time (where I would actually want them to stretch/contract instead), therefore its probably not advisable to make the frame out of a single piece of geometry, but 3 individual pieces instead. Does that line of thinking seem correct with how DC’s operate, or have I missed out some functionality with DC’s
Unfortunately, this is not possible in Sketchup as it doesn’t share the same logic as Revit when it comes to parametric object.
In order to do the door frame, you would need to split each part of it as individual extrusion and then stretch them accordingly. What I mean is a frame needs to be done in 5 subgroups :
2 vertical extrusions (that would stretch in Z but stay fixed in X and Y)
1 horizontal extrusion (that would only stretch in X and move in Z so it stays as the top of the frame)
2 top corners (that would not stretch and stay as cubes but move in Z and X so it can complete both angles of the frame)
Unfortunately, Dynamic Components are quite archaic in that regard.
Thanks for confirming what I suspected was the case. Splitting the frame into separate parts is fine, though I suspect I’ll only need the 3 instead of 5. The header underside will be drawn on the XY plane so its height will be controlled the PosZ variable. It will also be centred on the door panel so its length will driven by something like this pseudo-formula Door_Panel_Width+2x(Frame_Width+Gap)
The side jamb positions will be similarly easy to position.
3 is fine depending on how the profile is and how realistic you’re looking to be.
If it’s square there will be no issue indeed but if if the frame profile is any kind of complex then having top corners will allow you to have proper continuity between jambs and header as if you were doing a follow me (granted you hide the edges accordingly on the corners, the top of the jambs and the sides of the header).
Sketchup don’t really extrude because it stretches so it’s something to keep in mind.
@MetalFingerz
If the DC could flex like a Revit family, I probably would have gone for that approach. It’s doubtful I’d ever need to model the squares style of architrave so for sure, mitred will be what I go with. My initial, but brief, testing of the flexing the DC with a single piece of mitred architrave suggests that no separate corner parts will be necessary, as it appears to be resize relative to the door panel width as intended, as you can see below:
From afar, it looks ok but if you measure the end angles, they will not stay at 45° with the stretches. It’s already visible in your gif (at 848, the bottom miter cut aligns with the panel but does not at 626). Sketchup scales uniformly so the angle will stretch as well unfortunately and then the jambs will not fit anymore. If you stretch to twice the default length, the angle will then be at 22.5°.
Yeah I see that now, I hadn’t noticed as I only briefly tested the slight size change before I finished up for the weekend. That’s quite disappointing and it’s making me consider just making a component for each size of door and limiting DC functionality to purely opening the panel via rotation. I’ve have tested the separate corner components and hiding collinear edges. It does seem to work fine and I haven’t seen any ghosting or Z-depth fighting from where the hidden edges are, but it’s an awful technique to have to resort to.