Subframe now switchable between aluminium and carbon versions; TODO carbon

variant lacks its wheel leg.
This commit is contained in:
Simon Brooke 2025-09-10 18:19:03 +01:00
parent 5231893347
commit 87a0c3431e
3 changed files with 44 additions and 16 deletions

View file

@ -34,32 +34,34 @@ module hull_i() {
module hull() {
intersection() {
translate([2000,0,0])
translate([2500,0,500])
rotate([180, 90, 0])
scale([20, 16, 20])
scale([20, 15.5, 20])
rotate_extrude()
//rotate([ 0, 90, 0])
import("library/hull-volume-of-rotation.svg");
translate([-900,0, -110])
translate([-400,0, 350])
rotate([0, 90, 0])
prismoid(size1=[1100, 1000],
prismoid(size1=[900, 1000],
size2=[400, 600],
height=3000);
}
rotate([0,90,0])
translate([0,0,-2070])
translate([-500,0,-1570])
difference() {
skin(
[ellipse($fn=64,r=[350,30],center=true),
ellipse($fn=64,r=[430,340],center=true)], z=[0,1200],
[ellipse($fn=64,r=[350,30]),
ellipse($fn=64,r=[430,340])],
z=[0,1200],
slices=40,sampling="length",method="reindex");
skin(
[ellipse($fn=64,r=[344,24],center=true),
ellipse($fn=64,r=[424,334],center=true)], z=[-1,1201],
[ellipse($fn=64,r=[344,24]),
ellipse($fn=64,r=[424,334])],
z=[-1,1201],
slices=40,sampling="length",method="reindex");
}
}
hull();
hull();

View file

@ -9,7 +9,6 @@ include <SprocketGenerator2/files/Sprocket_Generator_v2_example_10.scad>
include <chainset.scad>
include <epicyclic.scad>
module subframe_cycleparts(rim=451, chainring_teeth=82, crank=140) {
// wheel
translate([0, 382, 93])
@ -30,7 +29,8 @@ module subframe_cycleparts(rim=451, chainring_teeth=82, crank=140) {
epicyclic();
}
module subframe (rim=451, chainring_teeth=82, crank=140) {
module aluminium_subframe (rim=451, chainring_teeth=82, crank=140) {
// front leg (supports cross-shaft, epicyclic, motor
translate([-25, 820, -60])
color("silver")
@ -64,5 +64,33 @@ module subframe (rim=451, chainring_teeth=82, crank=140) {
subframe_cycleparts(rim, chainring_teeth, crank);
}
/**
* this is more or less right. I need to sculpt out a depression for
* the secondary chain, and make a bracket to hold the epicyclic and
* motor.
*/
module carbon_subframe(rim=451, chainring_teeth=82, crank=140) {
translate([-25, 0, 0])
color("black")
difference() {
rotate([90, 0, 90])
linear_extrude( height=50)
polygon([[1020, 306], [680, 400], [150,408], [50, 0], [1020, 0]]);
translate([-26, 382, 93])
rotate([90,0,90])
cylinder( h=100, r=rim * 0.61);
}
subframe_cycleparts(rim, chainring_teeth, crank);
}
module subframe( structure="carbon", rim=451, chainring_teeth=82, crank=140) {
if (structure == "carbon") {
carbon_subframe(rim=rim, chainring_teeth=chainring_teeth, crank=crank);
} else {
aluminium_subframe(rim=rim, chainring_teeth=chainring_teeth, crank=crank);
}
}
// subframe( structure="carbon");
// subframe(chainring_teeth=90, crank=140);

View file

@ -4,11 +4,9 @@
// Top level final rendering
include <BentSim/Library/Velo_rider.scad>
include <subframe.scad>
include <fourbar.scad>
// include <hull.scad>
//include <hull.scad>
rotate([0, 0, 270])
translate([0, 1200, 180])