用于读写 AutoCAD DWG 图纸的免费 Ruby 库

开源 Ruby CAD 库,帮助软件开发人员创建、编辑、转换和操作 AutoCAD 3D 文件。它能够编写更简洁、更模块化、更可复用的代码。

什么是 SolidRuby?

SolidRuby 是一个强大的开源 Ruby 库,它将软件开发与 CAD(计算机辅助设计)建模紧密结合。它提供了一种用于创建 3D 模型的 Ruby 专用语言 (DSL),使软件开发人员能够构建与各种 CAD 图表无缝集成的应用程序。如果您计划开发参数化设计工具、3D 打印流程或定制 CAD 软件,SolidRuby 可以为您的项目提供坚实的基础。此外,您还可以选择将该库集成到项目中,以解锁增强功能,例如创建动态 3D 模型、使用交互式 CAD 编辑工具、设置自动化设计系统或设计定制 3D 打印流程。

SolidRuby 基于 OpenSCAD 开发,OpenSCAD 是一款依赖脚本的知名 CAD 工具。虽然 OpenSCAD 有自己的脚本语言,但它受益于 Ruby CAD 建模语法的简洁性和灵活性。借助 SolidRuby,开发人员可以编写结构化、可重用且易于管理的代码来描述 3D 模型并进行转换。该工具可生成 OpenSCAD 格式的文件。您可以将这些文件转换为 STL 文件,用于 3D 打印或其他任务。该软件包含强大的依赖注入系统,可帮助您顺畅地处理对象之间的依赖关系。此功能简化了应用程序的测试、维护和扩展。SolidRuby 的参数化函数非常适合需要动态模型创建的任务。凭借其富有表现力的 Ruby DSL 以及参数化建模、布尔运算和流畅的 OpenSCAD 集成等便捷功能,该工具功能多样,可用于各种任务。

Previous Next

SolidRuby 入门

推荐使用 GitHub 安装 SolidRuby。运行以下命令将 Aspose.CAD Cloud SDK for Ruby 添加到您的项目中。

通过 GitHub 安装 SolidRuby

git clone https://github.com/MC-Squared/SolidRuby.git 

您也可以手动安装;直接从 GitHub 存储库下载最新版本的文件。

通过 Ruby 生成动态 3D 模型

开源 SolidRuby 库支持创建可根据用户输入或应用程序逻辑动态调整的参数化模型。Ruby 开发者可以构建应用程序,用户指定尺寸、材质或其他参数,应用程序会在 Ruby 应用程序中实时生成相应的 CAD 文件。以下示例演示了一个销售可定制盒子的电商平台如何使用 SolidRuby 通过 Ruby 代码动态生成设计。

如何在 Ruby 应用程序中生成具有可调尺寸的空心框?

require 'solidruby'

def generate_box(length, width, height, thickness)
  difference do
    cube([length, width, height])
    translate([thickness, thickness, thickness]) do
      cube([length - 2 * thickness, width - 2 * thickness, height - 2 * thickness])
    end
  end
end

box_model = generate_box(30, 20, 10, 2)
File.write("box_model.scad", box_model.to_s)

自定义 3D 打印流程

SolidRuby 库可以成为 3D 打印工作流程的核心部分,根据特定需求生成模型。软件开发人员可以将其集成到准备、优化和导出 CAD 文件的流程中。以下示例演示了开发人员如何在导出模型之前确保模型已针对特定打印机进行对齐或缩放。

如何优化 Ruby 应用内的打印模型?

require 'solidruby'

# Define the model
model = union do
  cube([20, 20, 20])
  translate([10, 10, 10]) { sphere(15) }
end

# Apply a small transformation for printer alignment
optimized_model = translate([0, 0, 2]) { model }
File.write("optimized_model.scad", optimized_model.to_s)

通过 Ruby 实现 3D 图表转换

开源 SolidRuby 库让软件开发者只需在 Ruby 应用程序中编写几行代码即可轻松转换 3D 图表。它支持平移、旋转和缩放等转换,从而实现模型的精确放置和方向调整。以下示例展示了软件开发者如何使用 Ruby 命令以编程方式对图表进行转换。

如何在 Ruby 应用程序中将转换应用于 3D 图表?

translate([10, 0, 0]) do
  sphere(5)
end

rotate([0, 0, 45]) do
  cube([10, 10, 5])
end
 中国人