问题:
1 两侧相机挤压
2 孔用点有的
//************************(1)相机主体*************************// //相机机身参数 cam_z=29.2;//高度 29.3 cam_y= 59.2;//长度 0.01 cam_x= 44.2;//宽度 0.06 43.6 -83 //相机圆环参数 cam_huan_r= (28+1)/2; //圆环半径 cam_huan_l= 9.4; //圆环高 //模拟射线参数 shexian_ok=0; //射线是否开启 L_shexian=100000; //射线长度 D_zy= 9.4996; // 相机左右视场角 D_sx= 5.0199; // 相机上下视场角 //D_sx= 8; //1-1相机机体 module cam_basic_zhuti(x ,y, z){ //机身 color([1,0.5,0.3])translate([0,y/2,0]) cube([x,y,z],center=true); // 底座 color([1,0.5,0.7])translate([0,(y-58.2)+58.2/2,(z+6)/2]) cube([32.2,58.2,6+0.05],center=true); //下圆环 螺纹 l_xiahou=5; color([0,0,1])translate([0,y/2,(z)/2+6+l_xiahou/2])cylinder(l_xiahou,6.8/2,6.8/2,center=true, $fn=160 ); //下元环 螺盖 l_luogai=18; // 厚度4mm r_luogai=30 ; // 原盘直径 20 color([0,0.4,1])translate([0,y/2,(z)/2+6+l_xiahou+l_luogai/2 ])cylinder(l_luogai,r_luogai/2,r_luogai/2,center=true, $fn=160 ); } //1-2相机圆环 module cam_basic_yuanhuan(r,h){ color([1,0.5,0])translate([0,h/2,0]) rotate([90,0,0]) cylinder(h,,r,r,center=true, $fn=160 ); // 用于延长 剪去露头 4mm color([1,0.5,0])translate([0,h/2+4,0]) rotate([90,0,0]) cylinder(h,,r,r,center=true, $fn=160 ); color([1,0.5,0])translate([0,h/2-4,0]) rotate([90,0,0]) cylinder(h,,r,r,center=true, $fn=160 ); } //1-3 射线 module shexian_base(x,y,z){ //shexian_ok 用来关闭射线 //左右射线 color([1,0,1])rotate([0,0,D_zy/2])translate([-x/2,0,0]) cube([x,y,z]); color([1,0,1])rotate([0,0,-D_zy/2])translate([-x/2,0,0]) cube([x,y,z]); //上下射线 color([1,0,0])rotate([D_sx/2,0,0])translate([-x/2,0,0]) cube([x,y,z]); color([1,0,0])rotate([-D_sx/2,0,0])translate([-x/2,0,0]) cube([x,y,z]); } // 射线测试 //shexian_base(5*shexian_ok,L_shexian*shexian_ok,5*shexian_ok); //1-4相机成品 module cam_basic_all(){ cam_basic_zhuti(cam_x,cam_y,cam_z); translate([0,cam_y,0]) cam_basic_yuanhuan(cam_huan_r,cam_huan_l); shexian_base(5*shexian_ok,L_shexian*shexian_ok,5*shexian_ok); } //1-s 测试 //cam_basic_all(); //************************(2)相机镜头*************************// //2-1相机镜头圆环基本单位 module cam_jingtou_yuanhuan(r,h){ color([1,0.5,0])translate([0,h/2,0]) rotate([90,0,0]) cylinder(h,r,r,center=true, $fn=160 ); } //2-2相机全部镜头 module cam_jingtou_all(){ translate([0,0,0]) cam_jingtou_yuanhuan(56/2,34); // 圆环1 translate([0,34,0]) cam_jingtou_yuanhuan(66.2/2,49.8); //圆环2 translate([0,34+49.8,0]) cam_jingtou_yuanhuan((80+0.2)/2,27.5);//圆环3 } //2-s 镜头测试 //cam_jingtou_all(); //************************(3)相机+镜头*************************// module cam_model(){ cam_basic_all(); color([0.3,0.3,0.3])translate([0,cam_y+cam_huan_l,0])cam_jingtou_all(); } //************************(4)相机阵列左右2个*************************// D_zuoyou=8.2 ; // 左右相机角度 不能超过相机自身视场角 D_shangxia=3.7 ; // 上下相机角度 不能超过相机自身视场角 R_yuanpan=820; // 单排圆盘半径 800 R_shangxia=36; // 上下两排相机垂直距离 36 module cam_zhenglie_zy2(){ rotate([0,0,D_zuoyou/2])translate([0,R_yuanpan/2,0]) cam_model(); rotate([0,0,-D_zuoyou/2])translate([0,R_yuanpan/2,0]) cam_model(); rotate([0,0,D_zuoyou/2+D_zuoyou])translate([0,R_yuanpan/2,0]) cam_model(); rotate([0,0,-D_zuoyou/2-D_zuoyou])translate([0,R_yuanpan/2,0]) cam_model(); rotate([0,0,D_zuoyou/2+2*D_zuoyou])translate([0,R_yuanpan/2,0]) cam_model(); rotate([0,0,-D_zuoyou/2-2*D_zuoyou])translate([0,R_yuanpan/2,0]) cam_model(); } //cam_zhenglie_zy2(); //************************(4-1)左右视线相交参考线*************************// l_shexian=13000; // 物体距离相机距离 l_chonghe= 240; // 在物距处两个画面的重合度 module cam_shexian_zy(){ color([1,1,0])rotate([0,0,0])translate([0,R_yuanpan/2+cam_y+cam_huan_l,0]) cube([4,l_shexian,4]); // 重合度 color([0,1,1])rotate([0,0,0])translate([0,R_yuanpan/2+cam_y+cam_huan_l+13000,0]) cube([l_chonghe,4,4],center=true);//距离 // 2个相机测试 cam_zhenglie_zy2(); } // 左右相机视线相交测试 //sx_view=-R_yuanpan/2-cam_y-cam_huan_l-13000; //视线移动到重合区域 sx_view=0; //translate([0,sx_view,0]) cam_shexian_zy(); // 测试相机左右射线相交情况 //************************(5)相机阵列上下2排*****************// module cam_zhenglie_zy2_zhenti(){ translate([0,-R_yuanpan/2,0])cam_zhenglie_zy2(); } module cam_zhenglie_zysx2(){ rotate([D_shangxia/2,0,0])translate([0,0,R_shangxia ]) mirror([0,0,1])cam_zhenglie_zy2_zhenti(); rotate([-D_shangxia/2,0,0])translate([0,0,-R_shangxia])cam_zhenglie_zy2_zhenti(); } //cam_zhenglie_zysx2(); //************************(5-1)上下两排视线相交参考线// l_shexian=13000; // 物体距离相机距离 l_chonghe= 240; // 在物距处两个画面的重合度 module cam_shexian_sx(){ color([1,1,0])rotate([0,0,0])translate([0,cam_y+cam_huan_l,0]) cube([4,l_shexian,4]);// 物体距离 color([0,1,1])rotate([0,0,0])translate([0,cam_y+cam_huan_l+13000,0]) cube([4000,4,l_chonghe],center=true);// 重合挡板 // 2个相机测试 cam_zhenglie_zysx2(); } // 上下相机视线相交测试 // zy_view=-13000; // 移动整体视角 zy_view=0; //translate([0,zy_view,0]) cam_shexian_sx(); // 测试相机上下射线相交情况 //************************(6)相机阵列 底座固定板***************************// //--------------------------- 6-1相机镜头固定架 module cam_jingtouzhijia(){ difference(){ color([0,1,0])translate([0,174,0]) cube([40,10,40],center=true); cam_zhenglie_zysx2(); } difference(){ color([0,1,0])translate([0,168,0]) cube([180,10,180],center=true); cam_zhenglie_zysx2(); } } // 打印镜头前支架 20%填充 //cam_jingtouzhijia(); //----------------------------- 6-2相机底座支架 module cam_zhijia_dizuo(){ // 底座支架 difference(){ l_dizuozhijia=35;// y方向位置 // 矩形块 color([0,1,1])translate([0,l_dizuozhijia,65]) cube([218,25,50],center=true); //剪去 相机模型 cam_zhenglie_zysx2(); //剪去三个洞 color([0,0,1])translate([65,l_dizuozhijia,90-45/2+0.01])cylinder(45,8/2,8/2,center=true, $fn=160 ); color([0,0,1])translate([-65,l_dizuozhijia,90-45/2+0.01])cylinder(45,8/2,8/2,center=true, $fn=160 ); color([0,0,1])translate([0,l_dizuozhijia,90-45/2+0.01])cylinder(45,8/2,8/2,center=true, $fn=160 ); } } //----------------------------- 6-3相机机身支架 module cam_zhijia_jishen(){ ly=15; lz=0; // 中间机身支架 difference(){ // 完整矩形块 color([0,1,0])translate([0,48-ly/2,lz]) cube([120,25+ly,120],center=true); // 剪去 相机模型 cam_zhenglie_zysx2(); } // 左侧间机身支架 difference(){ // 完整矩形块 color([0,1,0])translate([-120,31.5-ly/2,lz]) rotate([0,0,14.5])cube([140,25+ly,120],center=true); // 剪去 相机模型 cam_zhenglie_zysx2(); } // 右侧机身支架 difference(){ // 完整矩形块 color([0,1,0])translate([120,31.5-ly/2,lz]) rotate([0,0,-14.5])cube([140,25+ly,120],center=true); // 剪去 相机模型 cam_zhenglie_zysx2(); } } //---------------------------6-all 全部支架 module cam_zhijia(){ // 镜头支架 cam_jingtouzhijia(); //底座支架 cam_zhijia_dizuo(); // 机身之架 cam_zhijia_jishen(); } //不参与打印,供参考尺寸,镜头阵列 cam_zhenglie_zysx2(); //参与打印 最终支架阵列 cam_zhijia(); color([1,0,1])translate([10,100,80]) rotate([90,0,0])cylinder(300,4/2,4/2,center=true, $fn=160 ); color([1,0,1])translate([-10,100,80]) rotate([90,0,0])cylinder(300,4/2,4/2,center=true, $fn=160 ); color([1,0,1])translate([80,100,80]) rotate([90,0,0])cylinder(300,4/2,4/2,center=true, $fn=160 ); color([1,0,1])translate([-80,100,80]) rotate([90,0,0])cylinder(300,4/2,4/2,center=true, $fn=160 ); color([1,0,1])translate([0,100,-60]) rotate([90,0,0])cylinder(300,4/2,4/2,center=true, $fn=160 ); color([1,0,1])translate([0,100,0]) rotate([90,0,0])cylinder(300,4/2,4/2,center=true, $fn=160 ); color([1,0,1])translate([85,100,0]) rotate([90,0,0])cylinder(300,4/2,4/2,center=true, $fn=160 ); color([1,0,1])translate([-85,100,0]) rotate([90,0,0])cylinder(300,4/2,4/2,center=true, $fn=160 ); //color([1,0,1])translate([0,100,0]) rotate([90,0,14.5])cylinder(300,4/2,4/2,center=true, $fn=160 );