I'm using Blender to do some architectural modelling for a house. (Yes, I know Blender isn't really designed for architectural modelling, and there are probably better tools, but it's what I'm using for now.) This model is going to be "hyper-accurate" in the sense that I'm planning (hoping / trying) to have every single concrete brick and every single 2x4, 2x6, etc, modeled one way or another (although I'm drawing the line at nails and dustbunnies - not including those!) Just to give you a sense of what I mean, here's what I have so far:
For the 2x4s with square-cut ends, I created a simple cube mesh with the long-dimension along the Z-axis, and placed the object origin at the center of the 2x4 face at one end of the plank mesh (nominally at 0,0,0). I also lock the X and Y scale in the "Transform Locks" section of the object data. This allows me to place the 2x4 by using vertex snapping, and then subsequently use the scale tool to adjust the length of the 2x4 as needed, even on objects that use a linked mesh (that is, I always create new 2x4s by using Alt-D on an existing 2x4). No problem so far.
But now, I'm trying to create 2x4s with a 45-degree cut on one side, and running into difficulties getting it to work simply. Here's what I've tried:
- Create a mesh that has the expected 45-degree cut on one end. Rotations of the object (which I do often) work great. However, when I try to scale the length of the plank, the scaling also affects the cut-end disproportionately, so that it is no longer a 45-degree cut. I've tried putting the object origin at the center of both the face that is far away from the 45-degree end and the center of the face that makes the 45-degree cut - both have the same problem. I'm not looking for an explanation of why this is happening - I think I understand pretty well.
- "Locking the vertices" on the mesh by using a Mask, and also using Shape Keys, as described in this article, but this seems to be relevant only to sculpting, as when I tried it, scaling the object still deformed the 45-degree angle cut. However, I'll admit that those techniques may have been a bit over my head, so I may not have implemented them properly.
- I've created a simple 45-degree triangular object, and parented it to the 2x4, placing the triangular cap at the appropriate end of the square-end 2x4. In this case also, rotations work very well. However, scaling the parent 2x4 (to adjust its length) still affect the scale of the triangular cap, even if I lock all three scale settings for the cap, resulting in a cap that isn't 45 degrees. (Note that this is a visual effect - the numerical values of the scale setting for the triangular cap object do not change!)
- Instead of parenting the triangular cap to the 2x4, I've tried adding two constraints: Copy Location and Copy Rotation. This works, but is cumbersome because I have to do this for every cap I add. So far, this is my preferred solution.
- Skipping any kind of linking, and just representing caps as separate objects that get placed in the right spot. This will also work, but is also cumbersome because if I move or rotate or re-scale a plank, I now have to move the cap as well.
As I said above, the method I like best so far is to add the two constraints, even though it's a bit of a pain. Also, I think that technique will only work for a 45-degree cut on one end - there are some cases where I need 45 degree cuts on both ends (but not many). But being a bit of a Blender n00b, I don't want to assume that there are other better ways to achieve what I'm trying to do. Please remember my key objectives for an ideal solution (which may not be possible): I would like to end up with a single object that can be duplicated using Alt-D and that I can scale the length of the object without deforming the 45-degree angle at one or both ends. If I can't get that, I'll take the best I can find.
Thanks in advance for any and all suggestions!!