Added a motor -- actually in the epicyclic file, which isn't right, but...
This commit is contained in:
parent
87a0c3431e
commit
3b90a2e4d5
|
@ -6,6 +6,22 @@
|
||||||
|
|
||||||
include <SprocketGenerator2/files/Sprocket_Generator_v2_example_10.scad>
|
include <SprocketGenerator2/files/Sprocket_Generator_v2_example_10.scad>
|
||||||
|
|
||||||
|
// based on this motor here, which is affordable and has a ratchet:
|
||||||
|
// https://www.amazon.co.uk/L-faster-Solution-Sprocket-Brushless-Bicycle/dp/B0DCJXV53J/ref=sr_1_275?dib=eyJ2IjoiMSJ9.yUQgRnT20RtAyVb3Decqam4igr7b-1ZoqiviQunNV5DUW73JKvlMfEIZgM3tt3iVQEIV1sDAZ-ZpMznFrqKJoeIGMNBcdyoG_M1vll2XL0GSe87XzbNFjGDpbjE_er-29ncEjr1VioaOmFmC11qAdpYkyhK9n7FrmW3yGSal16k.vMbZrXAMFNJMrFCIivuP6dMH7HyGRdm1qb5VDsBz8eM&dib_tag=se&marketplaceID=A1F83G8C2ARO7P&qid=1757944297&s=merchant-items&sr=1-275&xpid=993o6gj7HOOMv&th=1&psc=1
|
||||||
|
module motor () {
|
||||||
|
translate([0,0, 35])
|
||||||
|
color( "silver")
|
||||||
|
cylinder(h=75, r=50);
|
||||||
|
|
||||||
|
translate([0,40, 5])
|
||||||
|
color( "silver")
|
||||||
|
cylinder(h=32, r=42);
|
||||||
|
|
||||||
|
translate([0,40,0])
|
||||||
|
color( "grey")
|
||||||
|
sprocket( teeth=16, roller=7.9, pitch=12.7);
|
||||||
|
}
|
||||||
|
|
||||||
module epicyclic (olnd=135, disc=1) {
|
module epicyclic (olnd=135, disc=1) {
|
||||||
|
|
||||||
body_width=116;
|
body_width=116;
|
||||||
|
@ -37,10 +53,16 @@ module epicyclic (olnd=135, disc=1) {
|
||||||
color("grey")
|
color("grey")
|
||||||
sprocket(teeth=20, roller=7.9, pitch=12.7);
|
sprocket(teeth=20, roller=7.9, pitch=12.7);
|
||||||
|
|
||||||
|
// secondary chain sprocket
|
||||||
translate([0, 0, 0 - ((body_width/2) - spoke_flange_width)])
|
translate([0, 0, 0 - ((body_width/2) - spoke_flange_width)])
|
||||||
color("grey")
|
color("grey")
|
||||||
sprocket(teeth=30, roller=7.9, pitch=12.7);
|
sprocket(teeth=30, roller=7.9, pitch=12.7);
|
||||||
|
|
||||||
|
// motor chain driven sprocket
|
||||||
|
translate([0, 0, 0 - ((body_width/2) - (spoke_flange_width + 10))])
|
||||||
|
color("grey")
|
||||||
|
sprocket(teeth=30, roller=7.9, pitch=12.7);
|
||||||
|
|
||||||
// disc brake, if present. TODO: details of disc spider
|
// disc brake, if present. TODO: details of disc spider
|
||||||
if (disc==1) {
|
if (disc==1) {
|
||||||
translate([0, 0, (olnd/2) - 7])
|
translate([0, 0, (olnd/2) - 7])
|
||||||
|
@ -50,4 +72,7 @@ module epicyclic (olnd=135, disc=1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// rotate([90, 0, 0])
|
// rotate([90, 0, 0])
|
||||||
// epicyclic();
|
// epicyclic();
|
||||||
|
|
||||||
|
// rotate([90, 0, 0])
|
||||||
|
// motor();
|
63
model/library/hull-volume-of-rotation.svg
Normal file
63
model/library/hull-volume-of-rotation.svg
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="297mm"
|
||||||
|
height="210mm"
|
||||||
|
viewBox="0 0 297 210"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="hull-volume-of-rotation.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="0.50394254"
|
||||||
|
inkscape:cx="131.95949"
|
||||||
|
inkscape:cy="174.62308"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1011"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="32"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="mm"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458334"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.1"
|
||||||
|
d="m 23.010024,118.78383 c -0.0218,15.99707 0.0998,31.5583 -1.24345,43.92315 -1.34323,12.36484 -1.87118,17.12578 -5.73833,30.14347 -1.93357,6.50885 -5.30724,11.51286 -8.8115205,14.05866 -3.50427,2.54582 -7.1378,2.63405 -7.1378,2.63405 l -0.002,-0.13776 c 2.56796,-0.2029 5.10944,-1.20587 7.0444,-2.65053 3.4542205,-2.57896 6.8451705,-7.51384 8.7695205,-13.99166 3.84872,-12.95561 4.37415,-17.69387 5.71098,-29.99976 1.33683,-12.30591 1.21578,-27.79296 1.23752,-43.71376 0.0109,-7.9604 -1.14064,-50.760677 -1.42478,-52.560758 l 0.26814,0.0303 c 0,0 1.34926,36.267528 1.32741,52.264598 z"
|
||||||
|
id="path3"
|
||||||
|
sodipodi:nodetypes="zzssccsszsccz" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
|
@ -23,28 +23,33 @@ module subframe_cycleparts(rim=451, chainring_teeth=82, crank=140) {
|
||||||
rotate([90, 0, 90])
|
rotate([90, 0, 90])
|
||||||
translate([660, 180, -40])
|
translate([660, 180, -40])
|
||||||
chainset( teeth=chainring_teeth, crank=crank);
|
chainset( teeth=chainring_teeth, crank=crank);
|
||||||
|
|
||||||
rotate([0,90,0])
|
rotate([0,90,0])
|
||||||
translate([-93, 900, 24])
|
translate([-60, 900, 24])
|
||||||
epicyclic();
|
epicyclic();
|
||||||
|
|
||||||
|
rotate([0,90,0])
|
||||||
|
translate([-190, 900, -22])
|
||||||
|
motor();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
module aluminium_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
|
// front leg (supports cross-shaft, epicyclic, motor
|
||||||
translate([-25, 820, -60])
|
translate([-25, 820, -50])
|
||||||
color("silver")
|
color("silver")
|
||||||
cube([50, 25, 366]);
|
cube([50, 25, 356]);
|
||||||
// bottom bracket leg
|
// bottom bracket leg
|
||||||
translate([-25, 680, -90])
|
translate([-25, 680, -50])
|
||||||
color("silver")
|
color("silver")
|
||||||
cube([50, 25, 443]);
|
cube([50, 25, 413]);
|
||||||
|
|
||||||
// wheel leg
|
// wheel leg
|
||||||
translate([-100, 345, -111])
|
translate([-100, 345, -50])
|
||||||
rotate([0, 7, 0])
|
rotate([0, 7, 0])
|
||||||
color("silver")
|
color("silver")
|
||||||
cube([25, 75, 519]);
|
cube([25, 75, 458]);
|
||||||
// front upper
|
// front upper
|
||||||
translate([-25, 1100, 200])
|
translate([-25, 1100, 200])
|
||||||
rotate([70, 0, 0])
|
rotate([70, 0, 0])
|
||||||
|
@ -56,30 +61,70 @@ module aluminium_subframe (rim=451, chainring_teeth=82, crank=140) {
|
||||||
color("silver")
|
color("silver")
|
||||||
cube([50, 25, 529]);
|
cube([50, 25, 529]);
|
||||||
// rear leg
|
// rear leg
|
||||||
translate([-25, 0, 0])
|
translate([-25, 0, -50])
|
||||||
rotate([-23, 0, 0])
|
rotate([-20, 0, 0])
|
||||||
color("silver")
|
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);
|
subframe_cycleparts(rim, chainring_teeth, crank);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* this is more or less right. I need to sculpt out a depression for
|
* this is more or less right. The corners of the epicyclic/motor
|
||||||
* the secondary chain, and make a bracket to hold the epicyclic and
|
* bracket should be rounded, and there should be fillets along
|
||||||
* motor.
|
* every concave join between carbon parts
|
||||||
*/
|
*/
|
||||||
module carbon_subframe(rim=451, chainring_teeth=82, crank=140) {
|
module carbon_subframe(rim=451, chainring_teeth=82, crank=140) {
|
||||||
translate([-25, 0, 0])
|
translate([-25, 0, 0])
|
||||||
color("black")
|
color("black", 0.9)
|
||||||
difference() {
|
difference() {
|
||||||
rotate([90, 0, 90])
|
rotate([90, 0, 90])
|
||||||
linear_extrude( height=50)
|
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])
|
translate([-26, 382, 93])
|
||||||
rotate([90,0,90])
|
rotate([90,0,90])
|
||||||
cylinder( h=100, r=rim * 0.61);
|
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);
|
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");
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ include <fourbar.scad>
|
||||||
|
|
||||||
rotate([0, 0, 270])
|
rotate([0, 0, 270])
|
||||||
translate([0, 1200, 180])
|
translate([0, 1200, 180])
|
||||||
subframe();
|
subframe(structure="carbon");
|
||||||
translate([0,-50, 320])
|
translate([0,-50, 320])
|
||||||
fourbar(700, 100, 30, 35, 650);
|
fourbar(700, 100, 30, 35, 650);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue