1
$\begingroup$

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:

House

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!!

$\endgroup$
  • $\begingroup$ Did you try using Boolean Modifier? $\endgroup$ – Igor Tatarnikov Aug 19 '15 at 14:37
  • $\begingroup$ No - haven't tried a Boolean modifier. At first thought, it's not clear to me how this would accomplish my goal any better than the other options I've tried. Can you elaborate? $\endgroup$ – Michael Bray Aug 19 '15 at 15:44
  • $\begingroup$ @brasshat: I'm using both. I first use G to place the 2x4 where I want it, specifically by placing the object using vertex snapping with one of the vertices that's on the face that has the object origin. That way, when I press S to scale, the end of the 2x4 that I placed (with the object origin) stays in place while the other end moves to the scale I need. $\endgroup$ – Michael Bray Aug 19 '15 at 19:37
  • $\begingroup$ Thinking about what you wrote, " ... place the 2x4 by using vertex snapping, and then subsequently use the scale tool to adjust the length of the 2x4 as needed ...". The only way this makes much sense to me is if you're trying to make the whole model using only object mode editing. If this is the case, after placing the 2x4, switch to edit mode to make the angle at the end of the 2x4. $\endgroup$ – brasshat Aug 19 '15 at 19:38
  • $\begingroup$ @brasshat: That's half-correct. I have a common mesh that I use for ALL square-cut 2x4s, no matter how "long" they are because the cross-section is always 2" x 4" (actually, 1.5" x 3.5" but who's counting)... In this way I hoped to save some memory. It works great. I thought I could do the same for the 45-degree cut 2x4s by creating a new mesh with the 45-degree cut, but that's when I ran into the scaling problem. It just doesn't work the same, and every way I've found that works has something wrong or annoying about it... that's what I'm hoping to resolve. $\endgroup$ – Michael Bray Aug 19 '15 at 19:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.