$fn=10;
module bag_bar(rr1,rr2,d)
{
rotate_extrude()
difference()
{ hull() //hull() fast in 2D, no good in 3D
{
circle(rr1);
translate([0,d])circle(rr2); }
translate([-50,0,0])square(100,center=true);
}
}
module body()
{ $fn=120;
color("white")
bag_bar(18,12.5,17);
color([.8,.7,.7])
translate([0,14,9])
rotate([25,0,0])
resize(newsize=[14,5.5,19])
sphere(1);
color([.8,.7,.7])
translate([0,-14,9])
rotate([-25,0,0])
resize(newsize=[14,5.5,19])
sphere(1);
}
module eye()
{$fn=30;
scale([.28,.28,.28])
color("black")
rotate([0,90,0])
union()
{
translate([0,10,0])cylinder(r=3.8,h=10,center=true);
translate([0,-10,0])cylinder(r=3.8,h=10,center=true);
cube([1.8,20,10],center=true);
}
}
module head()
{ $fn=80;
difference()
{
color("white")
resize(newsize=[14,14,10])
color("white")sphere(8);
translate([6,0,0])color("black")eye();
}
}
module leg()
{
$fn=50;
scale([.4,.4,.38])
{
color("white")bag_bar(13.5,17,15);
color([.8,.7,.7])
translate([0,0,-4])
resize(newsize=[26,25,26])
sphere(1);
color([.8,.7,.7])
resize(newsize=[25,14,28])
translate([0,19.8,14])sphere(13);
}
}
module arm_l()
{ $fn=50;
translate([0,0,-13])
color("white")
scale([1,0.75,1])
bag_bar(4.9,3.2,13); translate([0,0,-14.5])
rotate([0,00,0])
color("white")
rotate([-18,.55,0])
translate([0,0,-15.2])
scale([1,0.9,1])
bag_bar(4.35,4.8,14); color([.8,.7,.7])
translate([0,1.4,-15])
rotate([-3,0,0])
resize(newsize=[10,6.4,14])
sphere(1);
}
module arm_r()
{ $fn=50;
translate([0,0,-13])
color("white")
scale([1,0.75,1])
bag_bar(4.9,3.2,13); translate([0,0,-13])
rotate([30,130,0])
color("white")
rotate([-18,0,0])
translate([0,0,-12.4])
scale([1,0.9,1])
bag_bar(4.35,4.8,11.5); color([.8,.7,.7])
translate([0,-.1,-12.9])
rotate([-20,130,0])
resize(newsize=[10,9,10.5])
sphere(1);
} module thumb()
{$fn=30;
{
resize(newsize=[5.5,5.5,4])rotate([-5,0,0])cylinder(r1=4,r2=1.6,h=13.6,centr=true);
translate([0,0,2.5])rotate([5,0,0])resize(newsize=[3.5,4,5])sphere(1,center=true);
translate([0,0,4])rotate([0,0,0])resize(newsize=[3.6,4,5])sphere(1,center=true);
}
}
module finger()
{$fn=30;
{
resize(newsize=[3.5,3.9,6])sphere(1);
translate([.3,0,1.2])rotate([0,10,0])resize(newsize=[3.4,3.9,5])sphere(1);
translate([.8,0,2.8])rotate([0,20,0])resize(newsize=[3.4,3.5,5])sphere(1);
}
}
module hand()
{ $fn=30;
scale([.72,.72,.72])
{
color("white")translate([1,-4,5])rotate([20,10,0])finger();
color("white")translate([1,0,7])rotate([0,30,0])finger();
color("white")translate([-1,4,6])rotate([-20,-10,0])finger();
color("white")translate([1.8,3.9,0])rotate([-72,11,-30])thumb();
color("white")resize(newsize=[6,11,11])sphere(1);
}
}
module hand_l()
{$fn=30;
mirror([0,1,0])hand();
}
module card_slot()
{$fn=40;
scale([.1,.1,.1])
rotate([0,90,0])
difference()
{color("white")cylinder(r=20,h=10,center=true);
color("gray")difference()
{translate([0,0,5])color("white")cylinder(r=22,h=4,center=true);
translate([0,0,6])color("white")cylinder(r=19,h=12,center=true);
}
translate([-6,0,0.1])color("black")cube([2.5,21.1,10],center=true);
translate([2,-17,0.1])color("black")cube([2.5,9.1,10],center=true);
translate([2,17,0.1])color("black")cube([2.5,9.1,10],center=true); translate([-2,-11.5,0.1])color("black")rotate([0,0,66])cube([2.5,10,10],center=true);
translate([-2,11.5,0.1])color("black")rotate([0,0,-66])cube([2.5,10,10],center=true);
} }
module support_bar(rr1,d)
{cylinder(r1=rr1,r2=0.8,h=d-1.3,center=false);
translate([0,0,d-1.31])cylinder(r1=0.8,r2=0.1,h=1.4,center=false);
}
//baymax
module baymax()
{
body();
translate([0,-1,33])rotate([3,0,0])head();
translate([0,-5.4,-23])rotate([0,0,180])leg();
translate([0,5.4,-23])leg();
translate([0,11,23])
rotate([35,0,0])
arm_l(); translate([0,-11,23])
rotate([35,0,160])
arm_r();
translate([7.8,-19.2,20.2])
rotate([20,1,0])
hand();
translate([-.4,24.9,-3.6])
rotate([-30,190,100])
hand_l(); translate([10.4,5.8,20.5])
rotate([-13,-20,28])
card_slot();
//support
$fn=20;
translate([-.5,23.72,-28])support_bar(4,2);
translate([-.5,23.72,-28])support_bar(1.1,15.5); translate([-.5,23.6,-16])rotate([7,31.5,-6])support_bar(1,9.6);
translate([-.5,23.6,-15.8])rotate([24,-24,0])support_bar(1,6.9);
translate([-.5,23.6,-15.5])rotate([25,-30,-30.6])support_bar(1,8);
translate([-4.5,22.8,-10.5])rotate([33,-11,-30])support_bar(0.8,3.7); translate([-2.2,-19.4,-28])support_bar(4,2);
translate([-2.2,-19.4,-28])support_bar(1.1,35.8);
}
//with stand plane
scale([1.5,1.5,1.5])
difference()
{baymax();
translate([0,0,-58])cube([60,60,60],center=true);
}

  

