OpenSCAD:一款用于创建实体3D CAD对象的软件
推荐:使用 NSDT场景设计器 快速搭建 3D场景。
原文链接:https://www.mvrlink.com/openscad/
OpenSCAD是一个用于创建实体3D CAD对象的软件。它是免费软件,可用于Linux / UNIX,MS Windows和macOS。
与大多数用于创建3D模型的免费软件(例如著名的应用程序Blender)不同,OpenSCAD专注于CAD方面,而不是3D建模的艺术方面。因此,当您计划创建机器零件的 3D 模型时,这可能是您正在寻找的应用程序,但可能不是用于创建计算机动画电影的工具。
OpenSCAD不是一个交互式建模器。相反,它更像是一个 3D 编译器,它读取描述对象的脚本文件并从该脚本文件呈现 3D 模型(请参阅下面的示例)。这使设计人员能够完全控制建模过程,并使您能够轻松更改建模过程中的任何步骤或进行由可配置参数定义的设计。
OpenSCAD提供了两种主要的建模技术:首先是建设性的实体几何体(又名CSG),其次是2D轮廓的拉伸。作为这些二维轮廓的数据交换格式,使用Autocad DXF文件。除了用于拉伸的 2D 路径外,还可以从 DXF 文件中读取设计参数。除了DXF文件,OpenSCAD还可以读取和创建STL和OFF文件格式的3D模型。
OpenSCAD拥有丰富的开发库:
BOSL: 一个工具、形状和助手的库,使 OpenScad 更易于使用。

dotSCAD:处理复杂3D模型的算法库。

NopSCADlib:拓展零件库,可用于3D打印机和电子产品等。

UB.scad:是OpenSCAD的完整3D打印工作流程解决方案,提供了用于修改和生成3D对象,视图助手和一系列机械零件的工具。

Functional OpenSCAD:将OpenSCAD的内置模块重新实现为直接在顶点数据上运行的函数。通过访问顶点、路径和面几何数据,可以从用户脚本中扩展 OpenSCAD 的功能。例如,此库包括函数 bounds(poly),它返回 [[minX,minY,minZ],[maxX,maxY,maxZ]] 表示构成形状或形状列表的所有点的最大和最小坐标 使用内置模块时无法进行这种计算,因为它们的顶点数据不可访问。

Constructive Library:扩展 OpenScad 语言,用于复杂和互补的机械部件,只需更少的算法代码。提供“冲压”方法,以快速创建机械零件,并相互配合。这被用作其他 CAD 系统已知约束的替代品 使用库自己的语法从模块轻松创建孔,并克服 Openscad 对复杂模型的许多限制。

BOLTS :开放的技术规格库。

Round-Anything:用于处理平滑角和圆角的工具。

Mark's Enclosure Helper:OpenSCAD 脚本工具,用于生成一个两件式铰链盒,具有圆角、盖子、互锁轮辋、卡扣、磁铁或螺钉闭合,以及用于向任何面添加切口或添加的简单位置。

Functional:OpenSCAD 函数的集合。 它旨在提供算法和工具,以帮助使用 OpenSCAD 函数式编程技术中构建高效的脚本。
OpenSCAD threads.scad module:这是一个高效的OpenSCAD线程库,主要用于其他设计中的组件。它支持公制兼容的内螺纹和外螺纹、螺旋钻螺纹、螺纹锥形、间隙孔、埋头孔、嵌入式孔、六角螺栓、螺母、垫圈、十字尖端和用螺纹接头延伸的长杆。只要有可能,这符合参数默认值的度量标准,同时为许多值提供覆盖。
核心螺纹例程利用列表推导式将整个螺纹螺钉生成为单个多面体。与其他方法相比,这大大提高了渲染速度和鲁棒性,减少了必要的刻面数量,并增加了最终零件的触觉平滑度。这也允许部分锥形螺纹端部,以及螺旋钻和传统螺纹达到一定程度。

OpenSCAD Smooth Primitives Library:此库是一些平滑图元的集合,即具有指定的圆角边,用于其他设计。

OpenSCAD Function Plotting Library:这是一个用于OpenSCAD的通用函数绘图库,它将使用笛卡尔坐标(x和y输入,z输出)、极坐标/柱坐标(r和角度输入,z输入)或轴坐标(z和角度输入、r输出)绘制函数。该库非常灵活,不仅可以用于绘图功能,还可以用于其他功能。如包含的演示文件所示,这可以有效地渲染具有由数学函数定义的曲面的普通对象。
虽然OpenSCAD还有一些其他函数绘图库,但这一个库特别健壮、快速和灵活。它使用列表理解将每个图生成为单个多面体,在一个设计中支持每种类型的多个用户定义函数,一致地创建适当的流形渲染,并且执行速度与任何其他类似大小的渲染对象一样快。

OpenSCAD ClosePoints Library:通用的OpenSCAD库,只需创建点列表即可轻松创建各种形状,这些点列表在所需形状的轮廓中描摹出层。该库由用于从这些点列表创建多面体的模块以及帮助使用变换指定点的函数组成。

Tray Library:旨在快速创建具有不同配置的托盘,以便高效存储零件,例如硬件、小工具、棋盘游戏插件等。

Parametric Projectbox generator:参数投影盒生成器,用于电子项目盒的生成器

STEMFIE Parts Library:STEMFIE是一款免费的教育拼搭套装玩具,您可以在家中下载并使用和制作模型组件。每个组件都是兼容形状的机械生态系统的一部分,旨在通过各种连接和紧固件互锁。

Catch'n'Hole:用于在 OpenSCAD 中创建螺母、螺丝孔和埋头孔。

