欢迎加入开源鸿蒙 PC 社区:https://harmonypc.csdn.net/
欢迎在 PC 社区平台申请新建项目:https://atomgit.com/OpenHarmonyPCDeveloper适配开源地址:https://gitcode.com/OpenHarmonyPCDeveloper/ohos_solidcraft### 一、为什么要适配 轻星建模「轻星建模」的定位是参数化三维建模工具;草图/特征时间线/装配/钣金/STEP,平板与 2in1 优先,首启内置样例件。选择 solidcraft v0.25.1 做鸿蒙 PC 适配,看中的是它在同类桌面工具中的位置:上游社区活跃、功能覆盖完整、许可合规路径清晰。对 HarmonyOS PC 生态而言,这类桌面级工具正是应用矩阵里最稀缺的一块。solidcraft v0.25.1 以 Rust/egui 构建,经 winit 取窗口与事件、wgpu 渲染,默认目标仍是桌面会话——这些假设在鸿蒙上都不成立。把它带过来,等于回答一组结构性的问题:如何在没有传统显示服务器、没有窗口管理器参与窗口治理的系统上渲染并接收输入;文件、剪贴板、输入法如何对接;以及 MIT OR Apache-2.0 许可义务如何合规履行。当前适配的发布形态:「轻星建模」已送审华为应用市场(在审);开源仓与本篇对应:https://gitcode.com/OpenHarmonyPCDeveloper/ohos_solidcraft。收录上游版本 0.25.1。### 二、先划清边界:不是"编译通过",而是换掉平台依赖如果只以"消除编译报错"为目标,把源码编出动态库也得不到可用的应用。本项目的验收口径是真机上可安装、可启动、可完成核心工作闭环。上游实现与鸿蒙侧方案的对应关系如下:| 层次 | 上游实现 | 鸿蒙侧方案 || — | — | — || 窗口与 GL | winit + wgpu(GL/Vulkan/Metal) | eframe-ohos 适配层:OHNativeWindow + GLES || 事件 | winit 事件循环 | XComponent 回调 → winit 事件注入 || 字体 | 系统字体枚举 | bundled 字体随包 || IME | winit IME | 会话层桥:ArkTS 承载键盘,commit 回注 egui |### 三、鸿蒙版的整体架构craft 家族共享 eframe-ohos 适配层:eframe 的 winit/wgpu 依赖被替换为 OHOS 实现——窗口表面来自 XComponent,事件经 NAPI 注入 winit 事件循环,wgpu 走 GLES 后端。应用源码(Rust)零改动,仅以 vendored 依赖映射替换目标侧实现。菜单与文档字符串由引擎注册表生成器转录为 ArkTS 资源,顶栏用 ArkTS 原生覆盖层实现,对上游零 patch。仓库收录 3251 个上游源码文件(约 97.1 MiB)与移植层配套;全仓 6992 个文件。结构如下:(仓库结构,上游源码树整树收录在仓库根目录)├── (上游源码树 → 仓库根目录:solidcraft)├── port-*/ # 平台配套:app、build.sh、patches、tools、vendor├── README-upstream.md # 上游原始 README 存档└── README.md # 中文仓库说明### 四、核心适配过程1. eframe-ohos:winit 事件循环与 wgpu 表面适配,vendored 依赖直写映射;2. 审核机闪退根修:vendored egui-wgpu 的后端映射直写,surface 重建先销旧;3. 菜单转录:MenuDefs 由注册表生成器导出,ArkTS 顶栏渲染,系统 Menu 级联 + 三键避让;4. 交叉构建:cargo + OHOS NDK clang(aarch64-unknown-linux-ohos),产物 cdylib 随包。工程推进中的关键节点(摘自工程台账):- 轻星建模是轻星系又一新增壳。2026-10-30 名单补行:本机工程树(DevEcoStudioProjects 全量 AppScope bundleName 现扫)存在 StarModel 目录、bundleName=com.starmodel.app 相符,但名单 173 行内无此行- AGC 只读回读确认已建档(appId 6917620319017779306,设备槽 平板+2in1)。Connect API 无账号级应用列表端点,本轮 AGC 控制台未登录(扫码态失效)故未能像 10-27 那样抓全量 APP ID 列表比对,漏项以「本地工程 bundleName 现扫+工作区文档包名全扫」双通道补齐(com.airkrita/airremmina/airrustdesk/airsmart/airvlc/airwork 六个文档包名经 appid-list 回读均未建档)。上游目录现状/私有壳仓标待核(本机无 Upstreams/tangency 目录,PORTING.md 记工程实体在鸿蒙 PC)。### 五、适配中的难点与对策#### 难点一:surface 生命周期重建必须先销旧,否则 GPU 状态残留触发断言或黑屏。#### 难点二:IMEegui 假定 winit IME 通道;OHOS 上经会话层桥回注。#### 难点三:musl 链接aarch64-unknown-linux-ohos 目标 + 64K 页对齐 + 关 strip。### 六、编译、安装与启动环境前置:DevEco Studio(hvigorw 与 OHOS SDK)、meson + ninja、python3,交叉工具链路径见仓库 port-*/scripts/env.sh。预编译依赖随仓库分发,日常打包只需要:hvigorw assembleApp --no-daemon安装与启动:hdc install -r entry/build/default/outputs/default/*-signed.haphdc shell aa start -b com.starmodel.app -a EntryAbility### 七、功能边界与合规能力边界如实说明:已验证的是"可安装、可启动、核心工作流可用";依赖独立进程或平台缺口的能力(如部分插件体系)不在当前形态内,后续以仓库记录为准逐项推进,不提前宣称完成。合规方面:solidcraft v0.25.1 采用 MIT OR Apache-2.0,本仓库对源码的全部修改在同协议下公开,预编译产物与源码同仓分发以满足对应源码义务;再分发产物时必须一并提供完整源码。上游项目名与商标归其所有方,本适配为独立衍生作品,不代表上游官方背书。签名私钥与含密钥配置一律不入库。### 八、总结这套适配的价值,不在于"能跑一个演示程序",而在于把 solidcraft v0.25.1 这样体量的 Rust/egui 应用整体搬到鸿蒙 PC 的路径走通:平台依赖收敛到可替换的后端,窗口治理与输入法在壳层补齐,许可义务随仓库履行。最终产物是能在 HarmonyOS PC、平板乃至手机上安装使用的完整应用「轻星建模」。欢迎在开源鸿蒙 PC 社区(https://harmonypc.csdn.net/)交流移植经验,仓库地址:https://gitcode.com/OpenHarmonyPCDeveloper/ohos_solidcraft
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