fogón

← BásicoObjeto 3Dfogon/baul-militar

Baúl militar

de fogonCC033861 bloques
Baúl militarArrastrá para girarlo
// «Baúl militar» · gpt-6-sol (medium)
// Footlocker («Baúl militar»).

// Military footlocker: dark painted wood, olive lid, brass hardware.
const dark = "#202d26";
const shadow = "#17251f";
const body = "#344535";
const olive = "#506044";
const light = "#687753";
const brass = "#a88a50";
const brassLight = "#ccb074";
const brassDark = "#725e39";

// Base and solid body.
box(7, 12, 0, 41, 36, 2, shadow);
box(6, 11, 2, 42, 37, 23, dark);
box(8, 10, 4, 40, 11, 21, body);
box(6, 13, 4, 7, 35, 21, body);

// Recessed panels and horizontal wood grain.
box(10, 9, 6, 38, 9, 20, "#3b4c38");
box(10, 9, 7, 38, 9, 8, "#293b2e");
box(10, 9, 18, 38, 9, 19, "#465740");
box(5, 15, 6, 5, 34, 20, "#3b4c38");
for (const z of [6, 12, 18]) {
  box(9, 9, z, 39, 9, z, "#26372b");
  box(5, 14, z, 5, 35, z, "#28382c");
}

// Heavy corner posts and bottom rim.
for (const x of [6, 40]) {
  box(x, 9, 2, x + 2, 11, 23, dark);
  box(x + 1, 9, 4, x + 1, 9, 19, "#3f503b");
}
box(5, 12, 2, 7, 36, 23, dark);
box(8, 9, 2, 39, 10, 4, "#26372a");
box(6, 12, 2, 7, 36, 4, "#27352a");
box(39, 9, 2, 41, 36, 4, "#26352a");

// Lid: deep dark seam, projecting lip, and broad olive top.
box(5, 9, 22, 43, 38, 24, shadow);
box(5, 9, 24, 43, 38, 27, "#43543b");
box(6, 10, 27, 42, 37, 29, "#61714e");
box(8, 12, 29, 40, 35, 29, light);
box(5, 9, 24, 43, 9, 26, "#394a35");
box(5, 10, 27, 43, 10, 27, "#77845b");
box(5, 11, 27, 5, 37, 27, "#77845b");
box(7, 10, 23, 41, 10, 23, "#1b2922");

// Top perimeter and two raised metal runners.
box(7, 12, 30, 41, 12, 30, "#43563d");
box(7, 35, 30, 41, 35, 30, "#465940");
box(8, 13, 30, 8, 34, 30, "#465940");
box(40, 13, 30, 40, 34, 30, "#465940");
for (const x of [12, 37]) {
  box(x, 13, 30, x + 1, 34, 30, "#374b39");
  box(x, 15, 31, x, 32, 31, "#78845c");
  for (const y of [16, 25, 32]) {
    set(x, y, 32, brassDark);
    set(x, y, 33, brass);
  }
}

// Slightly mottled painted surfaces.
for (let i = 0; i < 170; i++) {
  const x = 10 + Math.floor(rand() * 29);
  const y = 14 + Math.floor(rand() * 20);
  if (get(x, y, 29)) set(x, y, 30, rand() < 0.55 ? "#71805a" : "#586a4b");
}
for (let i = 0; i < 95; i++) {
  const x = 11 + Math.floor(rand() * 27);
  const z = 5 + Math.floor(rand() * 15);
  if (get(x, 9, z)) set(x, 8, z, rand() < 0.5 ? "#46563d" : "#2f402f");
}

// Weathered white painted cross on the lid.
const white = "#e5e5ce", whiteShade = "#cbd2bb";
box(22, 20, 30, 26, 30, 30, white);
box(18, 23, 30, 30, 27, 30, white);
box(22, 19, 30, 24, 21, 30, whiteShade);
box(25, 28, 30, 27, 30, 30, whiteShade);
set(17, 24, 30, whiteShade);
set(30, 26, 30, whiteShade);
set(21, 28, 30, whiteShade);
set(27, 22, 30, whiteShade);

// Front reinforcing straps and three hanging brass hasps.
for (const x of [11, 26, 39]) {
  box(x, 8, 19, x + 2, 9, 25, brassDark);
  box(x, 7, 20, x + 1, 7, 25, brass);
  box(x, 7, 23, x, 7, 25, brassLight);
  box(x, 8, 14, x + 1, 9, 19, brass);
  box(x + 1, 7, 15, x + 1, 7, 18, brassLight);
  set(x, 6, 18, brassDark);
  set(x + 1, 6, 19, brassLight);
}

// Central lock plate, clasp and lower catch.
box(21, 7, 9, 32, 8, 12, "#27352b");
box(23, 6, 10, 30, 7, 13, brassDark);
box(24, 5, 11, 29, 5, 12, brass);
box(26, 4, 11, 27, 4, 13, brassLight);
box(24, 5, 9, 29, 5, 9, "#d3bd86");
box(25, 6, 14, 28, 7, 18, "#405038");
box(26, 5, 16, 27, 5, 18, brassLight);
for (const x of [22, 31]) {
  set(x, 7, 8, brass);
  set(x, 7, 14, brass);
}

// Brass rivets at the corners and along the lower front.
for (const x of [7, 10, 38, 41]) {
  for (const z of [4, 11, 20]) {
    set(x, 8, z, brassDark);
    set(x, 7, z, brass);
  }
}
for (const x of [14, 19, 35]) set(x, 8, 4, brass);

// Visible left end: chunky frame and raised U-shaped carrying handle.
box(4, 14, 4, 5, 16, 21, "#27362a");
box(4, 33, 4, 5, 35, 21, "#27362a");
for (const y of [17, 32]) {
  box(3, y, 12, 4, y + 2, 16, brassDark);
  set(2, y + 1, 16, brass);
  set(3, y + 1, 17, brassLight);
}
line(2, 19, 12, 2, 30, 12, 1, brassDark);
line(2, 19, 13, 2, 22, 10, 1, brass);
line(2, 27, 10, 2, 30, 13, 1, brass);
box(2, 22, 9, 2, 27, 10, "#b7985d");
for (const y of [15, 34]) {
  for (const z of [5, 19]) set(4, y, z, brass);
}

// Tiny lid scuffs and dark bolt heads.
for (let i = 0; i < 27; i++) {
  const x = 14 + Math.floor(rand() * 21);
  const y = 14 + Math.floor(rand() * 20);
  if (x < 18 || x > 31 || y < 19 || y > 30) {
    set(x, y, 30, rand() < 0.6 ? "#4a5c42" : "#89916b");
  }
}