跳转至

FreeCAD 演示视频参考

最后更新:2026-04-22 UTC

本文件记录了基于真实 cli-anything-freecad 轨迹和真实 FreeCAD 预览包构建的程序化视频产物。

Curiosity V6

源轨迹:

  • /root/preview-artifacts/20260421/freecad-curiosity-v6/trajectory.json

当前渲染目标:

  • /root/preview-artifacts/20260421/freecad-curiosity-v6/demo.mp4

最终渲染产物:

  • /root/preview-artifacts/20260421/freecad-curiosity-v6/demo.mp4
  • 时长:116.166667s
  • 大小:3,011,924 bytes

精修后的分屏重新渲染:

  • /root/preview-artifacts/20260422/freecad-curiosity-v6/demo-polished.mp4
  • 时长:71.416667s
  • 大小:2,266,665 bytes

渲染命令:

python3 /root/CLI-Anything-preview/docs/scripts/freecad_live_preview_demo.py \
  render \
  --timeline /root/preview-artifacts/20260421/freecad-curiosity-v6/trajectory.json \
  --speed 8

结尾展示方法:

  • 复用真实最终版 Curiosity v6 项目 JSON
  • 添加一个预置地面和标记座作为额外的真实几何体
  • 为一系列摆好姿态的平移操作生成额外的真实 FreeCAD preview capture 精选预览包
  • 将这些真实的精选捕获追加为程序化视频中的最终全屏展示片段

预期的展示缓存位置:

  • /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase/sequence.json
  • /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase/projects/
  • /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase/captures/

关键静帧:

  • 轨迹结束: /root/preview-artifacts/20260421/freecad-curiosity-v6/stills/trajectory-end.png
  • 展示开始: /root/preview-artifacts/20260421/freecad-curiosity-v6/stills/showcase-start.png
  • 展示中途: /root/preview-artifacts/20260421/freecad-curiosity-v6/stills/showcase-mid.png
  • 展示最终: /root/preview-artifacts/20260421/freecad-curiosity-v6/stills/showcase-final.png

实现说明:

  • 主分屏部分使用真实的 Curiosity v6 实时会话时间线以及真实复制的预览包
  • 结尾展示使用 12 个额外的真实 FreeCAD 精选捕获
  • 展示片段在主轨迹主体之后开始,并以全屏结尾面板的形式渲染
  • 当前渲染使用 --speed 8 生成,既保持了较长真实轨迹的可读性,又不会把视频变成长达数分钟的原始回放

精修渲染命令:

python3 - <<'PY'
import importlib.util
from pathlib import Path
script = Path('/root/CLI-Anything-preview/docs/scripts/freecad_live_preview_demo.py')
spec = importlib.util.spec_from_file_location('freecad_live_preview_demo', script)
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)
print(
    mod.render_video(
        Path('/root/preview-artifacts/20260421/freecad-curiosity-v6/trajectory.json'),
        output_path=Path('/root/preview-artifacts/20260422/freecad-curiosity-v6/demo-polished.mp4'),
        fps=12,
        speed=14.0,
        keep_frames=True,
    )
)
PY

精修后的分屏改动:

  • 左侧面板现在是经过设计的 Agent Command Stream,而不是字面意义上的终端
  • 命令卡片使用真实捕获的命令字符串,并经过规范化以提升可读性
  • 结尾不再使用稀疏的精选捕获混合
  • 结尾现在使用真实的组合运动序列:
  • 一次完整的转盘旋转
  • 随后向前行驶
  • 结尾帧来自 cli-anything-freecad motion render-video 的输出,位置为: /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase-motion/

精修渲染的关键静帧:

  • 早期命令流: /root/preview-artifacts/20260422/freecad-curiosity-v6/stills/early-command-stream.png
  • 中途预览监视器: /root/preview-artifacts/20260422/freecad-curiosity-v6/stills/mid-preview-monitor.png
  • 展示旋转: /root/preview-artifacts/20260422/freecad-curiosity-v6/stills/showcase-rotation.png
  • 展示最终行驶: /root/preview-artifacts/20260422/freecad-curiosity-v6/stills/showcase-final-drive.png

说明:

  • 视频的分屏主体仍然基于真实 CLI 轨迹和真实实时预览会话
  • 结尾展示不是屏幕录制;它是由最终项目状态派生的额外真实 FreeCAD 预览捕获组合而成

Curiosity V6 真实运动展示

源轨迹:

  • /root/preview-artifacts/20260421/freecad-curiosity-v6/trajectory.json

真实运动渲染目标:

  • /root/preview-artifacts/20260422/freecad-curiosity-v6-true-motion/curiosity_true_motion.mp4

最终渲染产物:

  • /root/preview-artifacts/20260422/freecad-curiosity-v6-true-motion/curiosity_true_motion.mp4
  • 时长:6.0s
  • 帧数:73
  • 大小:315,872 bytes

渲染命令:

python3 /root/CLI-Anything-preview/docs/scripts/freecad_live_preview_demo.py \
  motion-showcase \
  --timeline /root/preview-artifacts/20260421/freecad-curiosity-v6/trajectory.json \
  --output-dir /root/preview-artifacts/20260422/freecad-curiosity-v6-true-motion \
  --fps 12

