@mlightcad/data-model 1.0.0
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 +116 -0
- package/dist/data-model.js +19887 -0
- package/dist/data-model.umd.cjs +5 -0
- package/lib/base/AcDbHostApplicationServices.d.ts +30 -0
- package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -0
- package/lib/base/AcDbHostApplicationServices.js +54 -0
- package/lib/base/AcDbHostApplicationServices.js.map +1 -0
- package/lib/base/AcDbObject.d.ts +70 -0
- package/lib/base/AcDbObject.d.ts.map +1 -0
- package/lib/base/AcDbObject.js +113 -0
- package/lib/base/AcDbObject.js.map +1 -0
- package/lib/base/index.d.ts +3 -0
- package/lib/base/index.d.ts.map +1 -0
- package/lib/base/index.js +3 -0
- package/lib/base/index.js.map +1 -0
- package/lib/converter/AcDbBatchProcessing.d.ts +43 -0
- package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -0
- package/lib/converter/AcDbBatchProcessing.js +165 -0
- package/lib/converter/AcDbBatchProcessing.js.map +1 -0
- package/lib/converter/AcDbDxfConverter.d.ts +39 -0
- package/lib/converter/AcDbDxfConverter.d.ts.map +1 -0
- package/lib/converter/AcDbDxfConverter.js +567 -0
- package/lib/converter/AcDbDxfConverter.js.map +1 -0
- package/lib/converter/AcDbDxfParseWorker.d.ts +2 -0
- package/lib/converter/AcDbDxfParseWorker.d.ts.map +1 -0
- package/lib/converter/AcDbDxfParseWorker.js +6 -0
- package/lib/converter/AcDbDxfParseWorker.js.map +1 -0
- package/lib/converter/AcDbEntitiyConverter.d.ts +36 -0
- package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -0
- package/lib/converter/AcDbEntitiyConverter.js +491 -0
- package/lib/converter/AcDbEntitiyConverter.js.map +1 -0
- package/lib/converter/AcDbObjectConverter.d.ts +9 -0
- package/lib/converter/AcDbObjectConverter.d.ts.map +1 -0
- package/lib/converter/AcDbObjectConverter.js +30 -0
- package/lib/converter/AcDbObjectConverter.js.map +1 -0
- package/lib/converter/index.d.ts +3 -0
- package/lib/converter/index.d.ts.map +1 -0
- package/lib/converter/index.js +3 -0
- package/lib/converter/index.js.map +1 -0
- package/lib/database/AcDbBlockTable.d.ts +15 -0
- package/lib/database/AcDbBlockTable.d.ts.map +1 -0
- package/lib/database/AcDbBlockTable.js +46 -0
- package/lib/database/AcDbBlockTable.js.map +1 -0
- package/lib/database/AcDbBlockTableRecord.d.ts +49 -0
- package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbBlockTableRecord.js +108 -0
- package/lib/database/AcDbBlockTableRecord.js.map +1 -0
- package/lib/database/AcDbDatabase.d.ts +211 -0
- package/lib/database/AcDbDatabase.d.ts.map +1 -0
- package/lib/database/AcDbDatabase.js +395 -0
- package/lib/database/AcDbDatabase.js.map +1 -0
- package/lib/database/AcDbDatabaseConverter.d.ts +120 -0
- package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -0
- package/lib/database/AcDbDatabaseConverter.js +376 -0
- package/lib/database/AcDbDatabaseConverter.js.map +1 -0
- package/lib/database/AcDbDatabaseConverterManager.d.ts +59 -0
- package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -0
- package/lib/database/AcDbDatabaseConverterManager.js +98 -0
- package/lib/database/AcDbDatabaseConverterManager.js.map +1 -0
- package/lib/database/AcDbDatabaseConverterRegister.d.ts +54 -0
- package/lib/database/AcDbDatabaseConverterRegister.d.ts.map +1 -0
- package/lib/database/AcDbDatabaseConverterRegister.js +84 -0
- package/lib/database/AcDbDatabaseConverterRegister.js.map +1 -0
- package/lib/database/AcDbDimStyleTable.d.ts +11 -0
- package/lib/database/AcDbDimStyleTable.d.ts.map +1 -0
- package/lib/database/AcDbDimStyleTable.js +29 -0
- package/lib/database/AcDbDimStyleTable.js.map +1 -0
- package/lib/database/AcDbDimStyleTableRecord.d.ts +682 -0
- package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbDimStyleTableRecord.js +1250 -0
- package/lib/database/AcDbDimStyleTableRecord.js.map +1 -0
- package/lib/database/AcDbLayerTable.d.ts +14 -0
- package/lib/database/AcDbLayerTable.d.ts.map +1 -0
- package/lib/database/AcDbLayerTable.js +55 -0
- package/lib/database/AcDbLayerTable.js.map +1 -0
- package/lib/database/AcDbLayerTableRecord.d.ts +98 -0
- package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbLayerTableRecord.js +235 -0
- package/lib/database/AcDbLayerTableRecord.js.map +1 -0
- package/lib/database/AcDbLinetypeTable.d.ts +11 -0
- package/lib/database/AcDbLinetypeTable.d.ts.map +1 -0
- package/lib/database/AcDbLinetypeTable.js +29 -0
- package/lib/database/AcDbLinetypeTable.js.map +1 -0
- package/lib/database/AcDbLinetypeTableRecord.d.ts +47 -0
- package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbLinetypeTableRecord.js +97 -0
- package/lib/database/AcDbLinetypeTableRecord.js.map +1 -0
- package/lib/database/AcDbSymbolTable.d.ts +74 -0
- package/lib/database/AcDbSymbolTable.d.ts.map +1 -0
- package/lib/database/AcDbSymbolTable.js +136 -0
- package/lib/database/AcDbSymbolTable.js.map +1 -0
- package/lib/database/AcDbSymbolTableRecord.d.ts +16 -0
- package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbSymbolTableRecord.js +44 -0
- package/lib/database/AcDbSymbolTableRecord.js.map +1 -0
- package/lib/database/AcDbTextStyleTable.d.ts +14 -0
- package/lib/database/AcDbTextStyleTable.d.ts.map +1 -0
- package/lib/database/AcDbTextStyleTable.js +78 -0
- package/lib/database/AcDbTextStyleTable.js.map +1 -0
- package/lib/database/AcDbTextStyleTableRecord.d.ts +67 -0
- package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbTextStyleTableRecord.js +166 -0
- package/lib/database/AcDbTextStyleTableRecord.js.map +1 -0
- package/lib/database/AcDbViewportTable.d.ts +11 -0
- package/lib/database/AcDbViewportTable.d.ts.map +1 -0
- package/lib/database/AcDbViewportTable.js +29 -0
- package/lib/database/AcDbViewportTable.js.map +1 -0
- package/lib/database/AcDbViewportTableRecord.d.ts +89 -0
- package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -0
- package/lib/database/AcDbViewportTableRecord.js +262 -0
- package/lib/database/AcDbViewportTableRecord.js.map +1 -0
- package/lib/database/index.d.ts +18 -0
- package/lib/database/index.d.ts.map +1 -0
- package/lib/database/index.js +18 -0
- package/lib/database/index.js.map +1 -0
- package/lib/entity/AcDbArc.d.ts +67 -0
- package/lib/entity/AcDbArc.d.ts.map +1 -0
- package/lib/entity/AcDbArc.js +154 -0
- package/lib/entity/AcDbArc.js.map +1 -0
- package/lib/entity/AcDbBlockReference.d.ts +54 -0
- package/lib/entity/AcDbBlockReference.d.ts.map +1 -0
- package/lib/entity/AcDbBlockReference.js +168 -0
- package/lib/entity/AcDbBlockReference.js.map +1 -0
- package/lib/entity/AcDbCircle.d.ts +51 -0
- package/lib/entity/AcDbCircle.d.ts.map +1 -0
- package/lib/entity/AcDbCircle.js +115 -0
- package/lib/entity/AcDbCircle.js.map +1 -0
- package/lib/entity/AcDbCurve.d.ts +9 -0
- package/lib/entity/AcDbCurve.d.ts.map +1 -0
- package/lib/entity/AcDbCurve.js +25 -0
- package/lib/entity/AcDbCurve.js.map +1 -0
- package/lib/entity/AcDbEllipse.d.ts +53 -0
- package/lib/entity/AcDbEllipse.d.ts.map +1 -0
- package/lib/entity/AcDbEllipse.js +119 -0
- package/lib/entity/AcDbEllipse.js.map +1 -0
- package/lib/entity/AcDbEntity.d.ts +103 -0
- package/lib/entity/AcDbEntity.d.ts.map +1 -0
- package/lib/entity/AcDbEntity.js +292 -0
- package/lib/entity/AcDbEntity.js.map +1 -0
- package/lib/entity/AcDbHatch.d.ts +116 -0
- package/lib/entity/AcDbHatch.d.ts.map +1 -0
- package/lib/entity/AcDbHatch.js +200 -0
- package/lib/entity/AcDbHatch.js.map +1 -0
- package/lib/entity/AcDbLeader.d.ts +94 -0
- package/lib/entity/AcDbLeader.d.ts.map +1 -0
- package/lib/entity/AcDbLeader.js +217 -0
- package/lib/entity/AcDbLeader.js.map +1 -0
- package/lib/entity/AcDbLine.d.ts +55 -0
- package/lib/entity/AcDbLine.d.ts.map +1 -0
- package/lib/entity/AcDbLine.js +158 -0
- package/lib/entity/AcDbLine.js.map +1 -0
- package/lib/entity/AcDbMText.d.ts +119 -0
- package/lib/entity/AcDbMText.d.ts.map +1 -0
- package/lib/entity/AcDbMText.js +300 -0
- package/lib/entity/AcDbMText.js.map +1 -0
- package/lib/entity/AcDbPoint.d.ts +32 -0
- package/lib/entity/AcDbPoint.d.ts.map +1 -0
- package/lib/entity/AcDbPoint.js +75 -0
- package/lib/entity/AcDbPoint.js.map +1 -0
- package/lib/entity/AcDbPolyline.d.ts +72 -0
- package/lib/entity/AcDbPolyline.d.ts.map +1 -0
- package/lib/entity/AcDbPolyline.js +154 -0
- package/lib/entity/AcDbPolyline.js.map +1 -0
- package/lib/entity/AcDbRasterImage.d.ts +163 -0
- package/lib/entity/AcDbRasterImage.d.ts.map +1 -0
- package/lib/entity/AcDbRasterImage.js +406 -0
- package/lib/entity/AcDbRasterImage.js.map +1 -0
- package/lib/entity/AcDbRay.d.ts +42 -0
- package/lib/entity/AcDbRay.d.ts.map +1 -0
- package/lib/entity/AcDbRay.js +102 -0
- package/lib/entity/AcDbRay.js.map +1 -0
- package/lib/entity/AcDbSpline.d.ts +37 -0
- package/lib/entity/AcDbSpline.d.ts.map +1 -0
- package/lib/entity/AcDbSpline.js +71 -0
- package/lib/entity/AcDbSpline.js.map +1 -0
- package/lib/entity/AcDbTable.d.ts +141 -0
- package/lib/entity/AcDbTable.d.ts.map +1 -0
- package/lib/entity/AcDbTable.js +358 -0
- package/lib/entity/AcDbTable.js.map +1 -0
- package/lib/entity/AcDbText.d.ts +110 -0
- package/lib/entity/AcDbText.d.ts.map +1 -0
- package/lib/entity/AcDbText.js +255 -0
- package/lib/entity/AcDbText.js.map +1 -0
- package/lib/entity/AcDbTrace.d.ts +64 -0
- package/lib/entity/AcDbTrace.d.ts.map +1 -0
- package/lib/entity/AcDbTrace.js +145 -0
- package/lib/entity/AcDbTrace.js.map +1 -0
- package/lib/entity/AcDbViewport.d.ts +58 -0
- package/lib/entity/AcDbViewport.d.ts.map +1 -0
- package/lib/entity/AcDbViewport.js +179 -0
- package/lib/entity/AcDbViewport.js.map +1 -0
- package/lib/entity/AcDbWipeout.d.ts +9 -0
- package/lib/entity/AcDbWipeout.d.ts.map +1 -0
- package/lib/entity/AcDbWipeout.js +40 -0
- package/lib/entity/AcDbWipeout.js.map +1 -0
- package/lib/entity/AcDbXline.d.ts +42 -0
- package/lib/entity/AcDbXline.d.ts.map +1 -0
- package/lib/entity/AcDbXline.js +102 -0
- package/lib/entity/AcDbXline.js.map +1 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +46 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.js +111 -0
- package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts +77 -0
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbAlignedDimension.js +203 -0
- package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbArcDimension.d.ts +46 -0
- package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbArcDimension.js +111 -0
- package/lib/entity/dimension/AcDbArcDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts +69 -0
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbDiametricDimension.js +199 -0
- package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbDimension.d.ts +161 -0
- package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbDimension.js +375 -0
- package/lib/entity/dimension/AcDbDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +44 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.js +99 -0
- package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -0
- package/lib/entity/dimension/AcDbRadialDimension.d.ts +69 -0
- package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -0
- package/lib/entity/dimension/AcDbRadialDimension.js +148 -0
- package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -0
- package/lib/entity/dimension/index.d.ts +8 -0
- package/lib/entity/dimension/index.d.ts.map +1 -0
- package/lib/entity/dimension/index.js +8 -0
- package/lib/entity/dimension/index.js.map +1 -0
- package/lib/entity/index.d.ts +23 -0
- package/lib/entity/index.d.ts.map +1 -0
- package/lib/entity/index.js +23 -0
- package/lib/entity/index.js.map +1 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +10 -0
- package/lib/index.js.map +1 -0
- package/lib/misc/AcDbAngleUnits.d.ts +8 -0
- package/lib/misc/AcDbAngleUnits.d.ts.map +1 -0
- package/lib/misc/AcDbAngleUnits.js +9 -0
- package/lib/misc/AcDbAngleUnits.js.map +1 -0
- package/lib/misc/AcDbConstants.d.ts +4 -0
- package/lib/misc/AcDbConstants.d.ts.map +1 -0
- package/lib/misc/AcDbConstants.js +4 -0
- package/lib/misc/AcDbConstants.js.map +1 -0
- package/lib/misc/AcDbDimArrowType.d.ts +86 -0
- package/lib/misc/AcDbDimArrowType.d.ts.map +1 -0
- package/lib/misc/AcDbDimArrowType.js +87 -0
- package/lib/misc/AcDbDimArrowType.js.map +1 -0
- package/lib/misc/AcDbObjectIterator.d.ts +16 -0
- package/lib/misc/AcDbObjectIterator.d.ts.map +1 -0
- package/lib/misc/AcDbObjectIterator.js +28 -0
- package/lib/misc/AcDbObjectIterator.js.map +1 -0
- package/lib/misc/AcDbOsnapMode.d.ts +43 -0
- package/lib/misc/AcDbOsnapMode.d.ts.map +1 -0
- package/lib/misc/AcDbOsnapMode.js +44 -0
- package/lib/misc/AcDbOsnapMode.js.map +1 -0
- package/lib/misc/AcDbRenderingCache.d.ts +61 -0
- package/lib/misc/AcDbRenderingCache.d.ts.map +1 -0
- package/lib/misc/AcDbRenderingCache.js +154 -0
- package/lib/misc/AcDbRenderingCache.js.map +1 -0
- package/lib/misc/AcDbUnitsValue.d.ts +51 -0
- package/lib/misc/AcDbUnitsValue.d.ts.map +1 -0
- package/lib/misc/AcDbUnitsValue.js +71 -0
- package/lib/misc/AcDbUnitsValue.js.map +1 -0
- package/lib/misc/index.d.ts +8 -0
- package/lib/misc/index.d.ts.map +1 -0
- package/lib/misc/index.js +8 -0
- package/lib/misc/index.js.map +1 -0
- package/lib/object/AcDbDictionary.d.ts +80 -0
- package/lib/object/AcDbDictionary.d.ts.map +1 -0
- package/lib/object/AcDbDictionary.js +144 -0
- package/lib/object/AcDbDictionary.js.map +1 -0
- package/lib/object/AcDbRasterImageDef.d.ts +25 -0
- package/lib/object/AcDbRasterImageDef.d.ts.map +1 -0
- package/lib/object/AcDbRasterImageDef.js +54 -0
- package/lib/object/AcDbRasterImageDef.js.map +1 -0
- package/lib/object/index.d.ts +4 -0
- package/lib/object/index.d.ts.map +1 -0
- package/lib/object/index.js +4 -0
- package/lib/object/index.js.map +1 -0
- package/lib/object/layout/AcDbLayout.d.ts +51 -0
- package/lib/object/layout/AcDbLayout.d.ts.map +1 -0
- package/lib/object/layout/AcDbLayout.js +120 -0
- package/lib/object/layout/AcDbLayout.js.map +1 -0
- package/lib/object/layout/AcDbLayoutDictionary.d.ts +19 -0
- package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -0
- package/lib/object/layout/AcDbLayoutDictionary.js +94 -0
- package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -0
- package/lib/object/layout/AcDbLayoutManager.d.ts +101 -0
- package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -0
- package/lib/object/layout/AcDbLayoutManager.js +154 -0
- package/lib/object/layout/AcDbLayoutManager.js.map +1 -0
- package/lib/object/layout/index.d.ts +4 -0
- package/lib/object/layout/index.d.ts.map +1 -0
- package/lib/object/layout/index.js +4 -0
- package/lib/object/layout/index.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
17
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
18
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
19
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
20
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
21
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
22
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
26
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
27
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
28
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
|
+
function step(op) {
|
|
30
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
32
|
+
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;
|
|
33
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
|
+
switch (op[0]) {
|
|
35
|
+
case 0: case 1: t = op; break;
|
|
36
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
37
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
38
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
39
|
+
default:
|
|
40
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
41
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
42
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
43
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
44
|
+
if (t[2]) _.ops.pop();
|
|
45
|
+
_.trys.pop(); continue;
|
|
46
|
+
}
|
|
47
|
+
op = body.call(thisArg, _);
|
|
48
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
49
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
/* eslint-disable simple-import-sort/imports */
|
|
53
|
+
import { AcCmColor, AcCmEventManager } from '@mlightcad/common';
|
|
54
|
+
import { AcDbObject } from '../base';
|
|
55
|
+
import { AcDbDatabaseConverterManager, AcDbFileType } from './AcDbDatabaseConverterManager';
|
|
56
|
+
import { AcDbAngleUnits, AcDbUnitsValue } from '../misc';
|
|
57
|
+
import { AcDbDictionary, AcDbLayoutDictionary } from '../object';
|
|
58
|
+
import { AcDbBlockTable } from './AcDbBlockTable';
|
|
59
|
+
import { AcDbDimStyleTable } from './AcDbDimStyleTable';
|
|
60
|
+
import { AcDbLayerTable } from './AcDbLayerTable';
|
|
61
|
+
import { AcDbLinetypeTable } from './AcDbLinetypeTable';
|
|
62
|
+
import { AcDbTextStyleTable } from './AcDbTextStyleTable';
|
|
63
|
+
import { AcDbViewportTable } from './AcDbViewportTable';
|
|
64
|
+
/**
|
|
65
|
+
* The AcDbDatabase class represents the AutoCAD drawing file. Each AcDbDatabase object contains
|
|
66
|
+
* the various header variables, symbol tables, table records, entities, and objects that make up
|
|
67
|
+
* the drawing. The AcDbDatabase class has member functions to allow access to all the symbol tables,
|
|
68
|
+
* to read and write to DWG files, to get or set database defaults, to execute various database-level
|
|
69
|
+
* operations, and to get or set all header variables.
|
|
70
|
+
*/
|
|
71
|
+
var AcDbDatabase = /** @class */ (function (_super) {
|
|
72
|
+
__extends(AcDbDatabase, _super);
|
|
73
|
+
/**
|
|
74
|
+
* Default constructor.
|
|
75
|
+
* If buildDefaultDrawing == true, then the new AcDbDatabase object contains the minimum necessary
|
|
76
|
+
* for a complete database. If buildDefaultDrawing == false, then the new AcDbDatabase object is
|
|
77
|
+
* completely empty.
|
|
78
|
+
*/
|
|
79
|
+
function AcDbDatabase() {
|
|
80
|
+
var _this = _super.call(this) || this;
|
|
81
|
+
_this.events = {
|
|
82
|
+
entityAppended: new AcCmEventManager(),
|
|
83
|
+
entityModified: new AcCmEventManager(),
|
|
84
|
+
layerAppended: new AcCmEventManager(),
|
|
85
|
+
layerModified: new AcCmEventManager(),
|
|
86
|
+
layerErased: new AcCmEventManager(),
|
|
87
|
+
openProgress: new AcCmEventManager(),
|
|
88
|
+
headerSysVarChanged: new AcCmEventManager()
|
|
89
|
+
};
|
|
90
|
+
_this._angBase = 0;
|
|
91
|
+
_this._angDir = 0;
|
|
92
|
+
_this._aunits = AcDbAngleUnits.DecimalDegrees;
|
|
93
|
+
_this._celtscale = 1;
|
|
94
|
+
_this._cecolor = new AcCmColor();
|
|
95
|
+
// TODO: Default value is 1 (imperial) or 4 (metric)
|
|
96
|
+
_this._insunits = AcDbUnitsValue.Millimeters;
|
|
97
|
+
_this._ltscale = 1;
|
|
98
|
+
_this._pdmode = 0;
|
|
99
|
+
_this._pdsize = 0;
|
|
100
|
+
_this._tables = {
|
|
101
|
+
blockTable: new AcDbBlockTable(_this),
|
|
102
|
+
dimStyleTable: new AcDbDimStyleTable(_this),
|
|
103
|
+
linetypeTable: new AcDbLinetypeTable(_this),
|
|
104
|
+
textStyleTable: new AcDbTextStyleTable(_this),
|
|
105
|
+
layerTable: new AcDbLayerTable(_this),
|
|
106
|
+
viewportTable: new AcDbViewportTable(_this)
|
|
107
|
+
};
|
|
108
|
+
_this._dictionaries = {
|
|
109
|
+
layouts: new AcDbLayoutDictionary(_this),
|
|
110
|
+
imageDefs: new AcDbDictionary(_this)
|
|
111
|
+
};
|
|
112
|
+
return _this;
|
|
113
|
+
}
|
|
114
|
+
Object.defineProperty(AcDbDatabase.prototype, "tables", {
|
|
115
|
+
/**
|
|
116
|
+
* All of tables in this drawing database
|
|
117
|
+
*/
|
|
118
|
+
get: function () {
|
|
119
|
+
return this._tables;
|
|
120
|
+
},
|
|
121
|
+
enumerable: false,
|
|
122
|
+
configurable: true
|
|
123
|
+
});
|
|
124
|
+
Object.defineProperty(AcDbDatabase.prototype, "dictionaries", {
|
|
125
|
+
/**
|
|
126
|
+
* All of named object dictionaries in this drawing database
|
|
127
|
+
*/
|
|
128
|
+
get: function () {
|
|
129
|
+
return this._dictionaries;
|
|
130
|
+
},
|
|
131
|
+
enumerable: false,
|
|
132
|
+
configurable: true
|
|
133
|
+
});
|
|
134
|
+
Object.defineProperty(AcDbDatabase.prototype, "currentSpaceId", {
|
|
135
|
+
/**
|
|
136
|
+
* The object ID of the AcDbBlockTableRecord of the current space (e.g., model space or paper space.)
|
|
137
|
+
*/
|
|
138
|
+
get: function () {
|
|
139
|
+
if (!this._currentSpace) {
|
|
140
|
+
this._currentSpace = this._tables.blockTable.modelSpace;
|
|
141
|
+
}
|
|
142
|
+
return this._currentSpace.objectId;
|
|
143
|
+
},
|
|
144
|
+
set: function (value) {
|
|
145
|
+
var currentSpace = this.tables.blockTable.getIdAt(value);
|
|
146
|
+
if (currentSpace == null) {
|
|
147
|
+
throw new Error("[AcDbDatabase] The specified block table record id '".concat(value, "' doesn't exist in the drawing database!"));
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
this._currentSpace = currentSpace;
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
enumerable: false,
|
|
154
|
+
configurable: true
|
|
155
|
+
});
|
|
156
|
+
Object.defineProperty(AcDbDatabase.prototype, "aunits", {
|
|
157
|
+
/**
|
|
158
|
+
* Angle units. It is the current AUNITS value for the database.
|
|
159
|
+
*/
|
|
160
|
+
get: function () {
|
|
161
|
+
return this._aunits;
|
|
162
|
+
},
|
|
163
|
+
set: function (value) {
|
|
164
|
+
this._aunits = value || 0;
|
|
165
|
+
this.triggerHeaderSysVarChangedEvent('aunits');
|
|
166
|
+
},
|
|
167
|
+
enumerable: false,
|
|
168
|
+
configurable: true
|
|
169
|
+
});
|
|
170
|
+
Object.defineProperty(AcDbDatabase.prototype, "insunits", {
|
|
171
|
+
/**
|
|
172
|
+
* The drawing-units value for automatic scaling of blocks, images, or xrefs when inserted or attached
|
|
173
|
+
* to a drawing. It is the current INSUNITS value for the database.
|
|
174
|
+
*/
|
|
175
|
+
get: function () {
|
|
176
|
+
return this._insunits;
|
|
177
|
+
},
|
|
178
|
+
set: function (value) {
|
|
179
|
+
// TODO: Default value is 1 (imperial) or 4 (metric)
|
|
180
|
+
this._insunits = value || 4;
|
|
181
|
+
this.triggerHeaderSysVarChangedEvent('insunits');
|
|
182
|
+
},
|
|
183
|
+
enumerable: false,
|
|
184
|
+
configurable: true
|
|
185
|
+
});
|
|
186
|
+
Object.defineProperty(AcDbDatabase.prototype, "ltscale", {
|
|
187
|
+
/**
|
|
188
|
+
* The line type scale factor.
|
|
189
|
+
*/
|
|
190
|
+
get: function () {
|
|
191
|
+
return this._ltscale;
|
|
192
|
+
},
|
|
193
|
+
set: function (value) {
|
|
194
|
+
this._ltscale = value || 1;
|
|
195
|
+
this.triggerHeaderSysVarChangedEvent('ltscale');
|
|
196
|
+
},
|
|
197
|
+
enumerable: false,
|
|
198
|
+
configurable: true
|
|
199
|
+
});
|
|
200
|
+
Object.defineProperty(AcDbDatabase.prototype, "cecolor", {
|
|
201
|
+
/**
|
|
202
|
+
* The color of new objects as you create them.
|
|
203
|
+
*/
|
|
204
|
+
get: function () {
|
|
205
|
+
return this._cecolor;
|
|
206
|
+
},
|
|
207
|
+
set: function (value) {
|
|
208
|
+
this._cecolor = value || 0;
|
|
209
|
+
this.triggerHeaderSysVarChangedEvent('cecolor');
|
|
210
|
+
},
|
|
211
|
+
enumerable: false,
|
|
212
|
+
configurable: true
|
|
213
|
+
});
|
|
214
|
+
Object.defineProperty(AcDbDatabase.prototype, "celtscale", {
|
|
215
|
+
/**
|
|
216
|
+
* The line type scaling for new objects relative to the ltscale setting. A line created with
|
|
217
|
+
* celtscale = 2 in a drawing with ltscale set to 0.5 would appear the same as a line created
|
|
218
|
+
* with celtscale = 1 in a drawing with ltscale = 1.
|
|
219
|
+
*/
|
|
220
|
+
get: function () {
|
|
221
|
+
return this._celtscale;
|
|
222
|
+
},
|
|
223
|
+
set: function (value) {
|
|
224
|
+
this._celtscale = value || 1;
|
|
225
|
+
this.triggerHeaderSysVarChangedEvent('celtscale');
|
|
226
|
+
},
|
|
227
|
+
enumerable: false,
|
|
228
|
+
configurable: true
|
|
229
|
+
});
|
|
230
|
+
Object.defineProperty(AcDbDatabase.prototype, "angBase", {
|
|
231
|
+
/**
|
|
232
|
+
* The zero (0) base angle with respect to the current UCS in radians.
|
|
233
|
+
*/
|
|
234
|
+
get: function () {
|
|
235
|
+
return this._angBase;
|
|
236
|
+
},
|
|
237
|
+
set: function (value) {
|
|
238
|
+
this._angBase = value || 0;
|
|
239
|
+
this.triggerHeaderSysVarChangedEvent('angbase');
|
|
240
|
+
},
|
|
241
|
+
enumerable: false,
|
|
242
|
+
configurable: true
|
|
243
|
+
});
|
|
244
|
+
Object.defineProperty(AcDbDatabase.prototype, "angDir", {
|
|
245
|
+
/**
|
|
246
|
+
* The direction of positive angles.
|
|
247
|
+
* - 0: Counterclockwise
|
|
248
|
+
* - 1: Clockwise
|
|
249
|
+
*/
|
|
250
|
+
get: function () {
|
|
251
|
+
return this._angDir;
|
|
252
|
+
},
|
|
253
|
+
set: function (value) {
|
|
254
|
+
this._angDir = value || 0;
|
|
255
|
+
this.triggerHeaderSysVarChangedEvent('angdir');
|
|
256
|
+
},
|
|
257
|
+
enumerable: false,
|
|
258
|
+
configurable: true
|
|
259
|
+
});
|
|
260
|
+
Object.defineProperty(AcDbDatabase.prototype, "pdmode", {
|
|
261
|
+
/**
|
|
262
|
+
* Point display mode. Please get more details on value of this property from [this page](https://help.autodesk.com/view/ACDLT/2022/ENU/?guid=GUID-82F9BB52-D026-4D6A-ABA6-BF29641F459B).
|
|
263
|
+
*/
|
|
264
|
+
get: function () {
|
|
265
|
+
return this._pdmode;
|
|
266
|
+
},
|
|
267
|
+
set: function (value) {
|
|
268
|
+
this._pdmode = value || 0;
|
|
269
|
+
this.triggerHeaderSysVarChangedEvent('pdmode');
|
|
270
|
+
},
|
|
271
|
+
enumerable: false,
|
|
272
|
+
configurable: true
|
|
273
|
+
});
|
|
274
|
+
Object.defineProperty(AcDbDatabase.prototype, "pdsize", {
|
|
275
|
+
/**
|
|
276
|
+
* Point display size.
|
|
277
|
+
* - 0: Create a point at 5 percent of the drawing area height
|
|
278
|
+
* - > 0: Specifie an absolute size
|
|
279
|
+
* - < 0: Specifie a percentage of the viewport size
|
|
280
|
+
*/
|
|
281
|
+
get: function () {
|
|
282
|
+
return this._pdsize;
|
|
283
|
+
},
|
|
284
|
+
set: function (value) {
|
|
285
|
+
this._pdsize = value || 0;
|
|
286
|
+
this.triggerHeaderSysVarChangedEvent('pdsize');
|
|
287
|
+
},
|
|
288
|
+
enumerable: false,
|
|
289
|
+
configurable: true
|
|
290
|
+
});
|
|
291
|
+
/**
|
|
292
|
+
* Read AutoCAD drawing specified by data into the database object.
|
|
293
|
+
* @param data Input contents of one AutoCAD file
|
|
294
|
+
* @param options Input options to read drawing data
|
|
295
|
+
* @param fileType Input file type of the drawing
|
|
296
|
+
*/
|
|
297
|
+
AcDbDatabase.prototype.read = function (data_1, options_1) {
|
|
298
|
+
return __awaiter(this, arguments, void 0, function (data, options, fileType) {
|
|
299
|
+
var converter;
|
|
300
|
+
var _this = this;
|
|
301
|
+
if (fileType === void 0) { fileType = AcDbFileType.DXF; }
|
|
302
|
+
return __generator(this, function (_a) {
|
|
303
|
+
switch (_a.label) {
|
|
304
|
+
case 0:
|
|
305
|
+
converter = AcDbDatabaseConverterManager.instance.get(fileType);
|
|
306
|
+
if (converter == null)
|
|
307
|
+
throw new Error("Database converter for file type '".concat(fileType, "' isn't registered and can can't read this file!"));
|
|
308
|
+
this.clear();
|
|
309
|
+
return [4 /*yield*/, converter.read(data, this, (options && options.minimumChunkSize) || 10, function (percentage, stage, stageStatus, data) { return __awaiter(_this, void 0, void 0, function () {
|
|
310
|
+
var fonts;
|
|
311
|
+
return __generator(this, function (_a) {
|
|
312
|
+
switch (_a.label) {
|
|
313
|
+
case 0:
|
|
314
|
+
this.events.openProgress.dispatch({
|
|
315
|
+
database: this,
|
|
316
|
+
percentage: percentage,
|
|
317
|
+
stage: stage,
|
|
318
|
+
stageStatus: stageStatus
|
|
319
|
+
});
|
|
320
|
+
if (!(options &&
|
|
321
|
+
options.fontLoader &&
|
|
322
|
+
stage == 'FONT' &&
|
|
323
|
+
stageStatus == 'END')) return [3 /*break*/, 2];
|
|
324
|
+
fonts = data
|
|
325
|
+
? data
|
|
326
|
+
: this.tables.textStyleTable.fonts;
|
|
327
|
+
return [4 /*yield*/, options.fontLoader.load(fonts)];
|
|
328
|
+
case 1:
|
|
329
|
+
_a.sent();
|
|
330
|
+
_a.label = 2;
|
|
331
|
+
case 2: return [2 /*return*/];
|
|
332
|
+
}
|
|
333
|
+
});
|
|
334
|
+
}); })];
|
|
335
|
+
case 1:
|
|
336
|
+
_a.sent();
|
|
337
|
+
return [2 /*return*/];
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
};
|
|
342
|
+
/**
|
|
343
|
+
* Read AutoCAD DXF drawing specified by the URL into the database object.
|
|
344
|
+
* @param url Input the URL linked to one AutoCAD DXF file
|
|
345
|
+
* @param options Input options to read drawing data
|
|
346
|
+
*/
|
|
347
|
+
AcDbDatabase.prototype.openUri = function (url, options) {
|
|
348
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
349
|
+
var response, blob, reader;
|
|
350
|
+
var _this = this;
|
|
351
|
+
return __generator(this, function (_a) {
|
|
352
|
+
switch (_a.label) {
|
|
353
|
+
case 0: return [4 /*yield*/, fetch(url)];
|
|
354
|
+
case 1:
|
|
355
|
+
response = _a.sent();
|
|
356
|
+
return [4 /*yield*/, response.blob()];
|
|
357
|
+
case 2:
|
|
358
|
+
blob = _a.sent();
|
|
359
|
+
reader = new FileReader();
|
|
360
|
+
reader.onload = function (event) {
|
|
361
|
+
var _a;
|
|
362
|
+
var content = (_a = event.target) === null || _a === void 0 ? void 0 : _a.result;
|
|
363
|
+
if (content)
|
|
364
|
+
_this.read(content, options);
|
|
365
|
+
};
|
|
366
|
+
reader.readAsText(blob);
|
|
367
|
+
return [2 /*return*/];
|
|
368
|
+
}
|
|
369
|
+
});
|
|
370
|
+
});
|
|
371
|
+
};
|
|
372
|
+
/**
|
|
373
|
+
* Clear drawing database. It is needed when opening one drawing.
|
|
374
|
+
*/
|
|
375
|
+
AcDbDatabase.prototype.clear = function () {
|
|
376
|
+
this.tables.blockTable.removeAll();
|
|
377
|
+
this.tables.dimStyleTable.removeAll();
|
|
378
|
+
this.tables.layerTable.removeAll();
|
|
379
|
+
this.tables.linetypeTable.removeAll();
|
|
380
|
+
this.tables.textStyleTable.removeAll();
|
|
381
|
+
this.tables.viewportTable.removeAll();
|
|
382
|
+
this.dictionaries.layouts.removeAll();
|
|
383
|
+
this._currentSpace = undefined;
|
|
384
|
+
};
|
|
385
|
+
AcDbDatabase.prototype.triggerHeaderSysVarChangedEvent = function (sysVarName) {
|
|
386
|
+
this.events.headerSysVarChanged.dispatch({
|
|
387
|
+
database: this,
|
|
388
|
+
name: sysVarName
|
|
389
|
+
});
|
|
390
|
+
};
|
|
391
|
+
return AcDbDatabase;
|
|
392
|
+
}(AcDbObject));
|
|
393
|
+
export { AcDbDatabase };
|
|
394
|
+
/* eslint-enable simple-import-sort/imports */
|
|
395
|
+
//# sourceMappingURL=AcDbDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbDatabase.js","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { AcDbDatabase } from './AcDbDatabase';
|
|
2
|
+
export type AcDbConversionStage =
|
|
3
|
+
/**
|
|
4
|
+
* Start DXF/DWG file conversion
|
|
5
|
+
*/
|
|
6
|
+
'START'
|
|
7
|
+
/**
|
|
8
|
+
* Prasing DXF/DWG file
|
|
9
|
+
*/
|
|
10
|
+
| 'PARSE'
|
|
11
|
+
/**
|
|
12
|
+
* Downloading font files
|
|
13
|
+
*/
|
|
14
|
+
| 'FONT'
|
|
15
|
+
/**
|
|
16
|
+
* Converting line types
|
|
17
|
+
*/
|
|
18
|
+
| 'LTYPE'
|
|
19
|
+
/**
|
|
20
|
+
* Converting text styles
|
|
21
|
+
*/
|
|
22
|
+
| 'STYLE'
|
|
23
|
+
/**
|
|
24
|
+
* Converting dimension styles
|
|
25
|
+
*/
|
|
26
|
+
| 'DIMSTYLE'
|
|
27
|
+
/**
|
|
28
|
+
* Converting layers
|
|
29
|
+
*/
|
|
30
|
+
| 'LAYER'
|
|
31
|
+
/**
|
|
32
|
+
* Converting viewports
|
|
33
|
+
*/
|
|
34
|
+
| 'VPORT'
|
|
35
|
+
/**
|
|
36
|
+
* Converting block table record
|
|
37
|
+
*/
|
|
38
|
+
| 'BLOCK_RECORD'
|
|
39
|
+
/**
|
|
40
|
+
* Converting file header
|
|
41
|
+
*/
|
|
42
|
+
| 'HEADER'
|
|
43
|
+
/**
|
|
44
|
+
* Converting blocks
|
|
45
|
+
*/
|
|
46
|
+
| 'BLOCK'
|
|
47
|
+
/**
|
|
48
|
+
* Converting entities in model space
|
|
49
|
+
*/
|
|
50
|
+
| 'ENTITY'
|
|
51
|
+
/**
|
|
52
|
+
* Converting objects such as nod
|
|
53
|
+
*/
|
|
54
|
+
| 'OBJECT'
|
|
55
|
+
/**
|
|
56
|
+
* Finish file conversion
|
|
57
|
+
*/
|
|
58
|
+
| 'END';
|
|
59
|
+
export type AcDbConversionStageStatus = 'START' | 'END' | 'IN-PROGRESS';
|
|
60
|
+
/**
|
|
61
|
+
* Callback function to update progress when parsing one file
|
|
62
|
+
*/
|
|
63
|
+
export type AcDbConversionProgressCallback = (
|
|
64
|
+
/**
|
|
65
|
+
* Finish percentage
|
|
66
|
+
*/
|
|
67
|
+
percentage: number,
|
|
68
|
+
/**
|
|
69
|
+
* Name of the current stage.
|
|
70
|
+
*/
|
|
71
|
+
stage: AcDbConversionStage,
|
|
72
|
+
/**
|
|
73
|
+
* Status of the current stage.
|
|
74
|
+
*/
|
|
75
|
+
stageStatus: AcDbConversionStageStatus,
|
|
76
|
+
/**
|
|
77
|
+
* Store data associated with the current stage. Its meaning of different stages are as follows.
|
|
78
|
+
* - 'FONT' stage: fonts needed by this drawing
|
|
79
|
+
*
|
|
80
|
+
* Note: For now, 'FONT' stage uses this field only.
|
|
81
|
+
*/
|
|
82
|
+
data?: unknown) => Promise<void>;
|
|
83
|
+
export interface AcDbConvertDatabasePerformanceData {
|
|
84
|
+
[key: string]: number;
|
|
85
|
+
total: number;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* It defines interface that one drawing database convert should follow. One drawing database converter
|
|
89
|
+
* can convert one dxf/dwg file to one instance of AcDbDatabase.
|
|
90
|
+
*/
|
|
91
|
+
export declare abstract class AcDbDatabaseConverter<TModel = unknown> {
|
|
92
|
+
progress?: AcDbConversionProgressCallback;
|
|
93
|
+
/**
|
|
94
|
+
* Read the drawing specified by data and store them into the specified database. It will break up
|
|
95
|
+
* entities in the drawing into smaller chunks that are processed asynchronously to allow the UI to
|
|
96
|
+
* remain responsive.
|
|
97
|
+
* @param data Input drawing data in dxf format
|
|
98
|
+
* @param db Input database to store drawing data
|
|
99
|
+
* @param progress Input optional callback function to update progress
|
|
100
|
+
* @param minimumChunkSize Input the minimum number of entities in one chunk. If it is greater than
|
|
101
|
+
* the total number of entities to process, the total number is used.
|
|
102
|
+
*/
|
|
103
|
+
read(data: string | ArrayBuffer, db: AcDbDatabase, minimumChunkSize: number, progress?: AcDbConversionProgressCallback): Promise<void>;
|
|
104
|
+
protected onFinished(): void;
|
|
105
|
+
protected parse(_data: string | ArrayBuffer): TModel;
|
|
106
|
+
protected getFonts(_model: TModel): string[];
|
|
107
|
+
protected processLineTypes(_model: TModel, _db: AcDbDatabase): void;
|
|
108
|
+
protected processTextStyles(_model: TModel, _db: AcDbDatabase): void;
|
|
109
|
+
protected processDimStyles(_model: TModel, _db: AcDbDatabase): void;
|
|
110
|
+
protected processLayers(_model: TModel, _db: AcDbDatabase): void;
|
|
111
|
+
protected processViewports(_model: TModel, _db: AcDbDatabase): void;
|
|
112
|
+
protected processHeader(_model: TModel, _db: AcDbDatabase): void;
|
|
113
|
+
protected processBlockTables(_model: TModel, _db: AcDbDatabase): void;
|
|
114
|
+
protected processObjects(_model: TModel, _db: AcDbDatabase): void;
|
|
115
|
+
protected processBlocks(_model: TModel, _db: AcDbDatabase): void;
|
|
116
|
+
protected processEntities(_model: TModel, _db: AcDbDatabase, _minimumChunkSize: number, _percentage: {
|
|
117
|
+
value: number;
|
|
118
|
+
}, _progress?: AcDbConversionProgressCallback): void;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=AcDbDatabaseConverter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbDatabaseConverter.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,MAAM,mBAAmB;AAC7B;;GAEG;AACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,MAAM;AACR;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,UAAU;AACZ;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,cAAc;AAChB;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,KAAK,CAAA;AAET,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,KAAK,GAAG,aAAa,CAAA;AAEvE;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG;AAC3C;;GAEG;AACH,UAAU,EAAE,MAAM;AAClB;;GAEG;AACH,KAAK,EAAE,mBAAmB;AAC1B;;GAEG;AACH,WAAW,EAAE,yBAAyB;AACtC;;;;;GAKG;AACH,IAAI,CAAC,EAAE,OAAO,KACX,OAAO,CAAC,IAAI,CAAC,CAAA;AAqBlB,MAAM,WAAW,kCAAkC;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AA6DD;;;GAGG;AACH,8BAAsB,qBAAqB,CAAC,MAAM,GAAG,OAAO;IAC1D,QAAQ,CAAC,EAAE,8BAA8B,CAAA;IAEzC;;;;;;;;;OASG;IACG,IAAI,CACR,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE,8BAA8B;IAuO3C,SAAS,CAAC,UAAU;IAQpB,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM;IAIpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAI5C,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI5D,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI7D,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI5D,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAIzD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI5D,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAIzD,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI9D,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI1D,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAIzD,SAAS,CAAC,eAAe,CACvB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,EACjB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAC9B,SAAS,CAAC,EAAE,8BAA8B;CAI7C"}
|