3

I am looking for a relatively easy way to generate the following 3D graphics (In Windows, or Linux):

enter image description here

I appreciate any recommendations

  • 1
    Just the blocks or also the text and labels? What format should the result be? Any format, JPG, SVG, 3D? – Thomas Weller Jan 7 at 20:08
  • 1
    @ThomasWeller: I would like also to write the labels in the faces also – Navaro Jan 7 at 20:13
6

Since the graphic is isometric, it seems you don't need a too realistic drawing. In that case, I would use Inkscape. Inkscape it not a 3D tool, it's a 2D tool. But as you'll see you can get a 3D-like result.

Inkscape is gratis and creates vector graphics that have good quality and can be exported to pixel graphics.

  1. Create a rectangle and single click it a few times until you see these arrows:

Rectangle with modifiers

  1. Drag the right middle arrow down to make it a trapezoid.

If you want a flat look, best use an angle that is a multiple of 15°. Doing so will simplify later changes which require the same angle. Getting a multiple of 15° can be achieved by holding the Ctrl key. Remember the angle for later changes. An angle of 30° looks just right.

Trapezoid

  1. Duplicate (Ctrl+D) and flip (H) it to create the right side of a cube.

  2. Enable snapping to edges and move it until it snaps

Snapping to edge

  1. Create a square and rotate by 45°

Rotated square

Getting the correct angle is best achieved by holding the Ctrl key, which snaps every 15°.

  1. Move the sqare until it snaps to the edge of the cube

Square snapping

  1. Use resizing at right bottom corner to snap it on the other side. I find that it is quite important to use the right bottom corner. The right middle item does not snap to corners.

Resizing

  1. Resize at the top middle icon to finalize a cube

Single cube

  1. Set fill color to and adjust line weights as needed

  2. Add the text

  3. Center vertically and horizontally over a side using these alignment buttons

Centering

  1. Create two duplicates of the text (Ctrl+D)

  2. Move the duplicates to their sides and center them

Cube with labels

To get a flat look, take these steps (this was edited later, so it will not show up like this in future steps):

a) shear the left text by the same amount of degrees as you did for the rectangle:

Sheared text

b) shear the right text by the same amount in the opposite direction:

Sheared text 2

c) the most difficult part is on the top, also because there are two options. Either shear as for the left text and then rotate counter-clockwise. Or shear as for the right text and then rotate clockwise. The rotation angle is 90 minus the angle used for shearing in step 2. The effect is best observed with a number that has a flat bottom. Thus I chose the number 2. The bottom of the text should clearly aligh with the edge of the cube.

Sheared and rotated text

  1. Mark all 6 items (3 sides and 3 text) and group them (Ctrl+G) to keep the arrangement.

  2. Duplicate the cube (Ctrl+D) and move the duplicate to the next position, snapping at edges. Go from bottom to top first. In the particular example, build 4 cubes.

A pillar of 4 cubes

  1. Duplicate the whole pillar and move each copy from back to front right

Wall of cubes

  1. Duplicate the whole wall and move each copy from back to front left

Cube of cubes

  1. Change the texts

  2. Add axes and labels

Final result

The process seems slow in the beginning, but as you can see, it's quite fast in the end. The whole process took 49 minutes, including the creation of screenshots and writing this answer.

For flat axis labels, shear and rotate similarly as for the cube descriptions.

Flat look

| improve this answer | |
  • 1
    Actually there seems to be a bug with snapping to corners. Some of the cubes are a few pixels off. :-( I also noticed that Inkscape became a little slow, even with 24 cubes only (that's just 144 objects, not so much). – Thomas Weller Jan 7 at 21:03
  • 1
    It's amazing! Thank you very much for the detailed steps. – Navaro Jan 7 at 21:27
  • Yup! That's what an answer should be like! An example to us all :-) – Mawg says reinstate Monica Jan 9 at 11:30
  • 1
    @MawgsaysreinstateMonica: thanks for the kind words – Thomas Weller Jan 9 at 11:41
  • @Navaro: actually it's easier to do it in earlier steps so that the change automatically propagates to all cubes automatically. But anyway, I also did it afterwards, so it's definitely possible. It's quite late here in Germany. I put a reminder for tomorrow to add the information – Thomas Weller Jan 11 at 22:39
0

Blender

Default Object

Starts off right off the bat with a CUBE.

Tap TAB for Edit mode Hit the number 3 Click on the TOP surface the one we will extrude now.

Hit e for Extrude Press the number 2 key and ENTER which will indicate 2m in height since that is the default.

Move the UP and a new one with come forth.

After you have a few of them. enter image description here enter image description here

Now SHIFT click ALL the left sides.

Hit E for extrude. Press the number 2 key and ENTER which will indicate 2m in height since that is the default.

enter image description here

dddd

enter image description here

Using your mouse to rotate the view to the back side. SHIFT click like so. enter image description here

Now hit E for extrude. Press the number 2 key and ENTER which will indicate 2m in height since that is the default.

4x3x2

enter image description here

Sorry have to finish this later.

| improve this answer | |
  • Try the Array-Modifier three times instead of extruding. It's much more flexible. I also did it in Blender but got kinda stuck where I needed to put the text onto the cubes. How do you want to solve that? – Thomas Weller Jan 11 at 22:43
  • See i.stack.imgur.com/V0BPY.png for an example about using modifiers instead. – Thomas Weller Jan 11 at 22:49
  • Hi! could you please continue this? – Navaro Aug 2 at 12:05

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.