3
$\begingroup$

In many 2d art programs, the user can draw lines that are "locked" to certain angles, e.g. in MS Paint holding SHIFT draws only 45 or 90 degree lines.

Is there a similar function in Blender, so that I can move vertices on 45 degree lines?

I know how to move vertices so that they stay on an axis, but I want to be able to constrain the vertices to a line 45 degrees between two axes.

$\endgroup$
2
  • $\begingroup$ Although I may not have the answer to your question at the moment. I may have an addon you may want to look into. It's call tinyCAD. It has some of the feature of Autocad 2D linework tools. Check it out here wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Modeling/… together with this tool, using the method below posted by brasshat you should be experiencing relative ease in manipulating lines in Blender. $\endgroup$
    – hawkenfox
    Jan 4, 2016 at 8:20
  • 1
    $\begingroup$ I wrote mesh_tinyCAD -- unfortunately I don' think it's what @Somatic is looking for in this question. $\endgroup$
    – zeffii
    Jan 4, 2016 at 10:12

2 Answers 2

7
$\begingroup$

Constrain to Custom Transform Orientation

I usually create a simple object (e.g an empty, or a cube...), rotate its local axis and create a Custom Transform Orientation from it (Ctrl+Alt+Space).

Custom transform orientations defined from objects use the local orientation of the object whereas those defined from selected mesh elements (vertices, edges, faces) use the normal orientation of the selection.

enter image description here

Once created, the orientation can be selected in the Transform Orientation menù and called with doublepressing the axis shortcut (e.g. GXX) to limitate the vertex movement along the choosen axis.

enter image description here

$\endgroup$
0
$\begingroup$

The simplest way I know to constrain the movement is to apply basic geometrical principles. For example, consider a vertex at position x=5, y=6, and z=8. If I want to move it to a location at 45 degrees relative to the x and y axes, I will need the vertex moved to (6, 7, 8), so that the difference in the position of the new location relative to the x axis is exactly equal to the difference in the position of the new location relative to the y axis. This is most easily managed in the transform panel of the properties shelf in edit mode: in the data entry boxes named X and Y, add the same value to the value in each box. This is the simplest way I have found to move the vertex. It might seem that one could also use the G key, but because of how this key works, the movement would be relative, instead of absolute, that is to say, using the sequence G - X value to effect the movement along the x axis followed by the sequence G - Y value to effect the movement along the y axis, where value is exactly the same in both instances, may not have the desired effect. The location relative to the third axis, in this case, z, can be accomplished by adding one more step: in the data entry box named Z, add the same value to the value in that box as was added to the X and Y boxes.

This also works in object mode: you can constrain the change of location of an object by moving it the exact same distance along the x and y axes by adding the same value to the X and Y boxes in the location section of the Transform panel in the Properties shelf, and change the location to 45 degrees relative to all three axes by also changing the value in the box labeled Z.

If you're dealing with more complex elements than a single vertex, it may be necessary to use other, more advanced techniques using the rotation transformation, changing the pivot points, changing the location of the 3D cursor, or the origin, and changing the current transformation space.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .