关于 render
render 是用于在 CAD Explorer 中打开生成或修改后的 CAD 与机器人描述文件的技能,面向需要查看模型或进行视觉复核的工作流。它提供浏览器查看链接,并支持通过命令行生成静态快照及特定 STEP 参数动画。
主要功能
- 01打开 CAD 与机器人描述文件
- 02复用 CAD Explorer 服务
- 03生成静态图像快照
- 04支持 STEP 参数动画 GIF
- 05提供多种视图与渲染模式
适用场景
- 01查看生成的 STEP 或 STL 模型
- 02检查 URDF、SRDF 或 SDF 机器人描述
- 03为设计复核生成诊断快照
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ earthtojake/ text-to-cad --skill render安装后在 Claude Code 中输入/render确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/moveit2-server.mdscripts/moveit2_server/environment.yml__init__.pycheck-moveit2-server.shconda-common.shrun-moveit2-server.shpyproject.tomlsetup.shscripts/moveit2_server/moveit2_server/joint_state_seed.py__init__.pydispatcher.pycontext.pyprotocol.pyserver.pymoveit_py.pyscripts/moveit2_server/tests/__init__.pytest_context.pytest_protocol.pytest_moveit_py_adapter.pyscripts/snapshot/__main__.py__init__.pyscripts/viewer/.gitignoreREADME.mdscripts/viewer/app/globals.cssscripts/viewer/common/cadScene.test.jsrender.htmlheadlessRenderEntry.jscadScene.jsrenderEdges.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 服务。