OpenSCAD 建模:矿泉水瓶花洒

简介:   下载地址:https://github.com/ZhangGaoxing/openscad-models/tree/master/Sprinkle     代码: module screw(r=15){ for(g=[0:1:240]){ translate...

  下载地址:https://github.com/ZhangGaoxing/openscad-models/tree/master/Sprinkle

 

  代码:

module screw(r=15){
    for(g=[0:1:240]){
        translate([cos(g)*r,sin(g)*r,(g)/40])
        rotate(a=[93,60,g])
        cylinder(.6,.6,.6,center=true,$fn=3);
    }
}

module cylinderWithScrew(){
    union(){
        // Cylinder shell
        difference(){
            cylinder(28,16.5,16.5,$fn=200);
            cylinder(28,15.5,15.5,$fn=200);
        }

        // Screw
        union(){
            translate([0,0,19])screw(15);
            translate([0,0,19])rotate([0,0,120])screw(15);
            translate([0,0,19])rotate([0,0,240])screw(15);
        }
    }
}

module sprinklerWall(){
    difference(){
        cylinder(35,35,16.5,$fn=200);
        cylinder(35,33.5,15.5,$fn=200);
        
        rotate([90,0,0])translate([0,22,18])cylinder(18,1.5,1.5,$fn=200);
    }
}

module sprinklerBottom(){
    difference(){
        cylinder(1,35,35,$fn=200);

        cylinder(2,1,1,$fn=200);

        for(i=[0:0.2:0.8]){
            rotate(i*360/0.8,[0,0,1])
            translate([0,6,0])
            cylinder(2,1,1,$fn=200);
        }

        for(i=[0:0.2:1.6]){
            rotate(i*360/1.6,[0,0,1])
            translate([0,12,0])
            cylinder(2,1,1,$fn=200);
        }

        for(i=[0:0.2:2.4]){
            rotate(i*360/2.4,[0,0,1])
            translate([0,18,0])
            cylinder(2,1,1,$fn=200);
        }

        for(i=[0:0.2:3.2]){
            rotate(i*360/3.2,[0,0,1])
            translate([0,24,0])
            cylinder(2,1,1,$fn=200);
        }
        
        for(i=[0:0.2:4]){
            rotate(i*360/4,[0,0,1])
            translate([0,30,0])
            cylinder(2,1,1,$fn=200);
        }
    }
}

union(){
    sprinklerBottom();
    translate([0,0,1])sprinklerWall();
    translate([0,0,36])cylinderWithScrew();
}

 

  效果图:

目录
相关文章
|
12月前
|
算法 安全 C++
用 C++ 算法控制员工上网的软件,关键逻辑是啥?来深度解读下
在企业信息化管理中,控制员工上网的软件成为保障网络秩序与提升办公效率的关键工具。该软件基于C++语言,融合红黑树、令牌桶和滑动窗口等算法,实现网址精准过滤、流量均衡分配及异常连接监测。通过高效的数据结构与算法设计,确保企业网络资源优化配置与安全防护升级,同时尊重员工权益,助力企业数字化发展。
216 4
|
Python
已解决:_tkinter.TcLError: couldn’t recognize data in image file “Image/nakamuraan.gif”
已解决:_tkinter.TcLError: couldn’t recognize data in image file “Image/nakamuraan.gif”
436 1
|
前端开发 JavaScript 开发者
如何在 React 中处理事件?
【8月更文挑战第31天】
232 0
|
JavaScript 前端开发 安全
解锁Vue3与TypeScript的完美搭档:getCurrentInstance带你高效打造未来前端
【8月更文挑战第21天】Vue3的getCurrentInstance方法作为Composition API的一部分,让开发者能在组件内访问实例。结合TypeScript,可通过定义组件实例类型实现更好的代码提示与类型检查,提升开发效率与代码质量。例如,定义一个带有特定属性(如myData)的组件实例类型,可以在setup中获取并安全地修改这些属性。这种方式确保了一致性和减少了运行时错误,使开发更加高效和安全。
475 0
|
JSON 运维 Ubuntu
在Ubuntu 18.04上安装和配置Ansible的方法
在Ubuntu 18.04上安装和配置Ansible的方法
277 0
|
SQL 缓存 网络协议
网络信息安全实验 — 网络攻击技术实验(Kali系统,John、lc7、arpspoof、ettercap、SQL注入...)
本人深感网络安全实验有点麻烦,花了一个晚上弄了部分,特此将笔记贡献造福后人,个人能力有限,还会继续更新。。。 汇报题目:**15分钟教你用 Python 写一个 arpspoof**(课件准备ing,如果弄完后续补上) 第一次网络安全实验(密码学)也是我做的,这里先放个自制工具:[Java实现密码学工具,集成了对称加密算法DES,AES,IDEA,公开加密算法RSA,ECC,散列算法MD5,SHA1,CRC32,以及RSA,DSA,ECDSA数字签名验证示例。](https://blog.csdn.net/weixin_43734095/article/details/105303562)
1927 0
网络信息安全实验 — 网络攻击技术实验(Kali系统,John、lc7、arpspoof、ettercap、SQL注入...)
|
安全 Java 测试技术
阿里开发手册 嵩山版-编程规约 (五)日期时间的规范
《阿里开发手册 嵩山版》的日期时间规范部分提供了关于日期时间处理的强制性和推荐性规约,包括日期格式化、时间获取、避免硬编码日期、处理闰年问题等,以确保程序在时间处理上的准确性和稳定性。
|
前端开发
前端轮询问题之为什么使用setTimeout可以保证轮询请求的唯一性
前端轮询问题之为什么使用setTimeout可以保证轮询请求的唯一性
242 0
|
XML 数据格式
XML中的CDATA区块
XML中的CDATA区块
284 0
|
人工智能 Oracle 数据可视化
低代码开发平台权威推荐:创新开发、领跑市场!
Gartner推荐的6款低代码平台包括Zoho Creator、Mendix、Oracle、Appian、Retool和Quickbase。Zoho Creator在低代码领域有显著地位,连续多年入选Gartner魔力象限,其特点是快速定制、灵活的定制能力、AI辅助、合规与安全以及丰富的报表功能。Mendix则是一站式低代码平台,强调可视化开发和数据集成,但学习曲线较陡。Oracle平台提供预构建组件,快速开发且支持可视化,但私有部署选项有限。Appian以拖拽式构建和流程自动化为亮点,但可能无法满足所有高度定制需求。Retool以其强大的组件库和主流服务集成吸引用户,
358 0