This is another ship from The Dream, similar to the Spirit Walk. This one has less of a backstory; let's just say it's supposed to be "only" an armed merchant, but it rivals many dedicated warships. Its captain and owner is very successful, and doesn't fool around.
OpenSCAD source code, first version as of April 2024:
module MainBody() {
rotate ([-90, 0, 0])
cylinder (h = 120, d = 10, center = true);
translate ([0, 60, 0]) sphere (d = 10);
translate ([0, -60, 0]) sphere (d = 10);
}
// Central section
color ("silver") hull () {
translate ([5, 0, 0]) MainBody();
translate ([-5, 0, 0]) MainBody();
}
color ("gray") {
translate ([0, -15, 0]) cube ([1, 75, 15], center=true);
}
module CargoBay () {
cube ([10, 14, 19], center = true);
cube ([9, 15, 19], center = true);
cube ([9, 14, 20], center = true);
}
// Cargo bays
color ("darkseagreen") {
translate ([0, 10, 0]) CargoBay();
translate ([0, -10, 0]) CargoBay();
translate ([0, -30, 0]) CargoBay();
}
module Turret () {
color ("silver") {
cylinder (h = 2.5, d = 6, center = true, $fn=30);
cylinder (h = 3.5, d = 3, center = true, $fn=15);
}
color ("gray") rotate ([-90, 0, 0])
cylinder (h = 6, d = 1);
}
// Port
translate ([-10, 0, 0]) rotate ([0, 0, 90]) Turret();
translate ([-10, 45, 0]) rotate ([0, 0, 45]) Turret();
translate ([-10, -45, 0]) rotate ([0, 0, 135]) Turret();
// Starboard
translate ([10, 0, 0]) rotate ([0, 0, -90]) Turret();
translate ([10, 45, 0]) rotate ([0, 0, -45]) Turret();
translate ([10, -45, 0]) rotate ([0, 0, -135]) Turret();
module DivingPlane () {
color ("gray") scale([0.2, 1, 1])
cylinder (h = 5, r1 = 3, r2 = 2);
}
// Fore
translate ([7.5, 70, 0])
rotate ([0, 90, 0]) DivingPlane();
translate ([-7.5, 70, 0])
rotate ([0, -90, 0]) DivingPlane();
// Aft
translate ([7.5, -70, 0])
rotate ([0, 90, 0]) DivingPlane();
translate ([-7.5, -70, 0])
rotate ([0, -90, 0]) DivingPlane();
module BridgeWindowHole () {
translate ([0, 7.5, 0])
cube ([1.5, 5, 2], center = true);
}
// Front section
union () {
difference () {
color ("silver") hull () {
translate ([0, 30, 7.5])
sphere (d = 15, $fn=30);
translate ([0, 30, -7.5])
sphere (d = 15, $fn=30);
translate ([0, 85, 7.5])
sphere (d = 15, $fn=30);
translate ([0, 75, -7.5])
sphere (d = 15, $fn=30);
}
// Open decks
color ("darkseagreen") translate ([0, 56, 6])
cube ([18, 36, 2], center = true);
color ("darkseagreen") translate ([0, 53, -6])
cube ([18, 30, 2], center = true);
// Bridge windows holes
color ("gray") translate ([0, 85, 7.5]) {
BridgeWindowHole();
rotate ([0, 0, 15])
BridgeWindowHole();
rotate ([0, 0, -15])
BridgeWindowHole();
rotate ([0, 0, 30])
BridgeWindowHole();
rotate ([0, 0, -30])
BridgeWindowHole();
}
}
// Bridge windows
color ("turquoise") translate ([0, 85, 7.5])
sphere (d = 14, $fn=30);
// Inner hull
color ("silver") translate ([0, 55, 0])
cube ([12, 40, 20], center = true);
// Exposed bulkheads
color ("darkseagreen") translate ([0, 45, 0])
cube ([14, 1, 15], center = true);
color ("darkseagreen") translate ([0, 55, 0])
cube ([14, 1, 15], center = true);
color ("darkseagreen") translate ([0, 65, 0])
cube ([14, 1, 15], center = true);
// Port
color ("silver") translate ([-7.5, 77, 3])
scale ([1, 3, 1]) sphere (d = 2, $fn = 10);
color ("silver") translate ([-7.5, 73, -3])
scale ([1, 3, 1]) sphere (d = 2, $fn = 10);
// Starboard
color ("silver") translate ([7.5, 77, 3])
scale ([1, 3, 1]) sphere (d = 2, $fn = 10);
color ("silver") translate ([7.5, 73, -3])
scale ([1, 3, 1]) sphere (d = 2, $fn = 10);
}
module Gun () {
color ("silver") rotate ([0, 90, 0]) {
cylinder (h = 5, d = 4.5, center = true, $fn=15);
cylinder (h = 6, d = 3, center = true, $fn=15);
}
color ("gray") {
translate ([-1, 0, 0]) cylinder (h = 5, d = 0.8);
translate ([1, 0, 0]) cylinder (h = 5, d = 0.8);
}
}
translate ([0, 25, 12]) rotate ([45, 0, 0]) Gun();
translate ([0, 25, -12]) rotate ([135, 0, 0]) Gun();
translate ([0, 80, -12]) rotate ([-135, 0, 0]) Gun();
// Rear section
color ("silver") {
hull () {
translate ([0, -50, 7.5]) sphere (d = 15, $fn=30);
translate ([0, -50, -7.5]) sphere (d = 15, $fn=30);
translate ([0, -80, 7.5]) sphere (d = 15, $fn=30);
translate ([0, -80, -7.5]) sphere (d = 15, $fn=30);
}
translate ([0, -80, 3])
cylinder (h = 3, d = 18, center = true, $fn=30);
translate ([0, -80, -3])
cylinder (h = 3, d = 18, center = true, $fn=30);
}
module Thruster () {
rotate ([90, 0, 0]) {
hull () {
cylinder (h = 30, d = 5, center=true, $fn = 10);
cylinder (h = 40, d = 3, center=true, $fn = 10);
}
}
}
color ("silver") {
translate ([-7.5, -70, 10]) Thruster();
translate ([7.5, -70, 10]) Thruster();
translate ([-7.5, -70, -10]) Thruster();
translate ([7.5, -70, -10]) Thruster();
}
Note: the Venerator isn't mine. Source code is provided for entertainment and education.