@mlightcad/libdxfrw-converter 1.0.1
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/LICENSE +21 -0
- package/README.md +53 -0
- package/dist/libdxfrw-converter.js +489 -0
- package/dist/libdxfrw-converter.umd.cjs +1 -0
- package/lib/AcDbEntitiyConverter.d.ts +23 -0
- package/lib/AcDbEntitiyConverter.d.ts.map +1 -0
- package/lib/AcDbEntitiyConverter.js +347 -0
- package/lib/AcDbEntitiyConverter.js.map +1 -0
- package/lib/AcDbLibdxfrwConverter.d.ts +31 -0
- package/lib/AcDbLibdxfrwConverter.d.ts.map +1 -0
- package/lib/AcDbLibdxfrwConverter.js +424 -0
- package/lib/AcDbLibdxfrwConverter.js.map +1 -0
- package/lib/AcDbObjectConverter.d.ts +6 -0
- package/lib/AcDbObjectConverter.d.ts.map +1 -0
- package/lib/AcDbObjectConverter.js +15 -0
- package/lib/AcDbObjectConverter.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/package.json +43 -0
@@ -0,0 +1,347 @@
|
|
1
|
+
import { AcDbArc, AcDbBlockReference, AcDbCircle, AcDbEllipse, AcDbHatch, AcDbLine, AcDbMText, AcDbPoint, AcDbPolyline, AcDbRay, AcDbSpline, AcDbText, AcDbXline, AcGeCircArc2d, AcGeEllipseArc2d, AcGeLine2d, AcGeLoop2d, AcGePoint2d, AcGePoint3d, AcGePolyline2d, AcGeSpline3d, AcGeVector2d, AcGeVector3d } from '@mlightcad/data-model';
|
2
|
+
var AcDbEntityConverter = /** @class */ (function () {
|
3
|
+
function AcDbEntityConverter() {
|
4
|
+
}
|
5
|
+
AcDbEntityConverter.prototype.convert = function (entity) {
|
6
|
+
var dbEntity = this.createEntity(entity);
|
7
|
+
if (dbEntity) {
|
8
|
+
this.processCommonAttrs(entity, dbEntity);
|
9
|
+
}
|
10
|
+
return dbEntity;
|
11
|
+
};
|
12
|
+
AcDbEntityConverter.prototype.createEntity = function (entity) {
|
13
|
+
// @ts-expect-error libdxfrw is set in index.html
|
14
|
+
var libdxfrw = window.libdxfrw;
|
15
|
+
if (entity.eType == libdxfrw.DRW_ETYPE.ARC) {
|
16
|
+
return this.convertArc(entity);
|
17
|
+
}
|
18
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.CIRCLE) {
|
19
|
+
return this.convertCirle(entity);
|
20
|
+
}
|
21
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.DIMENSION) {
|
22
|
+
// return this.convertDimension(entity as DimensionEntityCommon)
|
23
|
+
}
|
24
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.ELLIPSE) {
|
25
|
+
return this.convertEllipse(entity);
|
26
|
+
}
|
27
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.HATCH) {
|
28
|
+
return this.convertHatch(entity);
|
29
|
+
}
|
30
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.IMAGE) {
|
31
|
+
// return this.convertImage(entity as ImageEntity)
|
32
|
+
}
|
33
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.LEADER) {
|
34
|
+
// return this.convertLeader(entity as LeaderEntity)
|
35
|
+
}
|
36
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.LINE) {
|
37
|
+
return this.convertLine(entity);
|
38
|
+
}
|
39
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.MTEXT) {
|
40
|
+
return this.convertMText(entity);
|
41
|
+
}
|
42
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.POLYLINE) {
|
43
|
+
// return this.convertPolyline(entity as DRW_Polyline)
|
44
|
+
}
|
45
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.LWPOLYLINE) {
|
46
|
+
return this.convertPolyline(entity);
|
47
|
+
}
|
48
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.POINT) {
|
49
|
+
return this.convertPoint(entity);
|
50
|
+
}
|
51
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.RAY) {
|
52
|
+
return this.convertRay(entity);
|
53
|
+
}
|
54
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.SPLINE) {
|
55
|
+
return this.convertSpline(entity);
|
56
|
+
}
|
57
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.TEXT) {
|
58
|
+
return this.convertText(entity);
|
59
|
+
}
|
60
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.SOLID) {
|
61
|
+
// return this.convertSolid(entity as SolidEntity)
|
62
|
+
}
|
63
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.VIEWPORT) {
|
64
|
+
// return this.convertViewport(entity as ViewportEntity)
|
65
|
+
}
|
66
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.XLINE) {
|
67
|
+
return this.convertXline(entity);
|
68
|
+
}
|
69
|
+
else if (entity.eType == libdxfrw.DRW_ETYPE.INSERT) {
|
70
|
+
return this.convertBlockReference(entity);
|
71
|
+
}
|
72
|
+
return null;
|
73
|
+
};
|
74
|
+
AcDbEntityConverter.prototype.convertArc = function (arc) {
|
75
|
+
var dbEntity = new AcDbArc(arc.center(), arc.radius, arc.startAngle, arc.endAngle);
|
76
|
+
return dbEntity;
|
77
|
+
};
|
78
|
+
AcDbEntityConverter.prototype.convertCirle = function (circle) {
|
79
|
+
var dbEntity = new AcDbCircle(circle.basePoint, circle.radius);
|
80
|
+
return dbEntity;
|
81
|
+
};
|
82
|
+
AcDbEntityConverter.prototype.convertEllipse = function (ellipse) {
|
83
|
+
var majorAxis = new AcGeVector3d(ellipse.secPoint);
|
84
|
+
var majorAxisRadius = majorAxis.length();
|
85
|
+
var dbEntity = new AcDbEllipse(ellipse.basePoint, AcGeVector3d.Z_AXIS, majorAxis, majorAxisRadius, majorAxisRadius * ellipse.ratio, ellipse.startAngle, ellipse.endAngle);
|
86
|
+
return dbEntity;
|
87
|
+
};
|
88
|
+
AcDbEntityConverter.prototype.convertBlockReference = function (blockReference) {
|
89
|
+
var dbBlockReference = new AcDbBlockReference(blockReference.name);
|
90
|
+
if (blockReference.basePoint)
|
91
|
+
dbBlockReference.position.copy(blockReference.basePoint);
|
92
|
+
dbBlockReference.scaleFactors.x = blockReference.xScale || 1;
|
93
|
+
dbBlockReference.scaleFactors.y = blockReference.yScale || 1;
|
94
|
+
dbBlockReference.scaleFactors.z = blockReference.zScale || 1;
|
95
|
+
dbBlockReference.rotation = blockReference.angle;
|
96
|
+
dbBlockReference.normal.copy(blockReference.extPoint);
|
97
|
+
return dbBlockReference;
|
98
|
+
};
|
99
|
+
AcDbEntityConverter.prototype.convertHatch = function (hatch) {
|
100
|
+
var dbEntity = new AcDbHatch();
|
101
|
+
var definitionLines = hatch.definitionLines;
|
102
|
+
for (var index = 0, size = definitionLines.size(); index < size; ++index) {
|
103
|
+
var definitionLine = definitionLines.get(index);
|
104
|
+
if (definitionLine != null) {
|
105
|
+
dbEntity.definitionLines.push({
|
106
|
+
angle: definitionLine.angle,
|
107
|
+
origin: definitionLine.base,
|
108
|
+
delta: definitionLine.offset,
|
109
|
+
dashPattern: this.toNumberArray(definitionLine.dashPattern)
|
110
|
+
});
|
111
|
+
}
|
112
|
+
}
|
113
|
+
dbEntity.hatchStyle = hatch.hatchStyle;
|
114
|
+
dbEntity.patternName = hatch.name;
|
115
|
+
dbEntity.patternType = hatch.patternType;
|
116
|
+
dbEntity.patternAngle = hatch.angle;
|
117
|
+
dbEntity.patternScale = hatch.scale;
|
118
|
+
var loops = hatch.getLoopList();
|
119
|
+
for (var index = 0, size = loops.size(); index < size; ++index) {
|
120
|
+
var loop = loops.get(index);
|
121
|
+
if (loop != null) {
|
122
|
+
// Check whether it is a polyline
|
123
|
+
if (loop.type == 2) {
|
124
|
+
var polylineLoop = loop.getObjList().get(0);
|
125
|
+
if (polylineLoop) {
|
126
|
+
var polyline = new AcGePolyline2d();
|
127
|
+
// polyline.closed = ??
|
128
|
+
var vertices = polylineLoop.getVertexList();
|
129
|
+
for (var index_1 = 0, size_1 = vertices.size(); index_1 < size_1; ++index_1) {
|
130
|
+
var vertex = vertices.get(index_1);
|
131
|
+
if (vertex != null) {
|
132
|
+
polyline.addVertexAt(index_1, {
|
133
|
+
x: vertex.x,
|
134
|
+
y: vertex.y,
|
135
|
+
bulge: vertex.bulge
|
136
|
+
});
|
137
|
+
}
|
138
|
+
}
|
139
|
+
dbEntity.add(polyline);
|
140
|
+
}
|
141
|
+
}
|
142
|
+
else {
|
143
|
+
// @ts-expect-error libdxfrw is set in index.html
|
144
|
+
var libdxfrw = window.libdxfrw;
|
145
|
+
var objects = loop.getObjList();
|
146
|
+
var loopGeometry = new AcGeLoop2d();
|
147
|
+
for (var index_2 = 0, size_2 = objects.size(); index_2 < size_2; ++index_2) {
|
148
|
+
var object = objects.get(index_2);
|
149
|
+
if (object != null) {
|
150
|
+
if (object.eType == libdxfrw.DRW_ETYPE.LINE) {
|
151
|
+
var line = object;
|
152
|
+
loopGeometry.add(new AcGeLine2d(line.basePoint, line.secPoint));
|
153
|
+
}
|
154
|
+
else if (object.eType == libdxfrw.DRW_ETYPE.ARC) {
|
155
|
+
var arc = object;
|
156
|
+
loopGeometry.add(new AcGeCircArc2d(arc.center(), arc.radius, arc.startAngle, arc.endAngle, !arc.isccw));
|
157
|
+
}
|
158
|
+
else if (object.eType == libdxfrw.DRW_ETYPE.ELLIPSE) {
|
159
|
+
var ellipse = object;
|
160
|
+
var center = ellipse.basePoint;
|
161
|
+
var secPoint = ellipse.secPoint;
|
162
|
+
var majorAxis = new AcGeVector2d(secPoint);
|
163
|
+
var majorAxisRadius = majorAxis.length();
|
164
|
+
var minorAxisRadius = majorAxisRadius * ellipse.ratio;
|
165
|
+
var startAngle = ellipse.startAngle;
|
166
|
+
var endAngle = ellipse.endAngle;
|
167
|
+
var rotation = Math.atan2(secPoint.y, secPoint.x);
|
168
|
+
if (!ellipse.isCounterClockwise) {
|
169
|
+
// when clockwise, need to handle start/end angles
|
170
|
+
startAngle = Math.PI * 2 - startAngle;
|
171
|
+
endAngle = Math.PI * 2 - endAngle;
|
172
|
+
}
|
173
|
+
loopGeometry.add(new AcGeEllipseArc2d({ x: center.x, y: center.y, z: 0 }, majorAxisRadius, minorAxisRadius, startAngle, endAngle, !ellipse.isCounterClockwise, rotation));
|
174
|
+
}
|
175
|
+
else if (object.eType == libdxfrw.DRW_ETYPE.SPLINE) {
|
176
|
+
var spline = object;
|
177
|
+
if (spline.numberOfControls > 0 && spline.numberOfKnots > 0) {
|
178
|
+
var controlPoints = this.toPointArray(spline.getControlList(), true);
|
179
|
+
var weights = this.toNumberArray(spline.weights);
|
180
|
+
var knots = this.toNumberArray(spline.knots);
|
181
|
+
loopGeometry.add(new AcGeSpline3d(controlPoints, knots, weights.length > 0 ? weights : undefined));
|
182
|
+
}
|
183
|
+
else if (spline.numberOfFits > 0) {
|
184
|
+
var fitPoints = this.toPointArray(spline.getFitList());
|
185
|
+
loopGeometry.add(new AcGeSpline3d(fitPoints, 'Uniform'));
|
186
|
+
}
|
187
|
+
}
|
188
|
+
}
|
189
|
+
}
|
190
|
+
dbEntity.add(loopGeometry);
|
191
|
+
}
|
192
|
+
}
|
193
|
+
}
|
194
|
+
return dbEntity;
|
195
|
+
};
|
196
|
+
AcDbEntityConverter.prototype.convertLine = function (line) {
|
197
|
+
var start = line.basePoint;
|
198
|
+
var end = line.secPoint;
|
199
|
+
var dbEntity = new AcDbLine(new AcGePoint3d(start.x, start.y, start.z || 0), new AcGePoint3d(end.x, end.y, end.z || 0));
|
200
|
+
return dbEntity;
|
201
|
+
};
|
202
|
+
AcDbEntityConverter.prototype.convertMText = function (mtext) {
|
203
|
+
var dbEntity = new AcDbMText();
|
204
|
+
dbEntity.contents = mtext.text;
|
205
|
+
if (mtext.style != null) {
|
206
|
+
dbEntity.styleName = mtext.style;
|
207
|
+
}
|
208
|
+
dbEntity.height = mtext.height;
|
209
|
+
// dbEntity.width = mtext.
|
210
|
+
dbEntity.lineSpacingFactor = mtext.interlin;
|
211
|
+
dbEntity.rotation = mtext.angle || 0;
|
212
|
+
dbEntity.location = mtext.basePoint;
|
213
|
+
// dbEntity.attachmentPoint =
|
214
|
+
// mtext.attachmentPoint as unknown as AcGiMTextAttachmentPoint
|
215
|
+
// if (mtext.direction) {
|
216
|
+
// dbEntity.direction = new AcGeVector3d(mtext.direction)
|
217
|
+
// }
|
218
|
+
// dbEntity.drawingDirection =
|
219
|
+
// mtext.drawingDirection as unknown as AcGiMTextFlowDirection
|
220
|
+
return dbEntity;
|
221
|
+
};
|
222
|
+
AcDbEntityConverter.prototype.convertPoint = function (point) {
|
223
|
+
var dbEntity = new AcDbPoint();
|
224
|
+
dbEntity.position = point.basePoint;
|
225
|
+
return dbEntity;
|
226
|
+
};
|
227
|
+
AcDbEntityConverter.prototype.convertPolyline = function (polyline) {
|
228
|
+
// Polyline flag (bit-coded; default = 0):
|
229
|
+
// https://help.autodesk.com/view/OARX/2023/ENU/?guid=GUID-ABF6B778-BE20-4B49-9B58-A94E64CEFFF3
|
230
|
+
//
|
231
|
+
// 1 = This is a closed polyline (or a polygon mesh closed in the M direction)
|
232
|
+
// 2 = Curve-fit vertices have been added
|
233
|
+
// 4 = Spline-fit vertices have been added
|
234
|
+
// 8 = This is a 3D polyline
|
235
|
+
// 16 = This is a 3D polygon mesh
|
236
|
+
// 32 = The polygon mesh is closed in the N direction
|
237
|
+
// 64 = The polyline is a polyface mesh
|
238
|
+
// 128 = The linetype pattern is generated continuously around the vertices of this polyline
|
239
|
+
var dbEntity = new AcDbPolyline();
|
240
|
+
dbEntity.closed = !!(polyline.flags & 0x01);
|
241
|
+
var vertices = polyline.getVertexList();
|
242
|
+
for (var index = 0, size = vertices.size(); index < size; ++index) {
|
243
|
+
var vertex = vertices.get(index);
|
244
|
+
if (vertex != null) {
|
245
|
+
dbEntity.addVertexAt(index, new AcGePoint2d(vertex.x, vertex.y), vertex.bulge, vertex.startWidth, vertex.endWidth);
|
246
|
+
}
|
247
|
+
}
|
248
|
+
return dbEntity;
|
249
|
+
};
|
250
|
+
AcDbEntityConverter.prototype.convertRay = function (ray) {
|
251
|
+
var dbRay = new AcDbRay();
|
252
|
+
dbRay.basePoint.copy(ray.basePoint);
|
253
|
+
dbRay.unitDir.copy(ray.secPoint);
|
254
|
+
return dbRay;
|
255
|
+
};
|
256
|
+
AcDbEntityConverter.prototype.convertSpline = function (spline) {
|
257
|
+
var weights = this.toNumberArray(spline.weights);
|
258
|
+
if (spline.numberOfControls > 0 && spline.numberOfKnots > 0) {
|
259
|
+
var dbEntity = new AcDbSpline(this.toPointArray(spline.getControlList(), false), this.toNumberArray(spline.knots), weights.length > 0 ? weights : undefined);
|
260
|
+
dbEntity.closed = !!(spline.flags & 0x01);
|
261
|
+
return dbEntity;
|
262
|
+
}
|
263
|
+
else if (spline.numberOfFits > 0) {
|
264
|
+
var fitPoints = this.toPointArray(spline.getFitList());
|
265
|
+
if (fitPoints.length > 0) {
|
266
|
+
var dbEntity = new AcDbSpline(fitPoints, 'Uniform');
|
267
|
+
dbEntity.closed = !!(spline.flags & 0x01);
|
268
|
+
return dbEntity;
|
269
|
+
}
|
270
|
+
}
|
271
|
+
return null;
|
272
|
+
};
|
273
|
+
AcDbEntityConverter.prototype.convertText = function (text) {
|
274
|
+
var _a, _b;
|
275
|
+
var dbEntity = new AcDbText();
|
276
|
+
dbEntity.textString = text.text;
|
277
|
+
dbEntity.styleName = text.style;
|
278
|
+
dbEntity.height = text.height;
|
279
|
+
dbEntity.position.copy(text.basePoint);
|
280
|
+
dbEntity.rotation = text.angle || 0;
|
281
|
+
dbEntity.oblique = (_a = text.oblique) !== null && _a !== void 0 ? _a : 0;
|
282
|
+
// dbEntity.thickness = ??
|
283
|
+
dbEntity.horizontalMode = text.alignH;
|
284
|
+
dbEntity.verticalMode = text.alignV;
|
285
|
+
dbEntity.widthFactor = (_b = text.widthScale) !== null && _b !== void 0 ? _b : 1;
|
286
|
+
return dbEntity;
|
287
|
+
};
|
288
|
+
AcDbEntityConverter.prototype.convertXline = function (xline) {
|
289
|
+
var dbXline = new AcDbXline();
|
290
|
+
dbXline.basePoint.copy(xline.basePoint);
|
291
|
+
dbXline.unitDir.copy(xline.secPoint);
|
292
|
+
return dbXline;
|
293
|
+
};
|
294
|
+
AcDbEntityConverter.prototype.processCommonAttrs = function (entity, dbEntity) {
|
295
|
+
dbEntity.layer = entity.layer;
|
296
|
+
dbEntity.objectId = entity.handle.toString();
|
297
|
+
dbEntity.ownerId = entity.parentHandle.toString();
|
298
|
+
if (entity.lineType != null) {
|
299
|
+
dbEntity.lineType = entity.lineType;
|
300
|
+
}
|
301
|
+
if (entity.lWeight != null) {
|
302
|
+
dbEntity.lineWeight = entity.lWeight;
|
303
|
+
}
|
304
|
+
if (entity.ltypeScale != null) {
|
305
|
+
dbEntity.linetypeScale = entity.ltypeScale;
|
306
|
+
}
|
307
|
+
if (entity.color24 != null) {
|
308
|
+
dbEntity.color.color = entity.color24;
|
309
|
+
}
|
310
|
+
if (entity.color != null) {
|
311
|
+
dbEntity.color.colorIndex = entity.color;
|
312
|
+
}
|
313
|
+
if (entity.colorName != null) {
|
314
|
+
dbEntity.color.colorName = entity.colorName;
|
315
|
+
}
|
316
|
+
if (entity.visible != null) {
|
317
|
+
dbEntity.visibility = entity.visible;
|
318
|
+
}
|
319
|
+
if (entity.transparency != null) {
|
320
|
+
dbEntity.transparency = entity.transparency;
|
321
|
+
}
|
322
|
+
};
|
323
|
+
AcDbEntityConverter.prototype.toNumberArray = function (doubleList) {
|
324
|
+
var results = [];
|
325
|
+
for (var index = 0, size = doubleList.size(); index < size; ++index) {
|
326
|
+
var item = doubleList.get(index);
|
327
|
+
if (item != null) {
|
328
|
+
results.push(item);
|
329
|
+
}
|
330
|
+
}
|
331
|
+
return results;
|
332
|
+
};
|
333
|
+
AcDbEntityConverter.prototype.toPointArray = function (pointList, resetZValue) {
|
334
|
+
if (resetZValue === void 0) { resetZValue = true; }
|
335
|
+
var results = [];
|
336
|
+
for (var index = 0, size = pointList.size(); index < size; ++index) {
|
337
|
+
var item = pointList.get(index);
|
338
|
+
if (item != null) {
|
339
|
+
results.push({ x: item.x, y: item.y, z: resetZValue ? 0 : item.z });
|
340
|
+
}
|
341
|
+
}
|
342
|
+
return results;
|
343
|
+
};
|
344
|
+
return AcDbEntityConverter;
|
345
|
+
}());
|
346
|
+
export { AcDbEntityConverter };
|
347
|
+
//# sourceMappingURL=AcDbEntitiyConverter.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AcDbEntitiyConverter.js","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { AcDbConversionProgressCallback, AcDbDatabase, AcDbDatabaseConverter } from '@mlightcad/data-model';
|
2
|
+
import { DRW_Database, DRW_DwgR, DRW_FileHandler, MainModule } from '@mlightcad/libdxfrw-web';
|
3
|
+
/**
|
4
|
+
* Database converter for DWG files.
|
5
|
+
* @internal
|
6
|
+
*/
|
7
|
+
export declare class AcDbLibdxfrwConverter extends AcDbDatabaseConverter<DRW_Database> {
|
8
|
+
librefrw: MainModule;
|
9
|
+
database?: DRW_Database;
|
10
|
+
dwg?: DRW_DwgR;
|
11
|
+
fileHandler?: DRW_FileHandler;
|
12
|
+
constructor(instance: MainModule);
|
13
|
+
protected onFinished(): void;
|
14
|
+
protected parse(data: string | ArrayBuffer): DRW_Database;
|
15
|
+
protected processLineTypes(model: DRW_Database, db: AcDbDatabase): void;
|
16
|
+
private convertLineTypePattern;
|
17
|
+
protected processTextStyles(model: DRW_Database, db: AcDbDatabase): void;
|
18
|
+
protected processDimStyles(model: DRW_Database, db: AcDbDatabase): void;
|
19
|
+
protected processLayers(model: DRW_Database, db: AcDbDatabase): void;
|
20
|
+
protected processViewports(model: DRW_Database, db: AcDbDatabase): void;
|
21
|
+
protected processBlockTables(model: DRW_Database, db: AcDbDatabase): void;
|
22
|
+
private processCommonTableEntryAttrs;
|
23
|
+
protected processHeader(model: DRW_Database, db: AcDbDatabase): void;
|
24
|
+
protected processObjects(model: DRW_Database, db: AcDbDatabase): void;
|
25
|
+
private processImageDefs;
|
26
|
+
private processEntitiesInBlock;
|
27
|
+
protected processEntities(model: DRW_Database, db: AcDbDatabase, minimumChunkSize: number, startPercentage: {
|
28
|
+
value: number;
|
29
|
+
}, progress?: AcDbConversionProgressCallback): Promise<void>;
|
30
|
+
}
|
31
|
+
//# sourceMappingURL=AcDbLibdxfrwConverter.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AcDbLibdxfrwConverter.d.ts","sourceRoot":"","sources":["../src/AcDbLibdxfrwConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,8BAA8B,EAC9B,YAAY,EACZ,qBAAqB,EAgBtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,YAAY,EAEZ,QAAQ,EAER,eAAe,EAGf,UAAU,EACX,MAAM,yBAAyB,CAAA;AAKhC;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,qBAAqB,CAAC,YAAY,CAAC;IAC5E,QAAQ,EAAE,UAAU,CAAA;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,CAAC,EAAE,QAAQ,CAAA;IACd,WAAW,CAAC,EAAE,eAAe,CAAA;gBAEjB,QAAQ,EAAE,UAAU;IAKhC,SAAS,CAAC,UAAU;IAgBpB,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY;IAmBzD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAoBhE,OAAO,CAAC,sBAAsB;IAY9B,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAuBjE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAoFhE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAuB7D,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAkDhE,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAiBlE,OAAO,CAAC,4BAA4B;IASpC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IA6B7D,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAI9D,OAAO,CAAC,gBAAgB;YAYV,sBAAsB;cAgBpB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAClC,QAAQ,CAAC,EAAE,8BAA8B;CAuC5C"}
|