Creating families in Sketchup

If I create a DC of say a “Window”, and someone else on the other side of the world creates exactly the same DC even down to the same attributes, formulas, geometry and file name. they would be different. This I believe is made possible by assigning data and a time stamp in some code form to some hidden attribute.(if someone knows exactly how this works then please correct me). So replacing one DC with another does not update the common attributes. Even if both are created on the same computer and placed in different folders, they swap but do not update.

Now, If I create a DC, save as say “timber window” then alter the same component and save it as “Front Door” the common attributes will update, despite the different geometry, so long as the original DC with its creation stamp remains.
It can be copied, made unique, but this group of DCs inherit some of the attributes of the first creation. We have a family
consider moulding
.Quad.skp (80.5 KB)
Scotia.skp (84.2 KB)

2 Likes

Building the primitives

It has been suggested that building starts with sticks and stones, basic elements

My concept of the basic shape in Sketchup would be the bounding box, the envelope of the object, the volume which a Dynamic Component alters in the 3 axis

so a basic shape would fill this box, so a cube, say 12x12x12 inches could be considered a basic starting point in building terms, a rock which one could manage.

Taking this size I built a series of components based on the classification system. Changing the same component and then saving it to a Primitive folder. I change the axis for Pile and footing based on the concept that they increased downwards.

As the components are derived from one, they can be swapped, the new dimensions are retain. and the Z direction of footing and pile swaps if editing a slab or wall (up & down)

One can change the inner geometry, and it will stretch to suit the changes in the scaled component.

Now we want some control over those shapes, so be place groups/ components inside. Now changing the primitive to the more complex works (the size updates), but changing a complex back to the simple does not.(in that the swap looses the overall scale and reverts back to the 12x12x12).

1 Like

So the solution is to make 3 variables to hold the length values, . I elected alenX, alenY and alenZ. and started again with the 12,12,12 inch cube, then had the LenX,LenY and LenZ reference them.

LenX=alenX, LenY=alenY,LenZ=alenZ,
This works but stops the objects from scaling via the scale tool,

You can add an option to choose a fix length or scale.
LenX=choose(aOpt,current(“lenx”),aLenX) where aOpt is a dropdown attribute of choice 1 or 2

However of course you can only swap and have the size pass to the replacement using the fixed referenced variables. The starting primitives are becoming a bit complex, not ideal, but they work. Building complex footings, doors windows walls, swap with each other and thir primitives and retain their fixed boundaries.

So my primitive footing pad can be change via input, also it can be scaled. But to swap I need to assure that the sizes after scaling match my _len values, currently I achive this using control copy and paste otherwise I work using the option input…

Maybe Sketchup could employ this technique universal (a primitive on the warehouse as a starting point of all families ) and perhaps to swap a new scaled value to the fixed aLenX,Y,Z a button could be on the option dialogue.??

1 Like