X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=bike-phone-mount.scad;h=bb69726c80af237ef0afaadd58b87a2600bf8d6c;hb=6a319b7ceeca0d02fbeac92c0737e976919d87a1;hp=8f2cf66ef37f5712abad577ae3574964a0432511;hpb=c40b6dc468116588e856e559c995690a658de49b;p=reprap-play.git diff --git a/bike-phone-mount.scad b/bike-phone-mount.scad index 8f2cf66..bb69726 100644 --- a/bike-phone-mount.scad +++ b/bike-phone-mount.scad @@ -4,11 +4,14 @@ include -mount_lip_height = 2.0 - 0.15; +mount_lip_height = 2.0 - 0.15 - 0.15; mount_lip_depth = 2.5 /*?*/ - 0.30; -mount_neck_width = 26.5 - 0.55; +mount_neck_width = 26.5 - 0.55 - 0.15; mount_neck_length = 1.5 + 0.50; +mount_diag_outer = 34.8 - 0.50; +mount_diag_inner = 34.6 - 0.20 - 0.50; + mount_slope = .65; mount_extra_slope = 3; @@ -30,7 +33,7 @@ mount_total_height = mnep2[1] - mnep6[1]; mnep_z_offset = -mnep2[1]; mnep_side_offset = [ mount_neck_width/2, mnep_z_offset ]; -module NeckEdgePlan() { +module MountNeckEdgePlan() { polygon([ mnep0, mnep1, mnep2, @@ -41,13 +44,13 @@ module NeckEdgePlan() { mnep7 ]); } -module Neck() { +module MountNeckSquare() { intersection_for (r=[0,90]) { rotate([0,0,r]){ linextr_y_xz(-100,100,convexity=10){ for (m=[0,1]) { mirror([m,0]) { - translate(mnep_side_offset) NeckEdgePlan(); + translate(mnep_side_offset) MountNeckEdgePlan(); rectfromto([-0.1, -mount_total_height], mnep_side_offset + mnepm); } @@ -57,7 +60,21 @@ module Neck() { } } -module DemoCeil() { +module MountDiagonal() { + rotate([0,0,45]){ + translate([0,0, -mount_total_height]){ + linextr(0, mount_lip_height) + square(center=true, mount_diag_outer); + linextr(0, mount_total_height) + square(center=true, mount_diag_inner); + linextr(mount_lip_height + mount_neck_length, + mount_total_height + 1) + square(center=true, 100); + } + } +} + +module MountDemoCeil() { c = mount_demo_ceil + mount_extra_slope; linextr(0, 0.8) { square(mount_neck_width + 2*(mount_demo_ceil + mount_extra_slope), @@ -65,12 +82,20 @@ module DemoCeil() { } } -module Demo(){ - Neck(); - DemoCeil(); +module Mount(){ + intersection(){ + MountNeckSquare(); + MountDiagonal(); + } +} + +module MountDemo(){ ////toplevel + Mount(); + MountDemoCeil(); } -//NeckEdgePlan(); -//Neck(); -//DemoCeil(); -Demo(); +//MountNeckEdgePlan(); +//MountNeck(); +//MountDemoCeil(); +//MountDiagonal(); +//MountDemo();