Lua-cad v1.0.0

Lua-cad

OpenSCAD for Lua, 使用 lua 来创建三维模型。

Lua
项目地址
Release v1.0.0 下载

新特性

兼容 Openscad

lua-cad 兼容当前 openscad 的大部分库。可以直接使用 $ 来在 Lua-cad 创建您要在 openscad 文件中定义的模块,这会将其转换唯一个 table 类型的变量。在 user_define_obj 库中,您可以对其进行进一步的操作。
一个例子:

local shoulder_screw1 = $shoulder_screw( "english", 1/2, length = 20 )$;

表结构:

Table
$间的代码内容
name
arg1
arg2

内含方法:

  • postion
  • scale
  • mirror
  • rotate
  • color
  • print
  • code

用户自定义对象库

参数化建模

采用参数化建模的方法,相对于 GUI 方式,GUI 操作并不能很好反应出参数值间关系。对于复杂的模型来说,GUI 界面会来带来大量繁琐,复杂的操作,纯粹依赖GUI界面可能会导致操作耗时,效率低下。
使用编程接口可以高效复用已经创建的模型,并且更加健壮,这使得在模型中进行修改和调整变得非常容易,而无需手动编辑每个单独的形状。

建模更加直观,直接

在 lua-cad 中使用基准 datum 可以精准确定 3d 对象的基准面,以此根据对象间的几何关系来实行准确定位。

local datum1 = d3object.datum(cube1, 1);

使用 d3object.datum(obj, index) 函数来获取基准面中心的位置,并通过 datum 库来进行几何关系的处理。

面向对象

采用面向对象的模式,高效复用代码,编码更加灵活,增加了维护性。

易于嵌入、快速执行

程序轻量,高效,易于嵌入与增加接口。

Quick Start

Release 下载

Release v1.0.0 下载

源码编译

  1. 安装 xmake
  2. Clone the repo
git clone https://github.com/SongZihui-sudo/lua-cad.git
  1. cd lua-cad
  2. 编译源码
xmake

使用说明

lua-cad [filepath]

如果输入了参数 filepath 那么直接运行脚本 filepath 所指向的文件。否则从终端读取输入。
在这里插入图片描述

架构图

在这里插入图片描述

Example

简单的离心风机外壳

Example

在这里插入图片描述
在这里插入图片描述

导出的openscad代码:

difference()
{
union()
{
cylinder(h = 15.000000, r = 20.000000,  center = false);
cube([30.000000, 20.000000, 15.000000], center = false);

}
cylinder(h = 12.000000, r = 17.000000,  center = false);
translate([0.000000, 0.000000, 12.000000])
cylinder(h = 10.000000, r = 5.000000,  center = false);
translate([0.000000, 3.000000, 3.000000])
cube([30.000000, 14.000000, 9.000000], center = false);

}

项目地址
Release v1.0.0 下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值