fogón

← CiudadObjeto 3Dfogon/cabina-telefonica

Cabina telefónica

de fogonCC06618 bloques
Cabina telefónicaArrastrá para girarlo
// «Cabina telefónica» · gpt-6-sol (medium)
// A street phone booth: a tall narrow booth with a blue metal frame and glass panels on three sides, a small rounded roof with a white sign showing a phone handset, and inside a grey coin phone with a hanging handset and a short cord. Open front facing -y.

// Blue street phone booth, open toward -y.
const blue = "#176aab";
const blueLight = "#3189c5";
const blueDark = "#124b80";
const steel = "#82919a";
const steelLight = "#bac5c8";
const charcoal = "#303e48";

// Raised floor and threshold.
box(15, 14, 0, 32, 32, 1, blueDark);
box(17, 16, 1, 30, 30, 1, "#c9ccbf");
box(18, 16, 2, 29, 29, 2, "#e2dfce");
box(17, 14, 1, 30, 15, 2, "#e8ca66");
box(17, 14, 2, 30, 14, 2, blueDark);

// Three glazed sides. The front stays completely open.
for (let y = 18; y <= 29; y++) {
  for (let z = 6; z <= 28; z++) {
    const glint = (y === 21 || y === 22) && z > 10 && z < 27;
    const shade = glint ? "#d8f1ed" :
      rand() < 0.09 ? "#a5d7dd" : "#b9e3e5";
    set(15, y, z, shade);
    set(32, y, z, glint ? "#d2eeeb" : "#a9d6dc");
  }
}
for (let x = 18; x <= 29; x++) {
  for (let z = 6; z <= 28; z++) {
    set(x, 32, z, x === 20 || x === 21 ? "#d8eeea" : "#acd7da");
  }
}

// Chunky blue corner posts and the crisp framing around each pane.
for (const x of [15, 31]) {
  for (const y of [14, 30]) box(x, y, 2, x + 1, y + 2, 32, blue);
}
for (const x of [15, 32]) {
  for (const z of [5, 17, 29]) box(x, 17, z, x, 30, z + 1, blueLight);
  for (const y of [17, 30]) box(x, y, 5, x, y, 30, blueDark);
}
for (const z of [5, 17, 29]) box(17, 32, z, 30, 32, z + 1, blueLight);
box(17, 32, 5, 17, 32, 30, blueDark);
box(30, 32, 5, 30, 32, 30, blueDark);
box(17, 14, 29, 30, 16, 30, blue);
box(18, 14, 29, 29, 14, 29, blueLight);

// Grey wall-mounted coin phone, facing the open doorway.
box(21, 28, 12, 28, 30, 25, "#697b86");
box(22, 27, 14, 27, 27, 24, steel);
box(22, 27, 24, 27, 27, 25, steelLight);
box(23, 26, 20, 26, 26, 22, "#344a59"); // display
box(24, 25, 21, 25, 25, 21, "#b7dcca");
box(26, 26, 23, 26, 26, 23, "#e9c866"); // coin slot
for (let z = 16; z <= 19; z++) {
  for (let x = 23; x <= 26; x++) {
    set(x, 26, z, (x + z) % 2 ? "#e2e8e3" : "#4e6673");
  }
}
box(23, 26, 14, 26, 26, 14, "#354957");

// Hanging handset on the phone's left; the little cord loops below it.
box(18, 26, 16, 20, 27, 18, charcoal);
box(19, 26, 18, 19, 27, 22, charcoal);
box(18, 26, 22, 20, 27, 24, charcoal);
box(18, 25, 23, 20, 25, 24, "#637982");
box(18, 25, 16, 20, 25, 17, "#637982");
line(20, 26, 16, 20, 26, 12, 0, charcoal);
line(20, 26, 12, 21, 26, 11, 0, charcoal);
line(21, 26, 11, 23, 26, 11, 0, charcoal);
line(23, 26, 11, 24, 27, 13, 0, charcoal);

// Sign band and gently rounded, overhanging roof.
box(14, 13, 30, 33, 33, 33, blue);
box(15, 14, 34, 32, 32, 36, blueLight);
box(16, 15, 37, 31, 31, 38, blue);
box(18, 17, 39, 29, 29, 39, blueLight);
box(15, 13, 34, 32, 13, 34, "#f4ce69");

// White front sign with a bold, pixel-shaped blue phone handset.
box(17, 12, 31, 30, 12, 35, "#f6f4e7");
box(16, 12, 31, 16, 12, 35, blueDark);
box(31, 12, 31, 31, 12, 35, blueDark);
set(19, 12, 32, "#df886a");
set(28, 12, 32, "#df886a");
for (const [x, z] of [
  [21, 34], [22, 34], [21, 33], [22, 32],
  [23, 32], [24, 32], [25, 33], [26, 34], [27, 34]
]) set(x, 11, z, blueDark);
box(21, 11, 33, 21, 11, 34, blueDark);
box(27, 11, 33, 27, 11, 34, blueDark);

// Fine golden fileteado-inspired accents at the canopy corners.
for (const x of [14, 33]) {
  set(x, 13, 32, "#e7b950");
  set(x, 13, 34, "#e7b950");
}