Pathbuilder:使用 SVG 语法创建带有圆角和倒角的复杂 2D 形状的快速方法。支持完整的 SVG 语法。

OpenSCAD:一款用于创建实体3D CAD对象的软件的更多相关文章
- Dynamic CRM 2013学习笔记(三)快速创建实体 EntityCreater
一.实体简介 实体用于在 Microsoft Dynamics CRM 中建立业务数据模型和管理业务数据.例如,可以使用客户.市场活动和事件(案例)等实体跟踪和支持销售.市场营销和服务活动.实体具有一 ...
- EntityFramework_MVC4中EF5 新手入门教程之一 ---1.创建实体框架数据模型
Contoso University Web 应用程序 你会在这些教程中构建的应用程序是一个简单的大学网站. 用户可以查看和更新学生. 课程和教师信息.这里有几个屏幕,您将创建. 这个网站的用户界面 ...
- 使用MyBatis的Generator自动创建实体类和dao的接口与xml
在实际的项目中其实建立数据库和设计数据库的时候特别重要,而等数据库设计完成之后,根据数据库创建实体类的工作就特别麻烦和繁琐了,不仅很麻烦,而且很浪费时间,不做又不行,这次就找到了一个简单的方法可以让m ...
- 一款用于对 WiFi 接入点安全进行渗透测试的工具
越来越多的设备通过无线传输的方式连接到互联网,以及,大范围可用的 WiFi 接入点为攻击者攻击用户提供了很多机会.通过欺骗用户连接到虚假的 WiFi 接入点,攻击者可以完全控制用户的网络连接,这将使得 ...
- [转]RegExp 构造函数创建了一个正则表达式对象,用于将文本与一个模式匹配
本文转自:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp RegExp ...
- ABP领域层创建实体
原文作者:圣杰 原文地址:ABP入门系列(2)——领域层创建实体 在原文作者上进行改正,适配ABP新版本.内容相同 这一节我们主要和领域层打交道.首先我们要对ABP的体系结构以及从模板创建的解决方案进 ...
- JavaWeb_(Hibernate框架)Hibernate中创建实体
Hibernate中创建实体 创建实体五个基本规则 --提供无参的构造器 --成员变量的私有化,提供get.set方法,提供属性 --尽量使用包装类型 --主键(一定要有) --不要加final(hi ...
- 实现领域驱动设计 - 使用ABP框架 - 创建实体
用例演示 - 创建实体 本节将演示一些示例用例并讨论可选场景. 创建实体 从实体/聚合根类创建对象是实体生命周期的第一步.聚合/聚合根规则和最佳实践部分建议为Entity类创建一个主构造函数,以保证创 ...
- 如何在ASP.Net创建各种3D图表
我们都知道,图表在ASP.NET技术中是一种特别受欢迎而又很重要的工具.图表是表示数据的图形,一般含有X和Y两个坐标轴.我们可以用折线,柱状,块状来表示数据.通过图表控件,我们即能表示数据又能比较各种 ...
- Entity Framework 教程——创建实体数据模型
创建实体数据模型: 本文将带你创建实体数据模型(EDM)SchoolDB数据库和理解基础建设模块. 实体数据模型(EDM)是用于描述实体之间关系的一种模型,以下将使用Visual Studio 201 ...
随机推荐
- 深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」
Nginx前提回顾 Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: Web服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效 ...
- 【重难点整理】通过kafka的全过程叙述kafka的原理、特性及常见问题
一.kafka的实现原理 1.逻辑结构 2.组成 生产者:生产消息,来自服务.客户端.端口-- 消息本身:消息主体 topic主题:对消息的分类,例如数仓不同层中的不同类型数据(订单.用户--):自带 ...
- React DevUI 18.0 正式发布🎉
Jay 是一位经验丰富并且对质量要求很高的开发者,对 Angular.React 等多种框架都很熟悉,我们在开源社区认识,在我做开源社区运营的过程中,Jay 给了我很多帮助,他也是 React Dev ...
- DC-9靶场练习
Vulnhub靶场-DC-9 准备工作 kali和靶机都选择NAT模式(kali与靶机同网段) 下载链接:https://download.vulnhub.com/dc/DC-9.zip 一.主机发现 ...
- uniapp 微信小程序 改变头部的信号、时间、电池显示颜色
修改前 修改后 修改方法:"navigationBarTextStyle":"white"
- 11、lombok日志记录
一.添加依赖: <!--lombok插件--> <dependency> <groupId>org.projectlombok</groupId> &l ...
- Java基础类String学习分析
目录 1 String不可变性 2 不可变的好处 3 String+和StringBuilder效率差异 4 String, StringBuffer and StringBuilder 5 Stri ...
- [seaborn] seaborn学习笔记2-散点图Scatterplot
2 散点图Scatterplot(代码下载) 散点图能够显示2个维度上2组数据的值.每个点代表一个观察点.X(水平)和Y(垂直)轴上的位置表示变量的值.研究这两个变量之间的关系是非常有用的.在seab ...
- 对 Pulsar 集群的压测与优化
前言 这段时间在做 MQ(Pulsar)相关的治理工作,其中一个部分内容关于消息队列的升级,比如: 一键创建一个测试集群. 运行一批测试用例,覆盖我们线上使用到的功能,并输出测试报告. 模拟压测,输出 ...
- 推荐一款在浏览器编辑`Blazor`的`IDE`
不知道是否有Blazor用户羡慕过React或者Vue用户,在一些组件库中,它们就提供了在当前的组件预览对于组件的实时编辑并且预览? 比如semi-design的这种 在比如codepen这种 由于B ...