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 ...
随机推荐
- 【SQL基础】【关键字大写】条件查询:比较、不等于、IN、为空、BETWEEN
〇.概述 1.内容介绍 条件查询:比较.不等于.IN.为空.BETWEEN 2.建表语句 drop table if exists user_profile; CREATE TABLE `user_p ...
- 5V升压12.6V芯片电路图,三节锂电池充电
三节3.7V的锂电池串联,11.1V和最大12.6V锂电池充电电路的解决方案.在应用中,一般使用低压5V,如USB口直接输入的给三串锂电池充电,还有是15V或者18V,20V输入降压给锂电池充电的两种 ...
- css实习滤镜效果(背景图模糊)
模糊实例 图片使用高斯模糊效果: img { -webkit-filter: blur(5px); /* Chrome, Safari, Opera */ filter: blur(5px); } c ...
- Apache Dubbo 官方正式发布 Spring 6 & Spring Boot 3 支持
Dubbo 简介 Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java.Golang 等多语言 SDK 实现.使用 Dubbo 开发的 ...
- 【深入浅出Sentinel原理及实战】「基础实战专题」零基础实现服务流量控制实战开发指南(2)
你若要喜爱你自己的价值,你就得给世界创造价值. Sentinel的组成部分 Sentinel 主要由以下两个部分组成. Sentinel核心库(Java客户端) :Sentinel的核心库不依赖任何框 ...
- linux下redis_单机版_主从_集群_部署文档
一 单机版部署 1.1 Redis下载地址 http://download.redis.io/releases/ 本次部署版本:3.2.8 当前最新版本:5.0.5 1.2 安装 部署路径说明规划 / ...
- KMP 与 Z 函数
\(\text{By DaiRuiChen007}\) 一.KMP 算法 I. 问题描述 在文本串 \(S\) 中找到模式串 \(T\) 的所有出现,其中 \(|S|=n,|T|=m\) II. 前置 ...
- C#爬虫开发小结
前言 2023年以来一直很忙,临近春节,各种琐事更多,但鸽了太久没写文章总是不舒坦,忙中偷闲来记录下最近用C#写爬虫的一些笔记. 爬虫一般都是用Python来写,生态丰富,动态语言开发速度快,调试也很 ...
- npm 中设置环境NODE_ENV变量,判断失败打印process.env.NODE_ENV确实是"development",但是判断process.env.NODE_ENV === "development" 是false
通过package.json 的scripts脚本 修改NODE_ENV的值来区分开发环境和生产环境. "scripts": { "build": " ...
- angular使用_HttpClient或者Fetch发送POST/GET请求下载/上传文件
一:下载文件写法 1.post请求_HttpClient写法. myTest() { const params = { aa: "aa", bb: "bb" } ...