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 ...
随机推荐
- 【每日一题】【回溯】【StringBuilder】2021年12月7日-17. 电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 来源:力扣(LeetCode)链 ...
- django框架(部分讲解)
ORM执行SQL语句 有时候ORM的操作效率可能偏低 我们是可以自己编写SQL的 方式1: raw()方法执行原生sql语句 models.User.objects.raw('select * fro ...
- input限制只能输入汉字
<el-form class="det_foot" :model="form" :rules="rules" ref="fo ...
- JavaScript:原型(prototype)
面向对象有一个特征是继承,即重用某个已有类的代码,在其基础上建立新的类,而无需重新编写对应的属性和方法,继承之后拿来即用: 在其他的面向对象编程语言比如Java中,通常是指,子类继承父类的属性和方法: ...
- error: expected ‘)’ before ‘PRIx64’
打印uint64时编译报错 printf("prefix:0x%"PRIx64"\n",ipv6Prefix); 解决办法:添加头文件 #include < ...
- 迁移学习(IIMT)——《Improve Unsupervised Domain Adaptation with Mixup Training》
论文信息 论文标题:Improve Unsupervised Domain Adaptation with Mixup Training论文作者:Shen Yan, Huan Song, Nanxia ...
- python之路26 面向对象魔法方法、元类、元类定制类、对象的产生行为 __new__方法
面向对象的魔法方法 魔法方法:类中定义的双下方法都称为魔法方法 不需要人为调用 在特定的条件下会自动触发运行 eg:__init__创建空对象之后自动触发给对象添加独有的数据 1.__init__ 对 ...
- Java8常见函数式接口总结
函数式接口 函数式接口:有且仅有一个抽象方法的接口. 使用@FunctionalInterface注解来标记.如果接口不是函数式接口就会编译出错 满足条件的接口即使不加上注解,那也是函数式接口 函数式 ...
- [C#]关于逆变与协变的基本概念和修饰符in与out的意义
协变与逆变的概念 假如两个类型X和Y具有特殊关系,X类型的每个值都能转换成Y类型.我们将I<X>向I<Y>的转换称为协变转换.反之我们将I<Y>向I<X> ...
- Gvim基础操作(正则表达式)-02
Gvim正则表达式 正则表达式在linux中使用非常广泛.主要是进行一些替换,在编写脚本的时候都会使用到.gvim.perl.sed.tcl中都会使用到. Gvim正则表达式的使用 搜索命令 /正则表 ...