Added a motor -- actually in the epicyclic file, which isn't right, but...

This commit is contained in:
Simon Brooke 2025-09-15 15:57:57 +01:00
parent 87a0c3431e
commit 3b90a2e4d5
4 changed files with 154 additions and 21 deletions

View file

@ -23,28 +23,33 @@ module subframe_cycleparts(rim=451, chainring_teeth=82, crank=140) {
rotate([90, 0, 90])
translate([660, 180, -40])
chainset( teeth=chainring_teeth, crank=crank);
rotate([0,90,0])
translate([-93, 900, 24])
epicyclic();
translate([-60, 900, 24])
epicyclic();
rotate([0,90,0])
translate([-190, 900, -22])
motor();
}
module aluminium_subframe (rim=451, chainring_teeth=82, crank=140) {
// front leg (supports cross-shaft, epicyclic, motor
translate([-25, 820, -60])
translate([-25, 820, -50])
color("silver")
cube([50, 25, 366]);
cube([50, 25, 356]);
// bottom bracket leg
translate([-25, 680, -90])
translate([-25, 680, -50])
color("silver")
cube([50, 25, 443]);
cube([50, 25, 413]);
// wheel leg
translate([-100, 345, -111])
translate([-100, 345, -50])
rotate([0, 7, 0])
color("silver")
cube([25, 75, 519]);
cube([25, 75, 458]);
// front upper
translate([-25, 1100, 200])
rotate([70, 0, 0])
@ -56,30 +61,70 @@ module aluminium_subframe (rim=451, chainring_teeth=82, crank=140) {
color("silver")
cube([50, 25, 529]);
// rear leg
translate([-25, 0, 0])
rotate([-23, 0, 0])
translate([-25, 0, -50])
rotate([-20, 0, 0])
color("silver")
cube([50, 25, 485]);
cube([50, 25, 525]);
// boltdown flange
color("grey")
translate([0, 0, -50])
linear_extrude(height=2.5)
polygon([[-50, 0], [-100, 345],
[-100, 415], [-50, 700],
[-50, 850], [50, 850],
[50, 625], [-40, 625],
[-40, 150], [50, 150],
[50, 1070], [50, 0]]);
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.
* this is more or less right. The corners of the epicyclic/motor
* bracket should be rounded, and there should be fillets along
* every concave join between carbon parts
*/
module carbon_subframe(rim=451, chainring_teeth=82, crank=140) {
translate([-25, 0, 0])
color("black")
color("black", 0.9)
difference() {
rotate([90, 0, 90])
linear_extrude( height=50)
polygon([[1020, 306], [680, 400], [150,408], [50, 0], [1020, 0]]);
polygon([[1020, 306], [680, 400], [150,408], [0, -50], [1020, -50]]);
translate([-26, 382, 93])
rotate([90,0,90])
cylinder( h=100, r=rim * 0.61);
translate([-26, 825, 25])
cube([150, 150, 200]);
translate([-26, 625, 25])
cube([10, 200, 150]);
}
// wheel leg
translate([-94, 345, -50])
rotate([0, 7, 0])
color("black")
cube([25, 75, 458]);
// epicyclic support
color("black")
translate([-47, 890, 25])
difference() {
cube([140, 100, 200]);
translate([2.5, -2.5, -2.5])
cube([135, 100, 205]);
}
// boltdown flange
color("black")
translate([0, 0, -50])
linear_extrude(height=2.5)
polygon([[-50, 0], [-100, 345],
[-100, 415], [-50, 700],
[-50, 850], [50, 850],
[50, 650], [-40, 650],
[-40, 150], [50, 150],
[50, 1070], [50, 0]]);
subframe_cycleparts(rim, chainring_teeth, crank);
}
@ -92,5 +137,5 @@ module subframe( structure="carbon", rim=451, chainring_teeth=82, crank=140) {
}
}
// subframe( structure="carbon");
// subframe( structure="aluminium");