@mlightcad/cad-simple-viewer 1.7.8-preview.1 → 1.7.8-preview.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cad-simple-viewer.js +10120 -8596
- package/dist/cad-simple-viewer.umd.cjs +82 -82
- package/lib/app/AcApContext.d.ts.map +1 -1
- package/lib/app/AcApContext.js +10 -1
- package/lib/app/AcApContext.js.map +1 -1
- package/lib/app/AcApDocManager.d.ts.map +1 -1
- package/lib/app/AcApDocManager.js +28 -2
- package/lib/app/AcApDocManager.js.map +1 -1
- package/lib/command/AcApObjectScaleCmd.d.ts +12 -0
- package/lib/command/AcApObjectScaleCmd.d.ts.map +1 -0
- package/lib/command/AcApObjectScaleCmd.js +193 -0
- package/lib/command/AcApObjectScaleCmd.js.map +1 -0
- package/lib/command/AcApSysVarCmd.d.ts.map +1 -1
- package/lib/command/AcApSysVarCmd.js +2 -0
- package/lib/command/AcApSysVarCmd.js.map +1 -1
- package/lib/command/draw/AcApDimAlignedCmd.d.ts +21 -0
- package/lib/command/draw/AcApDimAlignedCmd.d.ts.map +1 -0
- package/lib/command/draw/AcApDimAlignedCmd.js +218 -0
- package/lib/command/draw/AcApDimAlignedCmd.js.map +1 -0
- package/lib/command/draw/AcApDimAngularCmd.d.ts +27 -0
- package/lib/command/draw/AcApDimAngularCmd.d.ts.map +1 -0
- package/lib/command/draw/AcApDimAngularCmd.js +264 -0
- package/lib/command/draw/AcApDimAngularCmd.js.map +1 -0
- package/lib/command/draw/AcApDimArcCmd.d.ts +26 -0
- package/lib/command/draw/AcApDimArcCmd.d.ts.map +1 -0
- package/lib/command/draw/AcApDimArcCmd.js +184 -0
- package/lib/command/draw/AcApDimArcCmd.js.map +1 -0
- package/lib/command/draw/AcApDimBlockUtil.d.ts +40 -0
- package/lib/command/draw/AcApDimBlockUtil.d.ts.map +1 -0
- package/lib/command/draw/AcApDimBlockUtil.js +290 -0
- package/lib/command/draw/AcApDimBlockUtil.js.map +1 -0
- package/lib/command/draw/AcApDimChainUtil.d.ts +13 -0
- package/lib/command/draw/AcApDimChainUtil.d.ts.map +1 -0
- package/lib/command/draw/AcApDimChainUtil.js +140 -0
- package/lib/command/draw/AcApDimChainUtil.js.map +1 -0
- package/lib/command/draw/AcApDimCmdUtil.d.ts +22 -0
- package/lib/command/draw/AcApDimCmdUtil.d.ts.map +1 -0
- package/lib/command/draw/AcApDimCmdUtil.js +125 -0
- package/lib/command/draw/AcApDimCmdUtil.js.map +1 -0
- package/lib/command/draw/AcApDimContinueCmd.d.ts +13 -0
- package/lib/command/draw/AcApDimContinueCmd.d.ts.map +1 -0
- package/lib/command/draw/AcApDimContinueCmd.js +204 -0
- package/lib/command/draw/AcApDimContinueCmd.js.map +1 -0
- package/lib/command/draw/AcApDimDiameterCmd.d.ts +27 -0
- package/lib/command/draw/AcApDimDiameterCmd.d.ts.map +1 -0
- package/lib/command/draw/AcApDimDiameterCmd.js +204 -0
- package/lib/command/draw/AcApDimDiameterCmd.js.map +1 -0
- package/lib/command/draw/AcApDimLinearCmd.d.ts +10 -13
- package/lib/command/draw/AcApDimLinearCmd.d.ts.map +1 -1
- package/lib/command/draw/AcApDimLinearCmd.js +161 -97
- package/lib/command/draw/AcApDimLinearCmd.js.map +1 -1
- package/lib/command/draw/AcApDimOrdinateCmd.d.ts +22 -0
- package/lib/command/draw/AcApDimOrdinateCmd.d.ts.map +1 -0
- package/lib/command/draw/AcApDimOrdinateCmd.js +186 -0
- package/lib/command/draw/AcApDimOrdinateCmd.js.map +1 -0
- package/lib/command/draw/AcApDimRadiusCmd.d.ts +28 -0
- package/lib/command/draw/AcApDimRadiusCmd.d.ts.map +1 -0
- package/lib/command/draw/AcApDimRadiusCmd.js +206 -0
- package/lib/command/draw/AcApDimRadiusCmd.js.map +1 -0
- package/lib/command/draw/index.d.ts +9 -0
- package/lib/command/draw/index.d.ts.map +1 -1
- package/lib/command/draw/index.js +9 -0
- package/lib/command/draw/index.js.map +1 -1
- package/lib/command/index.d.ts +1 -0
- package/lib/command/index.d.ts.map +1 -1
- package/lib/command/index.js +1 -0
- package/lib/command/index.js.map +1 -1
- package/lib/i18n/ar/command.d.ts +34 -0
- package/lib/i18n/ar/command.d.ts.map +1 -1
- package/lib/i18n/ar/command.js +1 -1
- package/lib/i18n/ar/command.js.map +1 -1
- package/lib/i18n/ar/jig.d.ts +244 -0
- package/lib/i18n/ar/jig.d.ts.map +1 -1
- package/lib/i18n/ar/jig.js +1 -1
- package/lib/i18n/ar/jig.js.map +1 -1
- package/lib/i18n/cs/command.d.ts +24 -0
- package/lib/i18n/cs/command.d.ts.map +1 -1
- package/lib/i18n/cs/command.js +24 -0
- package/lib/i18n/cs/command.js.map +1 -1
- package/lib/i18n/cs/jig.d.ts +221 -0
- package/lib/i18n/cs/jig.d.ts.map +1 -1
- package/lib/i18n/cs/jig.js +21 -5
- package/lib/i18n/cs/jig.js.map +1 -1
- package/lib/i18n/en/command.d.ts +34 -0
- package/lib/i18n/en/command.d.ts.map +1 -1
- package/lib/i18n/en/command.js +34 -0
- package/lib/i18n/en/command.js.map +1 -1
- package/lib/i18n/en/jig.d.ts +244 -0
- package/lib/i18n/en/jig.d.ts.map +1 -1
- package/lib/i18n/en/jig.js +147 -3
- package/lib/i18n/en/jig.js.map +1 -1
- package/lib/i18n/tr/command.d.ts +24 -0
- package/lib/i18n/tr/command.d.ts.map +1 -1
- package/lib/i18n/tr/command.js +24 -0
- package/lib/i18n/tr/command.js.map +1 -1
- package/lib/i18n/tr/jig.d.ts +221 -0
- package/lib/i18n/tr/jig.d.ts.map +1 -1
- package/lib/i18n/tr/jig.js +21 -5
- package/lib/i18n/tr/jig.js.map +1 -1
- package/lib/i18n/zh/command.d.ts +34 -0
- package/lib/i18n/zh/command.d.ts.map +1 -1
- package/lib/i18n/zh/command.js +34 -0
- package/lib/i18n/zh/command.js.map +1 -1
- package/lib/i18n/zh/jig.d.ts +244 -0
- package/lib/i18n/zh/jig.d.ts.map +1 -1
- package/lib/i18n/zh/jig.js +135 -3
- package/lib/i18n/zh/jig.js.map +1 -1
- package/lib/view/AcTrView2d.d.ts +28 -0
- package/lib/view/AcTrView2d.d.ts.map +1 -1
- package/lib/view/AcTrView2d.js +147 -74
- package/lib/view/AcTrView2d.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
var __values = (this && this.__values) || function(o) {
|
|
2
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
3
|
+
if (m) return m.call(o);
|
|
4
|
+
if (o && typeof o.length === "number") return {
|
|
5
|
+
next: function () {
|
|
6
|
+
if (o && i >= o.length) o = void 0;
|
|
7
|
+
return { value: o && o[i++], done: !o };
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
11
|
+
};
|
|
12
|
+
import { AcDbAlignedDimension, AcDbArc, AcDbCircle, AcDbDataGenerator, AcDbDimStyleTableRecord, AcDbLine, AcDbPolyline, AcDbRotatedDimension, AcGePoint3d } from '@mlightcad/data-model';
|
|
13
|
+
export var DIM_PREVIEW_BLOCK = '*UDIM';
|
|
14
|
+
/** Allocate the next anonymous dimension block name `*D{n}`. */
|
|
15
|
+
export function allocateDimBlockName(db) {
|
|
16
|
+
var e_1, _a;
|
|
17
|
+
var blocks = db.tables.blockTable.newIterator();
|
|
18
|
+
var maxNum = 0;
|
|
19
|
+
try {
|
|
20
|
+
for (var blocks_1 = __values(blocks), blocks_1_1 = blocks_1.next(); !blocks_1_1.done; blocks_1_1 = blocks_1.next()) {
|
|
21
|
+
var block = blocks_1_1.value;
|
|
22
|
+
var name_1 = block.name;
|
|
23
|
+
if (!name_1.startsWith('*D'))
|
|
24
|
+
continue;
|
|
25
|
+
var num = Number(name_1.slice(2));
|
|
26
|
+
if (Number.isInteger(num) && num > maxNum) {
|
|
27
|
+
maxNum = num;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
32
|
+
finally {
|
|
33
|
+
try {
|
|
34
|
+
if (blocks_1_1 && !blocks_1_1.done && (_a = blocks_1.return)) _a.call(blocks_1);
|
|
35
|
+
}
|
|
36
|
+
finally { if (e_1) throw e_1.error; }
|
|
37
|
+
}
|
|
38
|
+
return "*D".concat(maxNum + 1);
|
|
39
|
+
}
|
|
40
|
+
/** Ensure default arrow resources exist for dimension creation. */
|
|
41
|
+
export function ensureDimResources(db) {
|
|
42
|
+
new AcDbDataGenerator(db).createArrowBlock();
|
|
43
|
+
}
|
|
44
|
+
/** Fields the Dimension Style Manager reads and writes. */
|
|
45
|
+
export var DIM_STYLE_FIELDS = [
|
|
46
|
+
'dimpost',
|
|
47
|
+
'dimapost',
|
|
48
|
+
'dimscale',
|
|
49
|
+
'dimasz',
|
|
50
|
+
'dimexo',
|
|
51
|
+
'dimdli',
|
|
52
|
+
'dimexe',
|
|
53
|
+
'dimrnd',
|
|
54
|
+
'dimdle',
|
|
55
|
+
'dimtp',
|
|
56
|
+
'dimtm',
|
|
57
|
+
'dimtxt',
|
|
58
|
+
'dimcen',
|
|
59
|
+
'dimtsz',
|
|
60
|
+
'dimaltf',
|
|
61
|
+
'dimlfac',
|
|
62
|
+
'dimtvp',
|
|
63
|
+
'dimtfac',
|
|
64
|
+
'dimgap',
|
|
65
|
+
'dimaltrnd',
|
|
66
|
+
'dimtfill',
|
|
67
|
+
'dimtfillclr',
|
|
68
|
+
'dimtxtdirection',
|
|
69
|
+
'dimtol',
|
|
70
|
+
'dimlim',
|
|
71
|
+
'dimtih',
|
|
72
|
+
'dimtoh',
|
|
73
|
+
'dimse1',
|
|
74
|
+
'dimse2',
|
|
75
|
+
'dimtad',
|
|
76
|
+
'dimzin',
|
|
77
|
+
'dimazin',
|
|
78
|
+
'dimalt',
|
|
79
|
+
'dimaltd',
|
|
80
|
+
'dimtofl',
|
|
81
|
+
'dimsah',
|
|
82
|
+
'dimtix',
|
|
83
|
+
'dimsoxd',
|
|
84
|
+
'dimclrd',
|
|
85
|
+
'dimclre',
|
|
86
|
+
'dimclrt',
|
|
87
|
+
'dimadec',
|
|
88
|
+
'dimdec',
|
|
89
|
+
'dimtdec',
|
|
90
|
+
'dimaltu',
|
|
91
|
+
'dimalttd',
|
|
92
|
+
'dimaunit',
|
|
93
|
+
'dimfrac',
|
|
94
|
+
'dimlunit',
|
|
95
|
+
'dimdsep',
|
|
96
|
+
'dimtmove',
|
|
97
|
+
'dimjust',
|
|
98
|
+
'dimsd1',
|
|
99
|
+
'dimsd2',
|
|
100
|
+
'dimtolj',
|
|
101
|
+
'dimtzin',
|
|
102
|
+
'dimaltz',
|
|
103
|
+
'dimalttz',
|
|
104
|
+
'dimatfit',
|
|
105
|
+
'dimupt',
|
|
106
|
+
'dimtxsty',
|
|
107
|
+
'dimldrblk',
|
|
108
|
+
'dimblk',
|
|
109
|
+
'dimblk1',
|
|
110
|
+
'dimblk2',
|
|
111
|
+
'dimlwd',
|
|
112
|
+
'dimlwe'
|
|
113
|
+
];
|
|
114
|
+
var OVERRIDE_STYLE = '*DimOverride';
|
|
115
|
+
var dimStyleOverrides = new WeakMap();
|
|
116
|
+
export function readDimStyleFields(style) {
|
|
117
|
+
var e_2, _a;
|
|
118
|
+
var out = {};
|
|
119
|
+
try {
|
|
120
|
+
for (var DIM_STYLE_FIELDS_1 = __values(DIM_STYLE_FIELDS), DIM_STYLE_FIELDS_1_1 = DIM_STYLE_FIELDS_1.next(); !DIM_STYLE_FIELDS_1_1.done; DIM_STYLE_FIELDS_1_1 = DIM_STYLE_FIELDS_1.next()) {
|
|
121
|
+
var key = DIM_STYLE_FIELDS_1_1.value;
|
|
122
|
+
out[key] = style[key];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
126
|
+
finally {
|
|
127
|
+
try {
|
|
128
|
+
if (DIM_STYLE_FIELDS_1_1 && !DIM_STYLE_FIELDS_1_1.done && (_a = DIM_STYLE_FIELDS_1.return)) _a.call(DIM_STYLE_FIELDS_1);
|
|
129
|
+
}
|
|
130
|
+
finally { if (e_2) throw e_2.error; }
|
|
131
|
+
}
|
|
132
|
+
return out;
|
|
133
|
+
}
|
|
134
|
+
export function writeDimStyleFields(style, values) {
|
|
135
|
+
var e_3, _a;
|
|
136
|
+
try {
|
|
137
|
+
for (var DIM_STYLE_FIELDS_2 = __values(DIM_STYLE_FIELDS), DIM_STYLE_FIELDS_2_1 = DIM_STYLE_FIELDS_2.next(); !DIM_STYLE_FIELDS_2_1.done; DIM_STYLE_FIELDS_2_1 = DIM_STYLE_FIELDS_2.next()) {
|
|
138
|
+
var key = DIM_STYLE_FIELDS_2_1.value;
|
|
139
|
+
if (values[key] !== undefined) {
|
|
140
|
+
;
|
|
141
|
+
style[key] = values[key];
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
146
|
+
finally {
|
|
147
|
+
try {
|
|
148
|
+
if (DIM_STYLE_FIELDS_2_1 && !DIM_STYLE_FIELDS_2_1.done && (_a = DIM_STYLE_FIELDS_2.return)) _a.call(DIM_STYLE_FIELDS_2);
|
|
149
|
+
}
|
|
150
|
+
finally { if (e_3) throw e_3.error; }
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
export function getDimStyleOverride(db) {
|
|
154
|
+
var _a;
|
|
155
|
+
return (_a = dimStyleOverrides.get(db)) !== null && _a !== void 0 ? _a : null;
|
|
156
|
+
}
|
|
157
|
+
export function setDimStyleOverride(db, values) {
|
|
158
|
+
if (!values || Object.keys(values).length === 0) {
|
|
159
|
+
dimStyleOverrides.delete(db);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
dimStyleOverrides.set(db, values);
|
|
163
|
+
}
|
|
164
|
+
function ensureOverrideStyle(db, values) {
|
|
165
|
+
var baseName = db.dimstyle || 'Standard';
|
|
166
|
+
var base = db.tables.dimStyleTable.getAt(baseName);
|
|
167
|
+
var record = db.tables.dimStyleTable.getAt(OVERRIDE_STYLE);
|
|
168
|
+
if (!record) {
|
|
169
|
+
record = new AcDbDimStyleTableRecord();
|
|
170
|
+
record.name = OVERRIDE_STYLE;
|
|
171
|
+
db.tables.dimStyleTable.add(record);
|
|
172
|
+
}
|
|
173
|
+
if (base)
|
|
174
|
+
writeDimStyleFields(record, readDimStyleFields(base));
|
|
175
|
+
writeDimStyleFields(record, values);
|
|
176
|
+
return record;
|
|
177
|
+
}
|
|
178
|
+
/** Bind the database current dimstyle ($DIMSTYLE) onto a new dimension. */
|
|
179
|
+
export function applyCurrentDimStyle(dim, db) {
|
|
180
|
+
var override = dimStyleOverrides.get(db);
|
|
181
|
+
if (override && Object.keys(override).length > 0) {
|
|
182
|
+
ensureOverrideStyle(db, override);
|
|
183
|
+
dim.dimensionStyleName = OVERRIDE_STYLE;
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
dim.dimensionStyleName = db.dimstyle || null;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Drop a preview/anonymous dim block and erase its entities.
|
|
190
|
+
* `blockTable.remove` alone leaves child handles in the database; when the
|
|
191
|
+
* dim command's undo transaction commits, those orphans were notified as
|
|
192
|
+
* `entityAppended` and converted into the scene.
|
|
193
|
+
*/
|
|
194
|
+
function disposeDimBlock(db, blockName) {
|
|
195
|
+
var e_4, _a;
|
|
196
|
+
var btr = db.tables.blockTable.getAt(blockName);
|
|
197
|
+
if (!btr)
|
|
198
|
+
return;
|
|
199
|
+
var ids = [];
|
|
200
|
+
try {
|
|
201
|
+
for (var _b = __values(btr.newIterator()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
202
|
+
var entity = _c.value;
|
|
203
|
+
ids.push(entity.objectId);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
207
|
+
finally {
|
|
208
|
+
try {
|
|
209
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
210
|
+
}
|
|
211
|
+
finally { if (e_4) throw e_4.error; }
|
|
212
|
+
}
|
|
213
|
+
if (ids.length > 0) {
|
|
214
|
+
btr.removeEntity(ids);
|
|
215
|
+
}
|
|
216
|
+
db.tables.blockTable.remove(blockName);
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Rebuild the temporary preview anonymous block for a dimension jig.
|
|
220
|
+
* Callers must remove `*UDIM` in jig.end().
|
|
221
|
+
*/
|
|
222
|
+
export function rebuildPreviewBlock(db, dim, blockName) {
|
|
223
|
+
if (blockName === void 0) { blockName = DIM_PREVIEW_BLOCK; }
|
|
224
|
+
ensureDimResources(db);
|
|
225
|
+
disposeDimBlock(db, blockName);
|
|
226
|
+
db.tables.blockTable.add(dim.createDimBlock(blockName));
|
|
227
|
+
dim.dimBlockId = blockName;
|
|
228
|
+
}
|
|
229
|
+
/** Commit a permanent `*D{n}` block and return the allocated name. */
|
|
230
|
+
export function commitDimBlock(db, dim) {
|
|
231
|
+
ensureDimResources(db);
|
|
232
|
+
var blockName = allocateDimBlockName(db);
|
|
233
|
+
db.tables.blockTable.add(dim.createDimBlock(blockName));
|
|
234
|
+
dim.dimBlockId = blockName;
|
|
235
|
+
return blockName;
|
|
236
|
+
}
|
|
237
|
+
export function removePreviewBlock(db, blockName) {
|
|
238
|
+
if (blockName === void 0) { blockName = DIM_PREVIEW_BLOCK; }
|
|
239
|
+
disposeDimBlock(db, blockName);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Extract two extension-line origins from a selected entity (AutoCAD object mode).
|
|
243
|
+
*/
|
|
244
|
+
export function definitionPointsFromEntity(entity) {
|
|
245
|
+
if (entity instanceof AcDbLine) {
|
|
246
|
+
return {
|
|
247
|
+
xLine1Point: entity.startPoint.clone(),
|
|
248
|
+
xLine2Point: entity.endPoint.clone()
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
if (entity instanceof AcDbCircle) {
|
|
252
|
+
var c = entity.center;
|
|
253
|
+
var r = entity.radius;
|
|
254
|
+
return {
|
|
255
|
+
xLine1Point: new AcGePoint3d(c.x - r, c.y, c.z),
|
|
256
|
+
xLine2Point: new AcGePoint3d(c.x + r, c.y, c.z)
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
if (entity instanceof AcDbArc) {
|
|
260
|
+
return {
|
|
261
|
+
xLine1Point: entity.startPoint.clone(),
|
|
262
|
+
xLine2Point: entity.endPoint.clone()
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
if (entity instanceof AcDbPolyline) {
|
|
266
|
+
var n = entity.numberOfVertices;
|
|
267
|
+
if (n < 2)
|
|
268
|
+
return null;
|
|
269
|
+
return {
|
|
270
|
+
xLine1Point: entity.getPoint3dAt(0),
|
|
271
|
+
xLine2Point: entity.getPoint3dAt(n - 1)
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
return null;
|
|
275
|
+
}
|
|
276
|
+
/** Infer horizontal (0) or vertical (π/2) from dim-line placement relative to the chord. */
|
|
277
|
+
export function inferLinearRotation(x1, x2, dimLinePoint) {
|
|
278
|
+
var midX = (x1.x + x2.x) / 2;
|
|
279
|
+
var midY = (x1.y + x2.y) / 2;
|
|
280
|
+
var dx = Math.abs(dimLinePoint.x - midX);
|
|
281
|
+
var dy = Math.abs(dimLinePoint.y - midY);
|
|
282
|
+
return dy >= dx ? 0 : Math.PI / 2;
|
|
283
|
+
}
|
|
284
|
+
export function isRotatedDimension(dim) {
|
|
285
|
+
return dim instanceof AcDbRotatedDimension;
|
|
286
|
+
}
|
|
287
|
+
export function isAlignedDimension(dim) {
|
|
288
|
+
return dim instanceof AcDbAlignedDimension;
|
|
289
|
+
}
|
|
290
|
+
//# sourceMappingURL=AcApDimBlockUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcApDimBlockUtil.js","sourceRoot":"","sources":["../../../src/command/draw/AcApDimBlockUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AcDb3PointAngularDimension, AcDbAlignedDimension, AcDbDatabase, AcDbDimension, AcGePoint3d, AcGePoint3dLike } from '@mlightcad/data-model';
|
|
2
|
+
export type ChainKind = 'continue' | 'baseline';
|
|
3
|
+
export declare function isChainDimension(entity: unknown): entity is AcDbAlignedDimension | AcDb3PointAngularDimension;
|
|
4
|
+
export declare function resolveChainDimension(db: AcDbDatabase, kind: ChainKind): AcDbAlignedDimension | AcDb3PointAngularDimension | null;
|
|
5
|
+
export declare function promptSelectChainDimension(i18nPrefix: string): Promise<AcDbAlignedDimension | AcDb3PointAngularDimension | null>;
|
|
6
|
+
/** Offset the dimension line further to the same side as the source dim. */
|
|
7
|
+
export declare function baselineDimLinePoint(source: AcDbAlignedDimension, step: number): AcGePoint3d;
|
|
8
|
+
/** Offset the angular arc point radially from the center by DIMDLI * step. */
|
|
9
|
+
export declare function baselineArcPoint(source: AcDb3PointAngularDimension, step: number): AcGePoint3d;
|
|
10
|
+
/** Continue/baseline dims inherit the base dimension's style (AutoCAD behavior). */
|
|
11
|
+
export declare function applySourceDimStyle(dim: AcDbDimension, source: AcDbDimension): void;
|
|
12
|
+
export declare function createContinuedDimension(source: AcDbAlignedDimension | AcDb3PointAngularDimension, nextPoint: AcGePoint3dLike, mode: ChainKind, step: number): AcDbDimension;
|
|
13
|
+
//# sourceMappingURL=AcApDimChainUtil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcApDimChainUtil.d.ts","sourceRoot":"","sources":["../../../src/command/draw/AcApDimChainUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,YAAY,EACZ,aAAa,EAGb,WAAW,EACX,eAAe,EAAC,MAAM,uBAAuB,CAAA;AAW/C,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,UAAU,CAAA;AAE/C,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,oBAAoB,GAAG,0BAA0B,CAK7D;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,SAAS,GACd,oBAAoB,GAAG,0BAA0B,GAAG,IAAI,CAK1D;AAED,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,GAAG,0BAA0B,GAAG,IAAI,CAAC,CAgBnE;AAMD,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,MAAM,GACX,WAAW,CAkBb;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,0BAA0B,EAClC,IAAI,EAAE,MAAM,GACX,WAAW,CAiBb;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,aAAa,QAGtB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,oBAAoB,GAAG,0BAA0B,EACzD,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,MAAM,GACX,aAAa,CAgCf"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { AcDb3PointAngularDimension, AcDbAlignedDimension, acdbDimFeatureScale, AcDbRotatedDimension, AcGePoint3d } from '@mlightcad/data-model';
|
|
38
|
+
import { AcApDocManager } from '../../app';
|
|
39
|
+
import { AcEdPromptEntityOptions, AcEdPromptStatus } from '../../editor';
|
|
40
|
+
import { AcApI18n } from '../../i18n';
|
|
41
|
+
import { getChainBaseId, getChainCursorId, selectChainDimension } from './AcApDimCmdUtil';
|
|
42
|
+
export function isChainDimension(entity) {
|
|
43
|
+
return (entity instanceof AcDbAlignedDimension ||
|
|
44
|
+
entity instanceof AcDb3PointAngularDimension);
|
|
45
|
+
}
|
|
46
|
+
export function resolveChainDimension(db, kind) {
|
|
47
|
+
var id = kind === 'continue' ? getChainCursorId() : getChainBaseId();
|
|
48
|
+
if (!id)
|
|
49
|
+
return null;
|
|
50
|
+
var entity = db.tables.blockTable.getEntityById(id);
|
|
51
|
+
return isChainDimension(entity) ? entity : null;
|
|
52
|
+
}
|
|
53
|
+
export function promptSelectChainDimension(i18nPrefix) {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
55
|
+
var editor, db, prompt, picked, entity;
|
|
56
|
+
return __generator(this, function (_a) {
|
|
57
|
+
switch (_a.label) {
|
|
58
|
+
case 0:
|
|
59
|
+
editor = AcApDocManager.instance.editor;
|
|
60
|
+
db = AcApDocManager.instance.curDocument.database;
|
|
61
|
+
prompt = new AcEdPromptEntityOptions(AcApI18n.t("".concat(i18nPrefix, ".selectDimension")));
|
|
62
|
+
prompt.addAllowedClass('RotatedDimension');
|
|
63
|
+
prompt.addAllowedClass('AlignedDimension');
|
|
64
|
+
prompt.addAllowedClass('3PointAngularDimension');
|
|
65
|
+
prompt.setRejectMessage(AcApI18n.t("".concat(i18nPrefix, ".rejectObject")));
|
|
66
|
+
return [4 /*yield*/, editor.getEntity(prompt)];
|
|
67
|
+
case 1:
|
|
68
|
+
picked = _a.sent();
|
|
69
|
+
if (picked.status !== AcEdPromptStatus.OK || !picked.objectId)
|
|
70
|
+
return [2 /*return*/, null];
|
|
71
|
+
entity = db.tables.blockTable.getEntityById(picked.objectId);
|
|
72
|
+
if (!isChainDimension(entity))
|
|
73
|
+
return [2 /*return*/, null];
|
|
74
|
+
selectChainDimension(entity.objectId);
|
|
75
|
+
return [2 /*return*/, entity];
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function dimScaleOf(dim) {
|
|
81
|
+
return acdbDimFeatureScale(dim.dimensionStyle);
|
|
82
|
+
}
|
|
83
|
+
/** Offset the dimension line further to the same side as the source dim. */
|
|
84
|
+
export function baselineDimLinePoint(source, step) {
|
|
85
|
+
var spacing = source.dimensionStyle.dimdli * dimScaleOf(source);
|
|
86
|
+
var rotation = source.rotation;
|
|
87
|
+
var nx = -Math.sin(rotation);
|
|
88
|
+
var ny = Math.cos(rotation);
|
|
89
|
+
var midX = (source.xLine1Point.x + source.xLine2Point.x) / 2;
|
|
90
|
+
var midY = (source.xLine1Point.y + source.xLine2Point.y) / 2;
|
|
91
|
+
var side = (source.dimLinePoint.x - midX) * nx + (source.dimLinePoint.y - midY) * ny >=
|
|
92
|
+
0
|
|
93
|
+
? 1
|
|
94
|
+
: -1;
|
|
95
|
+
var distance = spacing * Math.max(1, step);
|
|
96
|
+
return new AcGePoint3d(source.dimLinePoint.x + nx * side * distance, source.dimLinePoint.y + ny * side * distance, source.dimLinePoint.z);
|
|
97
|
+
}
|
|
98
|
+
/** Offset the angular arc point radially from the center by DIMDLI * step. */
|
|
99
|
+
export function baselineArcPoint(source, step) {
|
|
100
|
+
var spacing = source.dimensionStyle.dimdli * dimScaleOf(source);
|
|
101
|
+
var cx = source.centerPoint.x;
|
|
102
|
+
var cy = source.centerPoint.y;
|
|
103
|
+
var ax = source.arcPoint.x - cx;
|
|
104
|
+
var ay = source.arcPoint.y - cy;
|
|
105
|
+
var radius = Math.hypot(ax, ay);
|
|
106
|
+
if (radius < 1e-12) {
|
|
107
|
+
return source.arcPoint.clone();
|
|
108
|
+
}
|
|
109
|
+
var distance = spacing * Math.max(1, step);
|
|
110
|
+
var scale = (radius + distance) / radius;
|
|
111
|
+
return new AcGePoint3d(cx + ax * scale, cy + ay * scale, source.arcPoint.z);
|
|
112
|
+
}
|
|
113
|
+
/** Continue/baseline dims inherit the base dimension's style (AutoCAD behavior). */
|
|
114
|
+
export function applySourceDimStyle(dim, source) {
|
|
115
|
+
dim.dimensionStyleName = source.dimensionStyleName;
|
|
116
|
+
}
|
|
117
|
+
export function createContinuedDimension(source, nextPoint, mode, step) {
|
|
118
|
+
if (source instanceof AcDb3PointAngularDimension) {
|
|
119
|
+
var arcPoint = mode === 'baseline' && step > 0
|
|
120
|
+
? baselineArcPoint(source, step)
|
|
121
|
+
: source.arcPoint.clone();
|
|
122
|
+
var dim = new AcDb3PointAngularDimension(source.centerPoint.clone(), mode === 'baseline'
|
|
123
|
+
? source.xLine1Point.clone()
|
|
124
|
+
: source.xLine2Point.clone(), nextPoint, arcPoint);
|
|
125
|
+
return dim;
|
|
126
|
+
}
|
|
127
|
+
var x1 = mode === 'baseline'
|
|
128
|
+
? source.xLine1Point.clone()
|
|
129
|
+
: source.xLine2Point.clone();
|
|
130
|
+
var dimLine = mode === 'baseline' && step > 0
|
|
131
|
+
? baselineDimLinePoint(source, step)
|
|
132
|
+
: source.dimLinePoint.clone();
|
|
133
|
+
if (source instanceof AcDbRotatedDimension) {
|
|
134
|
+
var dim = new AcDbRotatedDimension(x1, nextPoint, dimLine);
|
|
135
|
+
dim.rotation = source.rotation;
|
|
136
|
+
return dim;
|
|
137
|
+
}
|
|
138
|
+
return new AcDbAlignedDimension(x1, nextPoint, dimLine);
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=AcApDimChainUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcApDimChainUtil.js","sourceRoot":"","sources":["../../../src/command/draw/AcApDimChainUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EAGpB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACK,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kBAAkB,CAAA;AAIzB,MAAM,UAAU,gBAAgB,CAC9B,MAAe;IAEf,OAAO,CACL,MAAM,YAAY,oBAAoB;QACtC,MAAM,YAAY,0BAA0B,CAC7C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,EAAgB,EAChB,IAAe;IAEf,IAAM,EAAE,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAA;IACtE,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAA;IACpB,IAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IACrD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;AACjD,CAAC;AAED,MAAM,UAAgB,0BAA0B,CAC9C,UAAkB;;;;;;oBAEZ,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAA;oBACvC,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAA;oBACjD,MAAM,GAAG,IAAI,uBAAuB,CACxC,QAAQ,CAAC,CAAC,CAAC,UAAG,UAAU,qBAAkB,CAAC,CAC5C,CAAA;oBACD,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAA;oBAC1C,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAA;oBAC1C,MAAM,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAA;oBAChD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAG,UAAU,kBAAe,CAAC,CAAC,CAAA;oBAClD,qBAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAA;;oBAAvC,MAAM,GAAG,SAA8B;oBAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;wBAAE,sBAAO,IAAI,EAAA;oBACpE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBAClE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;wBAAE,sBAAO,IAAI,EAAA;oBAC1C,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBACrC,sBAAO,MAAM,EAAA;;;;CACd;AAED,SAAS,UAAU,CAAC,GAAkB;IACpC,OAAO,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAChD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,oBAAoB,CAClC,MAA4B,EAC5B,IAAY;IAEZ,IAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACjE,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,IAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC9B,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC7B,IAAM,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC9D,IAAM,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC9D,IAAM,IAAI,GACR,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;QACzE,CAAC;QACC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC,CAAC,CAAA;IACR,IAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC5C,OAAO,IAAI,WAAW,CACpB,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,QAAQ,EAC5C,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,QAAQ,EAC5C,MAAM,CAAC,YAAY,CAAC,CAAC,CACtB,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAC9B,MAAkC,EAClC,IAAY;IAEZ,IAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACjE,IAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IAC/B,IAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IAC/B,IAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAA;IACjC,IAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAA;IACjC,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACjC,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IAChC,CAAC;IACD,IAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC5C,IAAM,KAAK,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAA;IAC1C,OAAO,IAAI,WAAW,CACpB,EAAE,GAAG,EAAE,GAAG,KAAK,EACf,EAAE,GAAG,EAAE,GAAG,KAAK,EACf,MAAM,CAAC,QAAQ,CAAC,CAAC,CAClB,CAAA;AACH,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CACjC,GAAkB,EAClB,MAAqB;IAErB,GAAG,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAyD,EACzD,SAA0B,EAC1B,IAAe,EACf,IAAY;IAEZ,IAAI,MAAM,YAAY,0BAA0B,EAAE,CAAC;QACjD,IAAM,QAAQ,GACZ,IAAI,KAAK,UAAU,IAAI,IAAI,GAAG,CAAC;YAC7B,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QAC7B,IAAM,GAAG,GAAG,IAAI,0BAA0B,CACxC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAC1B,IAAI,KAAK,UAAU;YACjB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;YAC5B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAC9B,SAAS,EACT,QAAQ,CACT,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAM,EAAE,GACN,IAAI,KAAK,UAAU;QACjB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;QAC5B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IAChC,IAAM,OAAO,GACX,IAAI,KAAK,UAAU,IAAI,IAAI,GAAG,CAAC;QAC7B,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;IAEjC,IAAI,MAAM,YAAY,oBAAoB,EAAE,CAAC;QAC3C,IAAM,GAAG,GAAG,IAAI,oBAAoB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAC5D,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC9B,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,IAAI,oBAAoB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AACzD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AcDbDimension } from '@mlightcad/data-model';
|
|
2
|
+
import { AcEdPromptPointOptions } from '../../editor';
|
|
3
|
+
export type DimCommonKeyword = 'mtext' | 'text' | 'angle';
|
|
4
|
+
/** Record a newly created dimension as the continue cursor and baseline base. */
|
|
5
|
+
export declare function rememberCreatedDimension(objectId: string | undefined | null): void;
|
|
6
|
+
export declare function getChainCursorId(): string | null;
|
|
7
|
+
export declare function getChainBaseId(): string | null;
|
|
8
|
+
export declare function getBaselineStep(): number;
|
|
9
|
+
/** Continue chains from the new dimension; the baseline origin stays put. */
|
|
10
|
+
export declare function advanceContinueCursor(objectId: string): void;
|
|
11
|
+
export declare function advanceBaselineStep(): void;
|
|
12
|
+
/** Replace both cursors when the user selects an existing dimension. */
|
|
13
|
+
export declare function selectChainDimension(objectId: string): void;
|
|
14
|
+
export { allocateDimBlockName, applyCurrentDimStyle, commitDimBlock, definitionPointsFromEntity, DIM_PREVIEW_BLOCK, ensureDimResources, inferLinearRotation, isAlignedDimension, isRotatedDimension, rebuildPreviewBlock, removePreviewBlock, type DimDefinitionPoints } from './AcApDimBlockUtil';
|
|
15
|
+
export declare function addDimKeyword(prompt: AcEdPromptPointOptions, key: DimCommonKeyword | 'horizontal' | 'vertical' | 'rotated' | 'xdatum' | 'ydatum' | 'select', i18nPrefix: string): void;
|
|
16
|
+
export declare function addCommonDimKeywords(prompt: AcEdPromptPointOptions, i18nPrefix: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* Handle Mtext / Text / Angle keywords shared by dimension commands.
|
|
19
|
+
* Returns true if the keyword was handled (caller should re-prompt for location).
|
|
20
|
+
*/
|
|
21
|
+
export declare function handleCommonDimKeyword(keyword: string | undefined, dim: AcDbDimension, i18nPrefix: string): Promise<boolean>;
|
|
22
|
+
//# sourceMappingURL=AcApDimCmdUtil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcApDimCmdUtil.d.ts","sourceRoot":"","sources":["../../../src/command/draw/AcApDimCmdUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGrD,OAAO,EAEL,sBAAsB,EAGvB,MAAM,cAAc,CAAA;AAGrB,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AAOzD,iFAAiF;AACjF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,QAM3E;AAED,wBAAgB,gBAAgB,kBAE/B;AAED,wBAAgB,cAAc,kBAE7B;AAED,wBAAgB,eAAe,WAE9B;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,QAErD;AAED,wBAAgB,mBAAmB,SAElC;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,QAKpD;AAED,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAA;AAE3B,wBAAgB,aAAa,CAC3B,MAAM,EAAE,sBAAsB,EAC9B,GAAG,EACC,gBAAgB,GAChB,YAAY,GACZ,UAAU,GACV,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,QAAQ,EACZ,UAAU,EAAE,MAAM,QAOnB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,QAKnB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CA+BlB"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { AcApDocManager } from '../../app';
|
|
38
|
+
import { AcEdPromptAngleOptions, AcEdPromptStatus, AcEdPromptStringOptions } from '../../editor';
|
|
39
|
+
import { AcApI18n } from '../../i18n';
|
|
40
|
+
/** Last dimension used by DIMCONTINUE / DIMBASELINE. */
|
|
41
|
+
var chainCursorId = null;
|
|
42
|
+
var chainBaseId = null;
|
|
43
|
+
var baselineStep = 0;
|
|
44
|
+
/** Record a newly created dimension as the continue cursor and baseline base. */
|
|
45
|
+
export function rememberCreatedDimension(objectId) {
|
|
46
|
+
if (!objectId)
|
|
47
|
+
return;
|
|
48
|
+
var id = String(objectId);
|
|
49
|
+
chainCursorId = id;
|
|
50
|
+
chainBaseId = id;
|
|
51
|
+
baselineStep = 0;
|
|
52
|
+
}
|
|
53
|
+
export function getChainCursorId() {
|
|
54
|
+
return chainCursorId;
|
|
55
|
+
}
|
|
56
|
+
export function getChainBaseId() {
|
|
57
|
+
return chainBaseId;
|
|
58
|
+
}
|
|
59
|
+
export function getBaselineStep() {
|
|
60
|
+
return baselineStep;
|
|
61
|
+
}
|
|
62
|
+
/** Continue chains from the new dimension; the baseline origin stays put. */
|
|
63
|
+
export function advanceContinueCursor(objectId) {
|
|
64
|
+
chainCursorId = String(objectId);
|
|
65
|
+
}
|
|
66
|
+
export function advanceBaselineStep() {
|
|
67
|
+
baselineStep += 1;
|
|
68
|
+
}
|
|
69
|
+
/** Replace both cursors when the user selects an existing dimension. */
|
|
70
|
+
export function selectChainDimension(objectId) {
|
|
71
|
+
var id = String(objectId);
|
|
72
|
+
chainCursorId = id;
|
|
73
|
+
chainBaseId = id;
|
|
74
|
+
baselineStep = 0;
|
|
75
|
+
}
|
|
76
|
+
export { allocateDimBlockName, applyCurrentDimStyle, commitDimBlock, definitionPointsFromEntity, DIM_PREVIEW_BLOCK, ensureDimResources, inferLinearRotation, isAlignedDimension, isRotatedDimension, rebuildPreviewBlock, removePreviewBlock } from './AcApDimBlockUtil';
|
|
77
|
+
export function addDimKeyword(prompt, key, i18nPrefix) {
|
|
78
|
+
prompt.keywords.add(AcApI18n.t("".concat(i18nPrefix, ".keywords.").concat(key, ".display")), AcApI18n.t("".concat(i18nPrefix, ".keywords.").concat(key, ".global")), AcApI18n.t("".concat(i18nPrefix, ".keywords.").concat(key, ".local")));
|
|
79
|
+
}
|
|
80
|
+
export function addCommonDimKeywords(prompt, i18nPrefix) {
|
|
81
|
+
addDimKeyword(prompt, 'mtext', i18nPrefix);
|
|
82
|
+
addDimKeyword(prompt, 'text', i18nPrefix);
|
|
83
|
+
addDimKeyword(prompt, 'angle', i18nPrefix);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Handle Mtext / Text / Angle keywords shared by dimension commands.
|
|
87
|
+
* Returns true if the keyword was handled (caller should re-prompt for location).
|
|
88
|
+
*/
|
|
89
|
+
export function handleCommonDimKeyword(keyword, dim, i18nPrefix) {
|
|
90
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
91
|
+
var key, editor, prompt_1, result, prompt_2, result;
|
|
92
|
+
return __generator(this, function (_a) {
|
|
93
|
+
switch (_a.label) {
|
|
94
|
+
case 0:
|
|
95
|
+
key = (keyword !== null && keyword !== void 0 ? keyword : '').toUpperCase();
|
|
96
|
+
editor = AcApDocManager.instance.editor;
|
|
97
|
+
if (!(key === 'MTEXT' || key === 'TEXT' || key === 'T' || key === 'M')) return [3 /*break*/, 2];
|
|
98
|
+
prompt_1 = new AcEdPromptStringOptions(AcApI18n.t("".concat(i18nPrefix, ".dimensionText")));
|
|
99
|
+
prompt_1.allowSpaces = true;
|
|
100
|
+
return [4 /*yield*/, editor.getString(prompt_1)];
|
|
101
|
+
case 1:
|
|
102
|
+
result = _a.sent();
|
|
103
|
+
if (result.status === AcEdPromptStatus.OK && result.stringResult != null) {
|
|
104
|
+
dim.dimensionText = result.stringResult;
|
|
105
|
+
}
|
|
106
|
+
return [2 /*return*/, true];
|
|
107
|
+
case 2:
|
|
108
|
+
if (!(key === 'ANGLE' || key === 'A')) return [3 /*break*/, 4];
|
|
109
|
+
prompt_2 = new AcEdPromptAngleOptions(AcApI18n.t("".concat(i18nPrefix, ".textAngle")));
|
|
110
|
+
prompt_2.allowNegative = true;
|
|
111
|
+
prompt_2.allowZero = true;
|
|
112
|
+
return [4 /*yield*/, editor.getAngle(prompt_2)];
|
|
113
|
+
case 3:
|
|
114
|
+
result = _a.sent();
|
|
115
|
+
if (result.status === AcEdPromptStatus.OK && result.value != null) {
|
|
116
|
+
// getAngle returns degrees; dimension textRotation is radians.
|
|
117
|
+
dim.textRotation = (result.value * Math.PI) / 180;
|
|
118
|
+
}
|
|
119
|
+
return [2 /*return*/, true];
|
|
120
|
+
case 4: return [2 /*return*/, false];
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=AcApDimCmdUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcApDimCmdUtil.js","sourceRoot":"","sources":["../../../src/command/draw/AcApDimCmdUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EACL,sBAAsB,EAEtB,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,wDAAwD;AACxD,IAAI,aAAa,GAAkB,IAAI,CAAA;AACvC,IAAI,WAAW,GAAkB,IAAI,CAAA;AACrC,IAAI,YAAY,GAAG,CAAC,CAAA;AAEpB,iFAAiF;AACjF,MAAM,UAAU,wBAAwB,CAAC,QAAmC;IAC1E,IAAI,CAAC,QAAQ;QAAE,OAAM;IACrB,IAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC3B,aAAa,GAAG,EAAE,CAAA;IAClB,WAAW,GAAG,EAAE,CAAA;IAChB,YAAY,GAAG,CAAC,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,YAAY,IAAI,CAAC,CAAA;AACnB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,IAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC3B,aAAa,GAAG,EAAE,CAAA;IAClB,WAAW,GAAG,EAAE,CAAA;IAChB,YAAY,GAAG,CAAC,CAAA;AAClB,CAAC;AAED,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAEnB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,UAAU,aAAa,CAC3B,MAA8B,EAC9B,GAOY,EACZ,UAAkB;IAElB,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,QAAQ,CAAC,CAAC,CAAC,UAAG,UAAU,uBAAa,GAAG,aAAU,CAAC,EACnD,QAAQ,CAAC,CAAC,CAAC,UAAG,UAAU,uBAAa,GAAG,YAAS,CAAC,EAClD,QAAQ,CAAC,CAAC,CAAC,UAAG,UAAU,uBAAa,GAAG,WAAQ,CAAC,CAClD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAA8B,EAC9B,UAAkB;IAElB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;IAC1C,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IACzC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAgB,sBAAsB,CAC1C,OAA2B,EAC3B,GAAkB,EAClB,UAAkB;;;;;;oBAEZ,GAAG,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;oBACnC,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAA;yBAEzC,CAAA,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,CAAA,EAA/D,wBAA+D;oBAC3D,WAAS,IAAI,uBAAuB,CACxC,QAAQ,CAAC,CAAC,CAAC,UAAG,UAAU,mBAAgB,CAAC,CAC1C,CAAA;oBACD,QAAM,CAAC,WAAW,GAAG,IAAI,CAAA;oBACV,qBAAM,MAAM,CAAC,SAAS,CAAC,QAAM,CAAC,EAAA;;oBAAvC,MAAM,GAAG,SAA8B;oBAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,EAAE,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;wBACzE,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAA;oBACzC,CAAC;oBACD,sBAAO,IAAI,EAAA;;yBAGT,CAAA,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,CAAA,EAA9B,wBAA8B;oBAC1B,WAAS,IAAI,sBAAsB,CACvC,QAAQ,CAAC,CAAC,CAAC,UAAG,UAAU,eAAY,CAAC,CACtC,CAAA;oBACD,QAAM,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC3B,QAAM,CAAC,SAAS,GAAG,IAAI,CAAA;oBACR,qBAAM,MAAM,CAAC,QAAQ,CAAC,QAAM,CAAC,EAAA;;oBAAtC,MAAM,GAAG,SAA6B;oBAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;wBAClE,+DAA+D;wBAC/D,GAAG,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;oBACnD,CAAC;oBACD,sBAAO,IAAI,EAAA;wBAGb,sBAAO,KAAK,EAAA;;;;CACb"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AcApContext } from '../../app';
|
|
2
|
+
import { AcEdCommand } from '../../editor';
|
|
3
|
+
/** DIMCONTINUE — chain from the previous extension line. */
|
|
4
|
+
export declare class AcApDimContinueCmd extends AcEdCommand {
|
|
5
|
+
constructor();
|
|
6
|
+
execute(context: AcApContext): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
/** DIMBASELINE — stack from the first extension line by DIMDLI. */
|
|
9
|
+
export declare class AcApDimBaselineCmd extends AcEdCommand {
|
|
10
|
+
constructor();
|
|
11
|
+
execute(context: AcApContext): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=AcApDimContinueCmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcApDimContinueCmd.d.ts","sourceRoot":"","sources":["../../../src/command/draw/AcApDimContinueCmd.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAA;AACvD,OAAO,EAEL,WAAW,EAKZ,MAAM,cAAc,CAAA;AA6GrB,4DAA4D;AAC5D,qBAAa,kBAAmB,SAAQ,WAAW;;IAM3C,OAAO,CAAC,OAAO,EAAE,WAAW;CAGnC;AAED,mEAAmE;AACnE,qBAAa,kBAAmB,SAAQ,WAAW;;IAM3C,OAAO,CAAC,OAAO,EAAE,WAAW;CAGnC"}
|