闲社服务运行正常AI智能体自动化平台
m

机械草图

技能标识:mechanics-sketches

>

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

机械草图

MechanicsSketches 技能

您可以使用 MechanicsSketches Python 库以编程方式生成工程力学草图。

安装

通过 pip 安装库:

bash
pip install git+https://github.com/MatthiasHBusch/MechanicsSketches.git

或者手动安装依赖项并添加到 PYTHONPATH:

bash
pip install matplotlib PyQt5
export PYTHONPATH=/path/to/parent/of/MechanicsSketches:$PYTHONPATH

快速入门 — 编写脚本

创建一个构建草图并渲染的 Python 脚本:

python
from MechanicsSketches import *
import os

sketch = create_sketch(My Sketch)
S = 30.0 # 比例因子(推荐:20-40)

添加组件

addbeam(sketch, ax=0, ay=0, bx=10*S, by=0, scalefactor=S) addpinnedsupport(sketch, cx=0, cy=0, angledeg=0, scalefactor=S) addrollersupport(sketch, cx=10*S, cy=0, angledeg=0, scalefactor=S) addforce(sketch, cx=5*S, cy=0, angledeg=0, scale_factor=S, annotation=r$F$)

渲染

script_dir = os.path.dirname(os.path.abspath(file)) render(sketch, filename=os.path.join(script_dir, output.pdf), dpi=300)

然后运行:python my_sketch.py

快速入门 — 使用辅助脚本

或者,使用捆绑的辅助脚本从 JSON 渲染:

bash
python scripts/generate_sketch.py input.json output.pdf

关键概念

比例因子(S)

所有位置和尺寸应为 S 的倍数(通常为 30.0)。这可以保持各组件之间的比例一致。

角度约定

  • - angle_deg=0 → 默认方向(支撑/力朝上,尺寸水平)
  • 角度以度为单位逆时针旋转

可用组件

函数描述关键参数
addbeam(sketch, ax, ay, bx, by, scalefactor)矩形梁 A→B端点,比例
addtruss(sketch, ax, ay, bx, by, scalefactor)
线杆件 A→B | 端点,比例 | | addpinnedsupport(sketch, cx, cy, angledeg, scalefactor) | 固定位置支撑(三角形) | 中心,角度,比例 | | addrollersupport(sketch, cx, cy, angledeg, scalefactor) | 滑动支撑 | 中心,角度,比例 | | addfixedsupport(sketch, cx, cy, angledeg, scalefactor) | 固定墙支撑 | 中心,角度,比例 | | addhinge(sketch, cx, cy, scalefactor) | 铰接圆 | 中心,比例 | | addforce(sketch, cx, cy, angledeg, scale_factor, annotation, ...) | 力箭头 | 中心,角度,比例,标签 | | addmoment(sketch, cx, cy, angledeg, scale_factor, annotation, ...) | 弯曲力矩箭头 | 中心,角度,比例,标签 | | adddimensionarrow(sketch, cx, cy, length, angledeg, scalefactor, annotation, ...) | 双头尺寸箭头 | 中心,长度,角度,比例,标签 | | adddimensionthickness(sketch, cx, cy, thickness, angledeg, scalefactor, annotation, ...) | 内向尺寸箭头 | 中心,厚度,角度,比例,标签 | | addcoordinatesystem(sketch, cx, cy, angledeg, scalefactor, ax1, ax2, ax3, ...) | x-y-z 轴 | 中心,角度,比例,轴标签 | | add_text(sketch, x, y, text, fontsize, name, rotation) | 文本注释 | 位置,文本,字体大小 |

注释参数

力、力矩和尺寸函数接受:

  • - annotation — LaTeX 字符串(例如 r$F$,r$MA$)
  • fontsizescale — 相对字体大小(默认 1.0)
  • offsetx,offsety — 标签位置偏移
  • rotate_annotation — 标签随组件旋转(默认 False)

基本图元

对于自定义形状,使用:

  • - makeline(x0, y0, x1, y1, linewidth, layer, edgecolor)
  • makecircle(x, y, r, linewidth, layer, facecolor, edgecolor)
  • makepolygon(points, linewidth, layer, facecolor, edgecolor)
  • makearc(x, y, width, height, theta1, theta2, angle, linewidth, layer)
  • maketext(x, y, text, fontsize, layer, color, ha, va, rotation)
  • makerectangle(x0, y0, x1, y1, ...)

通过 addtosketch(sketch, primitive) 添加到草图。

变换

  • - translate(obj, dx, dy) — 按偏移移动
  • rotate(obj, cx, cy, angle_deg) — 绕点旋转
  • scale(obj, cx, cy, factor) — 从中心缩放

所有操作返回新对象(非破坏性)。可以链式调用。

渲染

python
render(sketch, filename=output.pdf, dpi=300) # Qt 渲染器(默认,推荐)
mpl_render(sketch, filename=output.pdf) # Matplotlib 回退(已弃用,文本缩放问题)

支持的格式:.pdf,.png,.jpg,.svg

给代理的提示

  1. 1. 始终定义 S = 30.0 作为比例因子
  2. 先放置梁,然后在端点放置支撑,最后放置荷载
  3. 使用 LaTeX 进行注释:r$F$,r$M0$,r$\ell$
  4. 有关详细的 API 签名,请参见 references/apireference.md
  5. render() 函数需要文件名——它不会交互式显示
  6. 不要使用 mpl_render()——由于文本缩放问题,它已被弃用。始终使用 render()。

外部端点

此技能不进行任何网络请求。所有处理均在本地完成。

安全与隐私

  • - 没有数据离开您的机器。 该技能仅读取本地 JSON 文件并写入本地图像/PDF 输出。
  • 不需要 API 密钥或凭据。
  • 没有遥测或分析。
  • 辅助脚本(scripts/generate_sketch.py)仅读取用户指定的输入文件并写入指定的输出路径。

信任声明

此技能由 MatthiasHBusch 开发和维护。源代码在 MIT 许可下完全开源。所有功能在本地运行,除标准 Python 包(matplotlib,PyQt5)外没有外部依赖。

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 mechanics-sketches-1776315910 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 mechanics-sketches-1776315910 技能

通过命令行安装

skillhub install mechanics-sketches-1776315910

下载

⬇ 下载 mechanics-sketches v1.0.0(免费)

文件大小: 6.87 KB | 发布时间: 2026-4-16 16:42

v1.0.0 最新 2026-4-16 16:42
Initial release of MechanicsSketches skill.

- Generate technical engineering mechanics sketches (beams, supports, forces, moments, dimensions, coordinate systems) as PDF/PNG/SVG using the MechanicsSketches Python library.
- Includes script and JSON-based workflows for rendering free-body diagrams and structural sketches.
- All processing is done locally; no network requests, telemetry, or credentials required.
- Extensive documentation provided for components, annotation, transformations, and rendering.
- MIT-licensed, open source, and developed by MatthiasHBusch.
返回顶部