
用rust写我的libreCAD
文章平均质量分 85
用rust写我的libreCAD
liuyuan77
rust爱好人员
展开
-
【学写LibreCAD】 4.2 RS_UndoCycle文件
定义了一个名为 RS_UndoCycle 的类,用于表示一个撤销操作周期(Undo Cycle)。该类仅RS_Undo类使用,可以包含一个或多个可撤销对象(RS_Undoable),并提供了对这些对象的管理功能。这种设计模式非常适合需要支持撤销和重做功能的应用程序,例如图形编辑器、CAD 软件或文本编辑器。原创 2025-03-13 04:00:00 · 1025 阅读 · 0 评论 -
【学写LibreCAD】 4.1 RS_Undoable文件
RS_Undoable 类为 LibreCAD 中的对象提供了撤销和重做功能的核心支持。通过标志位管理和通知机制,子类可以轻松实现撤销状态的管理和响应。这种设计模式在需要支持撤销操作的应用程序中非常常见,例如图形编辑器、CAD 软件等。原创 2025-03-13 00:15:00 · 1072 阅读 · 0 评论 -
【学写LibreCAD】 3 RS_Flags文件
RS_Flags 结构体提供了一种简单而有效的方式来管理一组标志位。通过位操作,可以高效地设置、清除、切换和查询标志位。这种设计在需要管理多个状态或选项的场景中非常有用,例如在图形处理、状态机、配置选项等应用中。原创 2025-03-12 01:00:00 · 876 阅读 · 0 评论 -
【学写LibreCAD】 2.1 pdf_print_loop文件
pdf_print_loop.h和pdf_print_loop.cpp文件是 LibreCAD 项目中用于将 DXF 文件打印为 PDF 文件的核心模块。它通过 Qt 的 QPrinter 类实现了 PDF 文件的生成,并结合 LibreCAD 的图形处理功能,能够处理单页和多页打印任务。原创 2025-03-12 00:15:00 · 1244 阅读 · 0 评论 -
【学写LibreCAD】 2 console_dxf2pdf文件
基于 Rust 和 Qt 结合的实现方案。我们将使用 qmetaobject crate 来与 Qt 进行交互,并尽可能保持与 LibreCAD 的功能一致。原创 2025-02-27 11:14:14 · 254 阅读 · 0 评论 -
【学写LibreCAD】1.1 控制台模式检测
qmetaobject 是一个强大的工具,允许你在 Rust 中使用 Qt 的元对象系统,并与 QML 进行集成。通过它,你可以将 Rust 的强大功能与 Qt 的丰富 UI 框架结合起来,创建高性能的跨平台应用程序。原创 2025-02-27 13:31:39 · 591 阅读 · 0 评论 -
【学写LibreCAD】1 LibreCAD主程序
从核心模块开始重写 LibreCAD 的 Rust 实现,需要从基础数据结构、数学工具和关键接口入手。(2) 添加 cxx-qt 依赖(用于与 C++/Qt 交互)(2) 数学工具(math.rs)(2) 实现 CXX-QT 绑定(src/lib.rs)(2) 构建配置(CMakeLists.txt)原创 2025-02-26 22:34:40 · 626 阅读 · 0 评论 -
【学写LibreCAD】0 仿写LibreCAD简介
LibreCAD 的 核心模块(Core) 是其最重要的部分,负责处理 CAD 应用程序的基础逻辑和数据结构。核心模块的功能核心模块主要负责以下功能:几何计算:处理点、线、圆、圆弧等几何图形的数学计算。图形对象管理:管理 CAD 文档中的所有图形对象。坐标系转换:处理世界坐标系、用户坐标系和屏幕坐标系之间的转换。文档管理:管理当前打开的 CAD 文档及其内容。事件处理:处理用户输入和系统事件。核心模块的关键组件(1) 几何图形对象。原创 2025-02-26 20:54:28 · 1153 阅读 · 0 评论