mcpField
R
render

render

github.com/earthtojake设计与 UI23.9k1.3k 次安装今天更新
代码仓库

关于 render

render 是用于在 CAD Explorer 中打开生成或修改后的 CAD 与机器人描述文件的技能,面向需要查看模型或进行视觉复核的工作流。它提供浏览器查看链接,并支持通过命令行生成静态快照及特定 STEP 参数动画。

主要功能

  1. 01打开 CAD 与机器人描述文件
  2. 02复用 CAD Explorer 服务
  3. 03生成静态图像快照
  4. 04支持 STEP 参数动画 GIF
  5. 05提供多种视图与渲染模式

适用场景

  1. 01查看生成的 STEP 或 STL 模型
  2. 02检查 URDF、SRDF 或 SDF 机器人描述
  3. 03为设计复核生成诊断快照

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/earthtojake/text-to-cad --skill render

安装后在 Claude Code 中输入/render确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
moveit2-server.md
scripts/moveit2_server/
environment.yml
__init__.py
check-moveit2-server.sh
conda-common.sh
run-moveit2-server.sh
pyproject.toml
setup.sh
scripts/moveit2_server/moveit2_server/
joint_state_seed.py
__init__.py
dispatcher.py
context.py
protocol.py
server.py
moveit_py.py
scripts/moveit2_server/tests/
__init__.py
test_context.py
test_protocol.py
test_moveit_py_adapter.py
scripts/snapshot/
__main__.py
__init__.py
scripts/viewer/
.gitignore
README.md
scripts/viewer/app/
globals.css
scripts/viewer/common/
cadScene.test.js
render.html
headlessRenderEntry.js
cadScene.js
renderEdges.js

详细介绍

Render

使用此技能在 CAD Explorer 中打开生成或修改过的 CAD 和机器人描述文件。预期输入为一个或多个明确的文件路径,这些文件已存在,或刚由其他技能生成。

支持的文件:.step、.stp、.glb、.stl、.3mf、.dxf、.urdf、.srdf、.sdf。

交接约定

  • 接受来自 CAD、URDF、SRDF、SDF、SendCutSend 或标准零件工作流的明确文件路径。
  • 使用 dev:ensure 启动或复用 CAD Explorer;不要假设端口固定。将 dev:ensure 作为返回链接的查看器存活检查。
  • 必须复用端口:如果 dev:ensure 报告本地绑定或探测被拒绝(例如 EPERM 或 EACCES),请使用所需的本地绑定权限或提权,重新运行相同的 dev:ensure 命令,不要自行选择新端口。
  • 对于常规 Agent 交接,不要使用 npm run dev -- --port ...、原始 vite dev 或原始 vite preview;这些方式会绕过复用策略,可能导致多个本地 Explorer 服务同时运行。
  • 为每个请求的文件返回打印出的 Explorer URL。
  • 如需检查生成结果或提供视觉反馈,优先使用快照 CLI,而不是手动打开查看器或使用 Playwright。交接或实时检查仍需返回查看器链接。
  • 仅在检查 CAD STEP 模块参数动画时生成 GIF。其他情况请使用静态快照。
  • 如果启动失败,请报告失败情况,并让负责的技能继续进行非 GUI 验证。

命令

在此技能目录中:

npm --prefix scripts/viewer run dev:ensure -- --file path/to/model.step

如需保存无头快照,请使用技能级快照封装程序。它会将请求转交给查看器包中的 scripts/viewer/snapshot 实现:

python3 scripts/snapshot --job path/to/render-job.json
python3 scripts/snapshot --job -

仅常用主题快照提供快捷标志:

python3 scripts/snapshot \
  --input path/to/model.step \
  --output /tmp/model.png \
  --mode view \
  --theme technical \
  --camera iso \
  --view-labels

STEP 模块旁车参数可通过 --params 提供,用于静态图或动画参数 GIF:

python3 scripts/snapshot \
  --input path/to/model.step \
  --output /tmp/model.png \
  --params '{"drive":180,"ringVisible":false}'

python3 scripts/snapshot \
  --input path/to/model.step \
  --output /tmp/model.gif \
  --params '{"values":{"ringVisible":true},"animate":{"drive":{"from":0,"to":1260}},"durationSeconds":6,"fps":18,"loop":true}'

