首页 文章 精选 留言 我的

精选列表

搜索[代码块],共10000篇文章
优秀的个人博客,低调大师

3D打印房屋只需一天,成本节约50%,未来你可能只差一块地

云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 在过去的几年里,人们见证了3D打印的颠覆性力量。未来,它又会如何改变建筑行业呢?你愿意住在3D打印的房子里吗? 2018年,增材制造(AdditiveManufacturing,AM俗称3D打印)业市场规模并不大,但也达到了80亿美元。然而,按照每年约24%-26%的年增长率,到2026年该行业预计将扩大到510亿美元。但它为什么能迅猛增长呢? 3D打印正在颠覆几乎所有的主要行业,而且它的潜力还没有完全显现出来。 3D打印正在医疗保健、时装设计、食品、航空航天以及汽车工业等领域掀起波澜。借助3D打印,这些行业能够做出样品,能够制造零部件,甚至能够在极短的时间内以很低的成本生产出功能完善的部件。 在3D Systems总裁兼首席执行官维奥梅什·乔希(Vyomesh Joshi)看来,过去一年3D打印行业定位为渐进式的、有目的性的数字创新,其进展体现在四个主要方面:生产率、持久性、可重复性和总运营成本。 建筑业呢? 在讨论3D打印技术的颠覆性时,一个行业似乎有时会被忽视——那就是建筑业。然而,在过去的3到5年里,该行业所发生的一些最引人注目的变化及创新,都可以归功于增材制造。3D打印的便捷性和低成本,让开发新的施工方法、更好的施工技术甚至更安全的施工方法都成为了可能。 那么,什么是增材制造呢?它是指利用3D打印机从数字文件制造出三维实体物体的过程。 据一些工程师估计,由于建筑材料成本和劳动力成本双双降低,使用3D打印技术建造一座房子的成本将会降低50%。 下面就来探讨增材制造是如何改变建筑业的,并看看这些改变会如何影响到你周围的城市的。 1、3D打印带来全新的施工流程 创意十足的荷兰公司MX3D利用金属3D打印和机器人技术,为公共项目和商业项目创造了功能齐全的结构。MX3D团队计划将增材制造的建设性力量应用于客厅、全球各地的建筑项目甚至其他星球上的项目。 该团队最酷的项目之一是MX3D桥。他们在阿姆斯特丹市中心最古老、最著名的运河之一Oudezijds Achterburgwal上打印了一座功能完备的不锈钢桥。这座人行桥长12米,具有令人惊叹的未来主义设计。建造过程中,该团队使用了两个工业机器人,让它们分别从桥的一头开始打印,最终在桥的中间汇合。 在该项目中,MX3D团队还与多位数学家、物联网专家和一流的3D打印专家展开了合作。正如该团队所描述的,“独特的施工方法,让我们得以利用3D打印打造出坚固、复杂且优雅的金属结构。” 在不久的将来,大城市的建筑项目可能直接3D打印完成,几乎不需要人工辅助。人工智能、5G技术和物联网等新兴技术可能会在未来五年内使这一目标成为可能。 2、3D打印商业建筑 迪拜以拥抱新兴技术而闻名。最近,迪拜未来基金会(DFF)创造了世界首个3D打印商业建筑。在不久的将来,办公室、图书馆甚至咖啡店都可能用3D打印技术建设而成。DFF的3D打印大楼高6米,长36.5米,宽约12.1米。这个项目只用了一台3D打印机就完成了。实际打印时间为17天,建构时间约为3个月,需要的人力比传统建筑节省50%,所产生的建筑垃圾也减少了60%。 这样的项目是建设我们的绝佳例子。 3、更好的施工方法 在大数据当道的时代,数据就是金子。基于机器学习和人工智能的工具,可帮助人类做出更好的决策。现在,我们比以往任何时候都更能够挖掘大量的数据,来更好地展开建造、施工和设计工作。利用这些新兴技术能够提高施工的精准度。得益于3D打印的一些独特性,开发商甚至能够创建最优化的不规则设计结构,来满足个性化需求或者适配特定的环境。 埃因霍温科技大学已经开发出了3D打印房屋,它们看起来像是来自外星世界。混凝土3D打印的房子拥有你可能渴望的所有设施。家居设计可以高度定制,以满足个人或家庭的需要。 4、3D打印让建筑更加安全 施工是一项非常危险的工作。根据美国职业安全与健康管理局(OSHA)的数据,美国每年每5个工人死亡案例中就有1个与施工有关。虽然施工方法在不断改进,但仅在2018年,建筑工人死亡就占美国所有致命工伤的47%。其中,33.5%的死亡是坠落造成的,11%是因为被物体击中造成的,8.5%是触电造成的,5.5%是被物体夹住造成的。 增材制造将使得施工变得更加安全。3D打印一个建筑最终将需要很少的人力。再加上由机器人来处理危险的任务,就可以大大减少与施工相关的伤亡。 5、降低施工成本 3D打印将使施工过程更容易。首先,3D打印将有助于从多个方面减少材料的浪费。在3D打印的建筑项目中,具体需要多少材料就用多少材料,而不像传统项目那样批量订购材料。用于这些项目的建筑材料可以更容易地回收利用,在其他的项目中再次使用。 项目需要较少的人力,因而可降低人工成本。基本上,由于工伤、施工时间和材料成本全都减少,开发商的利润会大幅增加。 6、3D打印经济适用房 在建筑业中,增材制造的另一个显著影响是在房屋建设上。全球有许多初创公司正在利用3D打印的威力,在24小时甚至更短的时间内建造出适合居住的房屋。全球领先的Winsun 3D公司甚至已经开发出一种利用回收材料打造3D打印房屋的方法。这些3D打印的房屋经久耐用,有的还可以移动,因而让把家搬到另一个地方成为可能。成本更低,施工时间更短,也意味着有望让更多的人有房可住。 这方面最好的例子莫过于3D打印创业公司ICON和非盈利组织New Story在墨西哥农村的合作项目。牵头这个项目的New Story有一个简单的使命:利用3D打印在施工上的强大威力,为低收入家庭和生活在恶劣环境中的人们提供负担得起的住房。借助一台33英尺长的大型3D打印机,该协作团队已经建造了一整个3D打印住宅社区。每个房子的建造时间不到24小时,面积为500平方英尺(约合46.5平方米),屋顶、窗户和内部装饰一应俱全。 “我们面临的挑战是巨大的,全球有超过10亿人生活在没有无瓦遮头的地方。为了降低这个数字,我们必须要提升我们的规模化能力。” New Story团队说。 在不久的将来,3D打印房屋将会变得更加普遍,使各个阶层的人们都拥有自己的房子。haus.me等公司所创造的3D打印房子,看起来就像未来主义的宜家产品目录上新鲜出炉的东西。这些漂亮的房子在能源方面可以自给自足,因而居民能够完全脱离电网。你希望住在3D打印的房子里吗? 7、展望未来的3D打印技术 3D打印在建筑领域仍处于初期应用阶段,但该行业本身正在快速发展。然而,要3D打印出整个城镇乃至整个城市,仍然前路漫漫,有一些障碍需要克服。最大的局限之一是,建筑打印机往往一次只能使用一种材料。 这就是为什么可能需要同时使用多台打印机或其他人力来完成一个项目。更重要的是,建筑行业还没有找到一个商业上可行的方法来打印大规模的城市级结构,因为需要打造出超级巨型的3D打印机。尽管如此,3D打印建筑的世界还是令人兴奋的。5年后,你或许会生活在3D打印的房子里。 【云栖号在线课堂】每天都有产品技术专家分享!课程地址:https://yqh.aliyun.com/live 立即加入社群,与专家面对面,及时了解课程最新动态!【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK 原文发布时间:2020-04-09本文作者:网易智能本文来自:“网易智能”,了解相关信息可以关注“网易智能”