方法:

  • 复用真实最终版 Curiosity v6 项目 JSON
  • 添加预置的展示地面/标记作为真实几何体
  • 在 6.0s 内生成 13 个运动关键姿态
  • 将这些关键帧存储在项目的 motions 集合中
  • 调用 cli-anything-freecad motion render-video
  • 通过真实的 FreeCAD GUI 捕获渲染每一帧,并用 ffmpeg 编码

产物:

  • 运动项目: /root/preview-artifacts/20260422/freecad-curiosity-v6-true-motion/curiosity_true_motion.json
  • 运动清单: /root/preview-artifacts/20260422/freecad-curiosity-v6-true-motion/motion_manifest.json
  • 帧序列: /root/preview-artifacts/20260422/freecad-curiosity-v6-true-motion/frames/sequence.json

关键静帧:

  • 开始: /root/preview-artifacts/20260422/freecad-curiosity-v6-true-motion/stills/start.png
  • 中途: /root/preview-artifacts/20260422/freecad-curiosity-v6-true-motion/stills/mid.png
  • 最终: /root/preview-artifacts/20260422/freecad-curiosity-v6-true-motion/stills/final.png

备注:

  • 此展示使用真实的逐帧 FreeCAD 渲染
  • 未使用基于混合或合成插值的中间运动
  • 运动目前由部件放置关键帧驱动,而非原生装配体关节仿真

Curiosity 转盘运动

源轨迹:

  • /root/preview-artifacts/20260421/freecad-curiosity-v6/trajectory.json

转盘渲染目标:

  • /root/preview-artifacts/20260422/freecad-curiosity-v6-turntable-motion/curiosity_turntable_motion.mp4

最终渲染产物:

  • /root/preview-artifacts/20260422/freecad-curiosity-v6-turntable-motion/curiosity_turntable_motion.mp4
  • 时长:7.0s
  • 帧数:85
  • 大小:719,298 字节

渲染命令:

python3 /root/CLI-Anything-preview/docs/scripts/freecad_live_preview_demo.py \
  motion-showcase \
  --motion-style spin \
  --timeline /root/preview-artifacts/20260421/freecad-curiosity-v6/trajectory.json \
  --output-dir /root/preview-artifacts/20260422/freecad-curiosity-v6-turntable-motion \
  --fps 12

方法:

  • 复用真实的最终 Curiosity v6 项目 JSON
  • 将展示用的地面/标记作为真实几何体添加
  • 在 7.0s 内生成 19 个转盘关键姿态
  • 使火星车绕其舞台中心枢轴旋转
  • 调用 cli-anything-freecad motion render-video
  • 通过真实 FreeCAD GUI 捕获渲染每一帧,并使用 ffmpeg 编码

产物:

  • 运动项目: /root/preview-artifacts/20260422/freecad-curiosity-v6-turntable-motion/curiosity_turntable_motion.json
  • 运动清单: /root/preview-artifacts/20260422/freecad-curiosity-v6-turntable-motion/motion_manifest.json
  • 帧序列: /root/preview-artifacts/20260422/freecad-curiosity-v6-turntable-motion/frames/sequence.json

关键静态帧:

  • 起始帧: /root/preview-artifacts/20260422/freecad-curiosity-v6-turntable-motion/stills/start.png
  • 中间帧: /root/preview-artifacts/20260422/freecad-curiosity-v6-turntable-motion/stills/mid.png
  • 最终帧: /root/preview-artifacts/20260422/freecad-curiosity-v6-turntable-motion/stills/final.png

备注:

  • 此转盘同样是真实的逐帧 FreeCAD 渲染
  • 未使用合成插值帧
  • 朝向目前由每个部件的放置关键帧驱动,而非原生装配体关节仿真

Curiosity 组合运动

源轨迹:

  • /root/preview-artifacts/20260421/freecad-curiosity-v6/trajectory.json

组合渲染目标:

  • /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase-motion/curiosity_combo_motion.mp4

最终渲染产物:

  • /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase-motion/curiosity_combo_motion.mp4
  • 时长:9.0s
  • 帧数:109

渲染命令:

python3 /root/CLI-Anything-preview/docs/scripts/freecad_live_preview_demo.py \
  motion-showcase \
  --motion-style combo \
  --timeline /root/preview-artifacts/20260421/freecad-curiosity-v6/trajectory.json \
  --output-dir /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase-motion \
  --fps 12

方法:

  • 复用真实的最终 Curiosity v6 项目 JSON
  • 将展示用的地面/标记作为真实几何体添加
  • 在 9.0s 内生成 25 个运动关键姿态
  • 先完成一整圈转盘旋转
  • 然后在舞台上向前行驶
  • 通过真实 FreeCAD GUI 捕获渲染每一帧
  • 使用 ffmpeg 将结果编码为 MP4

产物:

  • 运动项目: /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase-motion/curiosity_combo_motion.json
  • 运动清单: /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase-motion/motion_manifest.json
  • 帧序列: /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase-motion/frames/sequence.json

关键静态帧:

  • 起始帧: /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase-motion/stills/start.png
  • 中间帧: /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase-motion/stills/mid.png
  • 最终帧: /root/preview-artifacts/20260421/freecad-curiosity-v6/showcase-motion/stills/final.png

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/CLI-Anything