快照 CLI 默认使用 --theme technical,这是一种平面、高对比度主题,旨在用于视觉诊断,而非演示。--theme 接受内置主题名称、内联 JSON 主题对象,或 JSON 主题文件的路径;将 theme.display.mode 设为 solid 或 wireframe,以输出表面或线框。--params 用于 Explorer .step.js STEP 模块旁车参数,而非 Python/build123d 再生成参数。省略宽度或高度时,快照 CLI 会根据请求场景选择默认尺寸:诊断静态图为 1600x1200,简单无标签零件为 1200x900,剖面图、带标签或标注尺寸的视图至少为 1600x1200,复杂装配体通过 render.sizeProfile 使用 1800x1200 或 1920x1440,演示渲染通过 render.sizeProfile 使用 2400x1600 或 2800x1800,STEP 模块参数 GIF 为 960x640,联系表宽度至少为 2400 px。仅在透明度能解答具体的重叠、碰撞或内部关系问题时,才将透明快照用于演示。自定义主题设置、选区、剖面、环绕设置、机器人关节值、STEP 模块参数、DXF 厚度或折弯选项,以及多输出快照,请使用 JSON 作业。支持的渲染模式有 view、orbit、section 和 list。支持的输入格式有 .step、.stp、.glb、.stl、.3mf、.dxf、.urdf、.srdf 和 .sdf。

已知工作区根目录时,请显式传入:

npm --prefix scripts/viewer run dev:ensure -- \
  --workspace-root /path/to/workspace \
  --file path/to/model.step

仅在手动开发 Explorer 时使用前台 Vite:

npm --prefix scripts/viewer run dev

dev:ensure 会先在完整端口范围内探测并检查已注册的本地 CAD Explorer 服务,尽可能复用扫描根目录匹配的服务,只有在此之后才会在第一个可用端口上启动独立运行的 Vite 服务。请使用它打印出的 URL。

MoveIt2 控制

对于 SRDF Explorer 审查,只有在用户需要交互式 IK 或路径规划控制时,才启动 MoveIt2 服务。生成 SRDF 和普通 Explorer 链接无需启动该服务。

在此技能目录中:

scripts/moveit2_server/setup.sh
scripts/moveit2_server/check-moveit2-server.sh
scripts/moveit2_server/run-moveit2-server.sh

服务默认使用 ws://127.0.0.1:8765/ws。除非设置了 EXPLORER_MOVEIT2_WS_URL 或浏览器的 ?moveit2Ws= 查询参数进行覆盖,否则 CAD Explorer 在本地开发环境中会连接到该 URL。

协议和报告详情请阅读 references/moveit2-server.md。

常用的 Explorer 环境变量:

EXPLORER_PORT
EXPLORER_PORT_END
EXPLORER_ROOT_DIR
EXPLORER_DEFAULT_FILE
EXPLORER_WORKSPACE_ROOT
EXPLORER_GITHUB_URL
EXPLORER_MOVEIT2_WS_URL
EXPLORER_ALLOWED_HOSTS
EXPLORER_SERVER_REGISTRY

通过 remotehost/Tailscale Serve 暴露 CAD Explorer 时,请在启动或重启 dev:ensure 之前,将 EXPLORER_ALLOWED_HOSTS 设置为 Serve 主机名:

EXPLORER_ALLOWED_HOSTS=macbook-pro-108.tail3c8ded.ts.net \
  npm --prefix scripts/viewer run dev:ensure -- \
    --workspace-root /path/to/workspace \
    --root-dir models \
    --file path/to/model.urdf

返回远程链接之前,请在本地验证主机头路径:

curl -I -H 'Host: macbook-pro-108.tail3c8ded.ts.net' \
  'http://127.0.0.1:PORT/?file=path/to/model.urdf'

预期响应为 200 OK。

如果远程手机加载了页面框架,但通过 Vite 开发服务器显示空白/黑屏,请先尝试生产预览,再进行更深入的渲染调整。使用相同的扫描根目录和默认文件进行构建,使用相同的 EXPLORER_ALLOWED_HOSTS 主机名启动 vite preview,验证主机头路径,然后将 remotehost/Tailscale Serve 重新指向预览端口:

EXPLORER_WORKSPACE_ROOT=/path/to/workspace \
EXPLORER_ROOT_DIR=models \
EXPLORER_DEFAULT_FILE=robots/elrobot/elrobot-follower.urdf \
  npm --prefix scripts/viewer run build

cd scripts/viewer
EXPLORER_WORKSPACE_ROOT=/path/to/workspace \
EXPLORER_ROOT_DIR=models \
EXPLORER_DEFAULT_FILE=robots/elrobot/elrobot-follower.urdf \
EXPLORER_ALLOWED_HOSTS=macbook-pro-108.tail3c8ded.ts.net \
EXPLORER_PORT=4202 \
  npm exec vite preview -- --host 127.0.0.1 --port 4202 --strictPort

这样可以从手机访问路径中移除 Vite 开发客户端和 HMR websocket,同时保留相同的 ?file= URL。

保持 GUI 操作轻量:只有在需要链接/审查时才启动服务;对于 Agent 工作流,优先使用 dev:ensure;除非用户提出要求,否则不要停止现有的 Explorer 服务。

评论

支持 Markdown