OpenSCAD 大白的更多相关文章

  1. Quartz2D 画大白

    今天初始Quartz2D,我好激动啊,也好开心,莫名的会喜欢带有图形相关的课程…… 好啦,闲话少说,今天用Quartz2D方法画了最最爱的大白.迫不及待的想要和大家分享. 1.首先实例化了view 2 ...

  2. css3画图之大白(●—●)

    把大白送给你~ <!DOCTYPE html> <html> <head> <title>大白</title> <meta http- ...

  3. [OpenS-CAD]屏幕坐标转换分析

    蓝色为地理坐标系XOY,记为坐标系A:黄色为屏幕坐标系xoy,记为坐标系B.地图的左下角点为(X0,Y0)可很容易的平移到坐标原点.因此这里只考虑地图位于坐标原点的情况,如图二也记为坐标系A. 设地理 ...

  4. html打造动画【系列1】- 萌萌的大白

    每个人心中都有一个暖暖的大白,blingbling的大眼睛~软软的肚子~宽厚的肩膀~善良的心肠~如果可以,我愿意沦陷在大白的肚子里永远不出来,哈哈~毛球要失宠咯~ 哈哈哈 每个人都是独立的个体,大白也 ...

  5. 用纯CSS画大白

    纯CSS打造网页大白知识点:      首先要把大白分割,整体baymax中包含header(eye1,eye2,mouth),torso(heart),belly(cover),l-bigfinge ...

  6. 大白话说Java泛型(一):入门、原理、使用

    文章首发于[博客园-陈树义],点击跳转到原文<大白话说Java泛型(一):入门.原理.使用> 远在 JDK 1.4 版本的时候,那时候是没有泛型的概念的.当时 Java 程序员们写集合类的 ...

  7. 大白话说Java泛型(二):深入理解通配符

    文章首发于[博客园-陈树义],点击跳转到原文<大白话说Java泛型(二):深入理解通配符> 上篇文章<大白话说Java泛型(一):入门.原理.使用>,我们讲了泛型的产生缘由以及 ...

  8. 大白话说Java反射:入门、使用、原理

    文章首发于[博客园-陈树义],点击跳转到原文<大白话说Java反射:入门.进阶.原理> 反射之中包含了一个「反」字,所以想要解释反射就必须先从「正」开始解释. 一般情况下,我们使用某个类时 ...

  9. 用OpenSCAD設計特製的遊戲骰子

    一開始先製作一個簡單的立方體.定義一個變量「cube_size」,然後使用下圖的立方體程式.center=true的設定可讓立方體位於起始模型的正中央. 為你在OpenSCAD創造的物體加上不同顏色是 ...

随机推荐

  1. SQL while循环

    ALTER Proc [dbo].[p_GetServerDataCursor] AS BEGIN IF EXISTS ( SELECT * FROM sys.objects WHERE object ...

  2. Java学习笔记之——switch-case条件结构

    语法: switch(变量){ case 常量1: 执行语句: break: case 常量2: 执行语句: break: case 常量3: 执行语句: break: ………… default: 语 ...

  3. 【Servlet】1、Servlet监听器及相关接口

    Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前.发生后可以做一些必要的处理. 接口: 目前Servlet2.4和JSP2.0总共有8个监听器接口和6个Event类,其中Ht ...

  4. JNI和NDK基础

    引言 JNI是Java Native Interface(Java本地接口),是为了方便Java调用C和C++等本地代码所封装的一层接口. NDK是Android提供的一个工具集合,通过NDK可以在A ...

  5. LoadRunner接口测试标准模板

    Action() { int nHttpRetCode; // 默认最大长度为256,get请求需注意缓存问题,需要根据content-length进行修改 web_set_max_html_para ...

  6. Codeforces672D(SummerTrainingDay01-I)

    D. Robin Hood time limit per test:1 second memory limit per test:256 megabytes input:standard input ...

  7. Layui treeGrid

    目前treeGrid的源码不是很完善, 没有开放, 只有社区里面有, 想用的可以看看下面方法: 1.加入treeGrid.js文件 (1)layui 的treeGrid 下载地址:    https: ...

  8. 虚拟机安装ubuntu18.04及其srs服务器的搭建

    第一次写博客,有些地方可能不太完善. 1.安装VMware,我用的是VMware12. 2.下载Ubuntu镜像(自Ubuntu 17.10开始桌面版本不再提供32位安装镜像,Ubuntu Serve ...

  9. 【读书笔记】iOS-成为一名开发者

    iOS开发者计划是按年付费的,在过期前60天可以开始续费.如果你不续费的话,你将无法发布应用.另外苹果会吊销你的开发者证书和发布证书.最后,苹果将你在iTunes App Store上的所有应用下架. ...

  10. python之操作系统介绍,进程的创建

    操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石.操作系统需要处理如管理与配置内存.决定系统资源供需的优先次序.控 ...