My PAT Loader
一个用于解析和处理AutoCAD .PAT(填充图案)文件的JavaScript模块。
特性
- ✅ 支持带角度、原点、delta值和虚线定义的完整PAT规则
- ✅ 高精度计算PAT图案的矢量线段表示
- ✅ 支持缩放、旋转和偏移图案
- ✅ 轻量级实现,无外部依赖
- ✅ 包含Vue.js示例应用
安装
git clone <repository-url>
cd my-pat-loader
npm install
主要API
这个库导出三个主要函数:
parsePatContent(patTextString)
解析PAT文件文本内容为结构化数据。
import { parsePatContent } from 'my-pat-loader';
const patContent = `*STARS,Stars pattern
45, 0, 0, 0, 20, 0, -20
135, 0, 0, 0, 20, 0, -20`;
const parsedPat = parsePatContent(patContent);
computePatternLines(parsedPatData, boundary, scale, rotation, offset)
根据解析后的PAT数据,计算指定边界内的矢量线段。
import { parsePatContent, computePatternLines } from 'my-pat-loader';
const parsedPat = parsePatContent(patContent);
const lines = computePatternLines(
parsedPat,
{ minX: 0, minY: 0, maxX: 100, maxY: 100 },
1.0,
0.0,
[0, 0]
);
checkPatternContinuity(parsedPatData, boundary, scale, rotation, offset)
检查图案在当前设置下是否在边界上形成连续的模式。
import { parsePatContent, checkPatternContinuity } from 'my-pat-loader';
const parsedPat = parsePatContent(patContent);
const continuity = checkPatternContinuity(
parsedPat,
{ minX: 0, minY: 0, maxX: 100, maxY: 100 },
1.0,
0.0,
[0, 0]
);
示例应用
项目包含一个基于Vue.js的完整示例应用,演示如何使用这个库来可视化PAT文件:
cd example
npm install
npm run dev
PAT文件格式参考
AutoCAD PAT文件格式的基本结构如下:
*图案名称[,描述]
角度, 原点X, 原点Y, 增量X, 增量Y[, 虚线定义...]
- 每个图案以
*
开头,后跟图案名称
- 后续每行定义一组平行线族
- 正数虚线定义表示绘制线段,负数表示不绘制(空白)
- 零长度虚线表示点
许可
AGPL-3.0