This is another ship from The Dream, like the Spirit Walk. This one has less of a backstory; let's just say it's supposed to be "only" an armed merchant, but rivals many dedicated warships. Its captain and owner is very successful, and doesn't fool around.
Out-of-universe, the Venerator was devised by GrayWolf and features in many Dream stories, with two different captains.
OpenSCAD source code, second revision as of May 2025, a year and change after the original:
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 Gatling () {
difference() {
color("silver")
cylinder(h = 2.5, d = 6, center = true, $fn=30);
color("gray")
cylinder(h = 1, d = 7, center = true);
}
color("gray")
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]) Gatling();
translate ([-10, 45, 0]) rotate ([0, 0, 60]) Gatling();
translate ([-10, -45, 0]) rotate ([0, 0, 120]) Gatling();
// Starboard
translate ([10, 0, 0]) rotate ([0, 0, -90]) Gatling();
translate ([10, 45, 0]) rotate ([0, 0, -60]) Gatling();
translate ([10, -45, 0]) rotate ([0, 0, -120]) Gatling();
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 TwinGun () {
color ("silver") rotate ([0, 90, 0]) {
cylinder(h = 1, d = 3.5, center = true, $fn=10);
translate([0, 0, -2])
cylinder(h = 1, d = 3, center = true, $fn=10);
translate([0, 0, 2])
cylinder(h = 1, d = 3, center = true, $fn=10);
// cylinder (h = 5, d = 2.5, center = true, $fn=10);
cylinder (h = 6, d = 1, center = true, $fn=10);
}
color ("gray") {
translate ([-1, 0, 0]) cylinder (h = 4, d = 0.6);
translate ([1, 0, 0]) cylinder (h = 4, d = 0.6);
}
}
translate ([0, 24, 12]) rotate ([60, 0, 0]) TwinGun();
translate ([0, 24, -12]) rotate ([120, 0, 0]) TwinGun();
translate ([0, 81, -12]) rotate ([-120, 0, 0]) TwinGun();
// 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]) {
difference() {
hull() {
cylinder(h = 20, d = 5, center=true, $fn = 10);
cylinder(h = 30, d = 3, center=true, $fn = 10);
}
cylinder(h = 40, d = 2, center=true, $fn = 10);
}
scale([1, 1, 10]) sphere(d = 3, $fn = 10);
}
}
color ("silver") {
translate ([-9, -70, 10]) Thruster();
translate ([9, -70, 10]) Thruster();
translate ([-9, -70, -10]) Thruster();
translate ([9, -70, -10]) Thruster();
}
Note: the Venerator isn't mine. Source code is provided for entertainment and education.