优秀的个人博客,低调大师

java 发邮件 代码

2 --> ​ 1.MailSenderInfo package org.fh.util.mail; /** * 说明:发送邮件需要使用的基本信息 * 作者:FH Admin * from:www.fhadmin.org */ import java.util.Properties; public class MailSenderInfo { // 发送邮件的服务器的IP和端口 private String mailServerHost; private String mailServerPort = "25"; // 邮件发送者的地址 private String fromAddress; // 邮件接收者的地址 private String toAddress; // 登陆邮件发送服务器的用户名和密码 private String userName; private String password; // 是否需要身份验证 private boolean validate = false; // 邮件主题 private String subject; // 邮件的文本内容 private String content; // 邮件附件的文件名 private String[] attachFileNames; /** * 获得邮件会话属性 */ public Properties getProperties(){ Properties p = new Properties(); p.put("mail.smtp.host", this.mailServerHost); p.put("mail.smtp.port", this.mailServerPort); p.put("mail.smtp.auth", validate ? "true" : "false"); return p; } public String getMailServerHost() { return mailServerHost; } public void setMailServerHost(String mailServerHost) { this.mailServerHost = mailServerHost; } public String getMailServerPort() { return mailServerPort; } public void setMailServerPort(String mailServerPort) { this.mailServerPort = mailServerPort; } public boolean isValidate() { return validate; } public void setValidate(boolean validate) { this.validate = validate; } public String[] getAttachFileNames() { return attachFileNames; } public void setAttachFileNames(String[] fileNames) { this.attachFileNames = fileNames; } public String getFromAddress() { return fromAddress; } public void setFromAddress(String fromAddress) { this.fromAddress = fromAddress; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getToAddress() { return toAddress; } public void setToAddress(String toAddress) { this.toAddress = toAddress; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getContent() { return content; } public void setContent(String textContent) { this.content = textContent; } } 2.MyAuthenticator package org.fh.util.mail; import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; /** * 说明:发送邮件需要使用的基本信息 * 作者:FH Admin * from:www.fhadmin.org */ public class MyAuthenticator extends Authenticator{ String userName=null; String password=null; public MyAuthenticator(){ } public MyAuthenticator(String username, String password) { this.userName = username; this.password = password; } protected PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication(userName, password); } } 3.SimpleMailSender package org.fh.util.mail; import java.util.Date; import java.util.Properties; import javax.mail.Address; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; /** * 说明:邮件发送器 * 作者:FH Admin * from:www.fhadmin.org */ public class SimpleMailSender { /** * 以文本格式发送邮件 * @param mailInfo 待发送的邮件的信息 */ public boolean sendTextMail(MailSenderInfo mailInfo) throws Exception { // 判断是否需要身份认证 MyAuthenticator authenticator = null; Properties pro = mailInfo.getProperties(); if (mailInfo.isValidate()) { // 如果需要身份认证,则创建一个密码验证器 authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword()); } // 根据邮件会话属性和密码验证器构造一个发送邮件的session Session sendMailSession = Session.getInstance(pro, authenticator); // 根据session创建一个邮件消息 Message mailMessage = new MimeMessage(sendMailSession); // 创建邮件发送者地址 Address from = new InternetAddress(mailInfo.getFromAddress()); // 设置邮件消息的发送者 mailMessage.setFrom(from); // 创建邮件的接收者地址,并设置到邮件消息中 Address to = new InternetAddress(mailInfo.getToAddress()); mailMessage.setRecipient(Message.RecipientType.TO, to); // 设置邮件消息的主题 mailMessage.setSubject(mailInfo.getSubject()); // 设置邮件消息发送的时间 mailMessage.setSentDate(new Date()); // 设置邮件消息的主要内容 String mailContent = mailInfo.getContent(); mailMessage.setText(mailContent); // 发送邮件 Transport.send(mailMessage); return true; } /** * 以HTML格式发送邮件 * * @param mailInfo 待发送的邮件信息 */ public boolean sendHtmlMail(MailSenderInfo mailInfo) throws Exception { // 判断是否需要身份认证 MyAuthenticator authenticator = null; Properties pro = mailInfo.getProperties(); // 如果需要身份认证,则创建一个密码验证器 if (mailInfo.isValidate()) { authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword()); } // 根据邮件会话属性和密码验证器构造一个发送邮件的session Session sendMailSession = Session.getInstance(pro, authenticator); // 根据session创建一个邮件消息 Message mailMessage = new MimeMessage(sendMailSession); // 创建邮件发送者地址 Address from = new InternetAddress(mailInfo.getFromAddress()); // 设置邮件消息的发送者 mailMessage.setFrom(from); // 创建邮件的接收者地址,并设置到邮件消息中 Address to = new InternetAddress(mailInfo.getToAddress()); // Message.RecipientType.TO属性表示接收者的类型为TO mailMessage.setRecipient(Message.RecipientType.TO, to); // 设置邮件消息的主题 mailMessage.setSubject(mailInfo.getSubject()); // 设置邮件消息发送的时间 mailMessage.setSentDate(new Date()); // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象 Multipart mainPart = new MimeMultipart(); // 创建一个包含HTML内容的MimeBodyPart BodyPart html = new MimeBodyPart(); // 设置HTML内容 html.setContent(mailInfo.getContent(), "text/html; charset=utf-8"); mainPart.addBodyPart(html); // 将MiniMultipart对象设置为邮件内容 mailMessage.setContent(mainPart); // 发送邮件 Transport.send(mailMessage); return true; } /** * @param SMTP 邮件服务器 * @param PORT 端口 * @param EMAIL 本邮箱账号 * @param PAW 本邮箱密码 * @param toEMAIL 对方箱账号 * @param TITLE 标题 * @param CONTENT 内容 * @param TYPE 1:文本格式;2:HTML格式 */ public static void sendEmail(String SMTP, String PORT, String EMAIL, String PAW, String toEMAIL, String TITLE, String CONTENT, String TYPE) throws Exception { // 这个类主要是设置邮件 MailSenderInfo mailInfo = new MailSenderInfo(); mailInfo.setMailServerHost(SMTP); mailInfo.setMailServerPort(PORT); mailInfo.setValidate(true); mailInfo.setUserName(EMAIL); mailInfo.setPassword(PAW); mailInfo.setFromAddress(EMAIL); mailInfo.setToAddress(toEMAIL); mailInfo.setSubject(TITLE); mailInfo.setContent(CONTENT); // 这个类主要来发送邮件 SimpleMailSender sms = new SimpleMailSender(); if ("1".equals(TYPE)) { sms.sendTextMail(mailInfo); } else { sms.sendHtmlMail(mailInfo); } } public static void main(String[] args) { try { SimpleMailSender.sendEmail("smtp.163.com","25","fhadmin@qq.com","密码","313596790@qq.com","你好","<p>你好</p>","2"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } ​

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册