DC scaling screws with angles and such
-
DC newbie here. My first project is a DC of a double-hung window. I've learned that changing a component's len(XYZ) attribute works fine for a rectangular with square ends, but plays havoc if there's an angle or other shape on an end, such as a miter, or a half-lap, or a radius, etc. It's clear that changing a len() attribute scales the component, and that everything, including, say the miter, is stretched, resulting in unintended shapes.
This seems to me to be a major limitation. My goal for the DC was to be able to size the window component to end up with an accurate model that I could explode into a cut-list that I could build from. If I have to design the model specifically to get the DC to work, e.g. so that miters and such are in separate len() constrained components,I'm not really achieving my goal.
I'd love to see the ability to stretch a component from a middle section so the ends remain the same. Kind of like cutting a section out of the middle, stretching it, then gluing it all back together. Actually, that's probably my best option. Create a component, such as a mitered window stop, as three sub-components; two ends and a middle. Constrain the len() attributes on the end components so they stay intact, but allow at least one axis of the middle component to scale, then set their position attributes in order to glue them all back together. Whew!
I suppose it'd work, but I think my DC just became three times as complex. There's probably some way to do this with ruby, but it boggles the mind.
-
Okay, so I'm pursuing the strategy of breaking components that don't have 90-degree ends into multiple components that will scale properly. I've hidden the edges where they join, but the two joined faces do not look like one face. How do I achieve an invisible joint?
-
Invisible Joint: I used the the erase tool with the ctrl key to hide the edges. I learned that this both softens and smooths selected edges. Softening hides the edge, while smooth adjusts the shading of each adjoining face in an effort to make them look like one surface. This works with curved surfaces, but doesn't with flat surfaces.
More here: http://www.mastersketchup.com/sketchup-smooth-soft-and-hidden/
-
This is looking like a self help thread! I am no fan of DCs because of some of the limitations you have already highlighted.
Might I suggest an alternative approach... http://sketchucation.com/forums/viewtopic.php?t=17948. I don't know what the implications are for the required cutting list quantities but the plug I believe would allow you to maintain component templates which you could then stretch without the distortion you get with DCs.
Just a thought.
-
Self help indeed. Thanks for the Fredo Scale suggestion. Wow, that is quite a piece of work. Thanks Fredo.
-
one approach on the DC - create "lumber" components have a middle section and 2 ends - and the 2 ends are angled ones so you can readily compute them (as right triangles) to whatever angle or size (not both) are needed and hide the edges where they join and erase intermediate faces.
or as suggested components you can stretch using FredoScale. your usage may need both types...
lastly sometimes it's just faster to draw when you need and label them... i've found that many times the amount of time spent coding versus the repetitive drawing steps exceeds at least a year or two of just drawing it and moving on...
-
Thanks Glenn. After spending more time than it was worth, I came to the conclusion that DC wasn't going to work for me on what had become a fairly complex component. FredoScale's stretch function works very well. Although it couldn't handle stretching the entire component including it's sub-components, if I stretch the outer component, then stretch the inner components (that it couldn't handle) separately, it works fine.
Dynamic Components would be so much better if a FredoScale like stretch function were incorporated. In fact, Sketchup might consider incorporating that function as a tool.
Regards
Advertisement