Mechanics Sketches

Polar Sponsor
爱发电 赞助
.NET 9.0

使用 MechanicsSketch 生成技术工程力学草图(梁、支座、力、力矩、尺寸、坐标系),可导出为 PDF/PNG/SVG 格式。

机械Sketches Skell. 您可以使用机械Sketches Python 库程序化生成工程力学素描.

功能概述

机械Sketches Skell. 您可以使用机械Sketches Python 库程序化生成工程力学素描.是一项面向实际任务的技能,主要用于Setup. 通过 pip:1. 或安装依赖性 ma 来安装库。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

MechanicsSketches 技能

你可以使用 MechanicsSketches Python 库以编程方式生成工程力学示意图。

环境配置

通过 pip 安装该库:

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

或手动安装依赖项,并将其路径添加到 PYTHONPATH 中:

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

快速上手 — 编写脚本

创建一个 Python 脚本,用于构建示意图并渲染输出:

from MechanicsSketches import *
import os

sketch = create_sketch("My Sketch")
S = 30.0  # 缩放因子(推荐值:20–40)

# 添加组件
add_beam(sketch, ax=0, ay=0, bx=10*S, by=0, scale_factor=S)
add_pinned_support(sketch, cx=0, cy=0, angle_deg=0, scale_factor=S)
add_roller_support(sketch, cx=10*S, cy=0, angle_deg=0, scale_factor=S)
add_force(sketch, cx=5*S, cy=0, angle_deg=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 文件生成示意图:

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

核心概念

缩放因子(S)

所有坐标位置和尺寸均应为 S 的整数倍(通常取 30.0),以确保各组件之间比例一致。

角度约定

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

可用组件

函数 说明 关键参数
add_beam(sketch, ax, ay, bx, by, scale_factor) 矩形梁 A→B 端点坐标、缩放因子
add_truss(sketch, ax, ay, bx, by, scale_factor) 杆件(直线段)A→B 端点坐标、缩放因子
add_pinned_support(sketch, cx, cy, angle_deg, scale_factor) 固定支座(三角形) 中心点、角度、缩放因子
add_roller_support(sketch, cx, cy, angle_deg, scale_factor) 可动支座(滚动支座) 中心点、角度、缩放因子
add_fixed_support(sketch, cx, cy, angle_deg, scale_factor) 固支(嵌固)支座 中心点、角度、缩放因子
add_hinge(sketch, cx, cy, scale_factor) 铰接节点(圆形) 中心点、缩放因子
add_force(sketch, cx, cy, angle_deg, scale_factor, annotation, ...) 力矢量箭头 作用点、角度、缩放因子、标注文本
add_moment(sketch, cx, cy, angle_deg, scale_factor, annotation, ...) 弯矩(圆弧形)箭头 作用点、角度、缩放因子、标注文本
add_dimension_arrow(sketch, cx, cy, length, angle_deg, scale_factor, annotation, ...) 双向尺寸标注箭头 中心点、长度、角度、缩放因子、标注文本
add_dimension_thickness(sketch, cx, cy, thickness, angle_deg, scale_factor, annotation, ...) 向内尺寸标注箭头 中心点、厚度、角度、缩放因子、标注文本
add_coordinate_system(sketch, cx, cy, angle_deg, scale_factor, ax1, ax2, ax3, ...) x-y-z 坐标轴系统 原点、角度、缩放因子、各轴标签
add_text(sketch, x, y, text, fontsize, name, rotation) 文本注释 位置、文本内容、字体大小

标注参数

力、弯矩及尺寸标注类函数支持以下参数:

  • annotation — LaTeX 字符串(例如:r"$F$"、r"$M_A$")
  • fontsize_scale — 相对字体大小(默认为 1.0)
  • offsetx、offsety — 标注文本相对于基准点的偏移量
  • rotate_annotation — 是否随组件一同旋转标注文本(默认为 False)

基础图元

如需自定义图形,可使用以下函数构造基本图元:

  • make_line(x0, y0, x1, y1, linewidth, layer, edgecolor)
  • make_circle(x, y, r, linewidth, layer, facecolor, edgecolor)
  • make_polygon(points, linewidth, layer, facecolor, edgecolor)
  • make_arc(x, y, width, height, theta1, theta2, angle, linewidth, layer)
  • make_text(x, y, text, fontsize, layer, color, ha, va, rotation)
  • make_rectangle(x0, y0, x1, y1, ...)

通过 add_to_sketch(sketch, primitive) 将图元添加至示意图中。

几何变换

  • translate(obj, dx, dy) — 沿指定偏移量平移对象
  • rotate(obj, cx, cy, angle_deg) — 绕指定点旋转对象
  • scale(obj, cx, cy, factor) — 以指定点为中心缩放对象

所有变换函数均返回新对象(非破坏性操作),支持链式调用。

渲染输出

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

支持的输出格式:.pdf、.png、.jpg、.svg

对 Agent 的使用提示

  1. 始终将缩放因子定义为 S = 30.0
  2. 先绘制梁,再在端点处添加支座,最后施加荷载
  3. 标注请使用 LaTeX 表达式,例如:r"$F$"、r"$M_0$"、r"$ell$"
  4. 如需查阅完整 API 签名,请参考 references/api_reference.md
  5. render() 函数必须指定 filename 参数,它不会以交互方式显示图像
  6. 切勿使用 mpl_render() —— 因其存在文字缩放问题已被弃用。请始终使用 render()。

外部端点

本技能不发起任何网络请求,全部处理均在本地完成。

安全与隐私

  • 无任何数据离开你的设备。 该技能仅读取本地 JSON 文件,并将图像/PDF 输出写入本地磁盘。
  • 无需提供任何 API 密钥或凭据。
  • 不收集任何遥测数据或分析信息。
  • 辅助脚本(scripts/generate_sketch.py)仅读取用户指定的输入文件,并将结果写入用户指定的输出路径。

可信声明

本技能由 MatthiasHBusch 开发与维护,源代码完全开源,采用 MIT 许可证发布。所有功能均在本地运行,除标准 Python 包(matplotlib、PyQt5)外,不依赖任何外部服务或库。

相关专题

更多
Tailwind CSS 如何制作导航栏和卡片
Tailwind CSS 如何制作导航栏和卡片

用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。

2026.11.03

0

17

Tailwind CSS 响应式布局怎么写
Tailwind CSS 响应式布局怎么写

Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。

2026.11.03

0

19

Tailwind CSS 常用类名怎么记
Tailwind CSS 常用类名怎么记

Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。

2026.11.03

0

12

码上飞入口地址合集
码上飞入口地址合集

本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。

2026.11.03

0

10

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习