@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,30 @@
|
|
|
1
|
+
import { AcDbDatabase } from '../database/AcDbDatabase';
|
|
2
|
+
import { AcDbLayoutManager } from '../object/layout/AcDbLayoutManager';
|
|
3
|
+
/**
|
|
4
|
+
* Return the singleton instance of the host application services
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
export declare function acdbHostApplicationServices(): AcDbHostApplicationServices;
|
|
8
|
+
/**
|
|
9
|
+
* The AcDbHostApplicationServices class provides various services to host applications at runtime.
|
|
10
|
+
*/
|
|
11
|
+
export declare class AcDbHostApplicationServices {
|
|
12
|
+
private _workingDatabase;
|
|
13
|
+
private _layoutManager;
|
|
14
|
+
static instance: AcDbHostApplicationServices;
|
|
15
|
+
private constructor();
|
|
16
|
+
/**
|
|
17
|
+
* Get the current working database.
|
|
18
|
+
*/
|
|
19
|
+
get workingDatabase(): AcDbDatabase;
|
|
20
|
+
/**
|
|
21
|
+
* Set the working database.
|
|
22
|
+
* @param database Database to make the new working database
|
|
23
|
+
*/
|
|
24
|
+
set workingDatabase(database: AcDbDatabase);
|
|
25
|
+
/**
|
|
26
|
+
* The one and only instance of the layout manager object.
|
|
27
|
+
*/
|
|
28
|
+
get layoutManager(): AcDbLayoutManager;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=AcDbHostApplicationServices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbHostApplicationServices.d.ts","sourceRoot":"","sources":["../../src/base/AcDbHostApplicationServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE;;;GAGG;AACH,wBAAgB,2BAA2B,gCAE1C;AAED;;GAEG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAc,QAAQ,EAAE,2BAA2B,CAChB;IAEnC,OAAO;IAIP;;OAEG;IACH,IAAI,eAAe,IAAI,YAAY,CAQlC;IAED;;;OAGG;IACH,IAAI,eAAe,CAAC,QAAQ,EAAE,YAAY,EAEzC;IAED;;OAEG;IACH,IAAI,aAAa,sBAEhB;CACF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { AcDbLayoutManager } from '../object/layout/AcDbLayoutManager';
|
|
2
|
+
/**
|
|
3
|
+
* Return the singleton instance of the host application services
|
|
4
|
+
* @returns
|
|
5
|
+
*/
|
|
6
|
+
export function acdbHostApplicationServices() {
|
|
7
|
+
return AcDbHostApplicationServices.instance;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The AcDbHostApplicationServices class provides various services to host applications at runtime.
|
|
11
|
+
*/
|
|
12
|
+
var AcDbHostApplicationServices = /** @class */ (function () {
|
|
13
|
+
function AcDbHostApplicationServices() {
|
|
14
|
+
this._workingDatabase = null;
|
|
15
|
+
// Do nothing
|
|
16
|
+
this._layoutManager = new AcDbLayoutManager();
|
|
17
|
+
}
|
|
18
|
+
Object.defineProperty(AcDbHostApplicationServices.prototype, "workingDatabase", {
|
|
19
|
+
/**
|
|
20
|
+
* Get the current working database.
|
|
21
|
+
*/
|
|
22
|
+
get: function () {
|
|
23
|
+
if (this._workingDatabase == null) {
|
|
24
|
+
throw new Error('The current working database must be set before using it!');
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
return this._workingDatabase;
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
/**
|
|
31
|
+
* Set the working database.
|
|
32
|
+
* @param database Database to make the new working database
|
|
33
|
+
*/
|
|
34
|
+
set: function (database) {
|
|
35
|
+
this._workingDatabase = database;
|
|
36
|
+
},
|
|
37
|
+
enumerable: false,
|
|
38
|
+
configurable: true
|
|
39
|
+
});
|
|
40
|
+
Object.defineProperty(AcDbHostApplicationServices.prototype, "layoutManager", {
|
|
41
|
+
/**
|
|
42
|
+
* The one and only instance of the layout manager object.
|
|
43
|
+
*/
|
|
44
|
+
get: function () {
|
|
45
|
+
return this._layoutManager;
|
|
46
|
+
},
|
|
47
|
+
enumerable: false,
|
|
48
|
+
configurable: true
|
|
49
|
+
});
|
|
50
|
+
AcDbHostApplicationServices.instance = new AcDbHostApplicationServices();
|
|
51
|
+
return AcDbHostApplicationServices;
|
|
52
|
+
}());
|
|
53
|
+
export { AcDbHostApplicationServices };
|
|
54
|
+
//# sourceMappingURL=AcDbHostApplicationServices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbHostApplicationServices.js","sourceRoot":"","sources":["../../src/base/AcDbHostApplicationServices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAEtE;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,2BAA2B,CAAC,QAAQ,CAAA;AAC7C,CAAC;AAED;;GAEG;AACH;IAME;QALQ,qBAAgB,GAAwB,IAAI,CAAA;QAMlD,aAAa;QACb,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAiB,EAAE,CAAA;IAC/C,CAAC;IAID,sBAAI,wDAAe;QAHnB;;WAEG;aACH;YACE,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,gBAAgB,CAAA;YAC9B,CAAC;QACH,CAAC;QAED;;;WAGG;aACH,UAAoB,QAAsB;YACxC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAA;QAClC,CAAC;;;OARA;IAaD,sBAAI,sDAAa;QAHjB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,cAAc,CAAA;QAC5B,CAAC;;;OAAA;IAjCa,oCAAQ,GACpB,IAAI,2BAA2B,EAAE,AADb,CACa;IAiCrC,kCAAC;CAAA,AArCD,IAqCC;SArCY,2BAA2B"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { AcCmAttributes, AcCmObject, AcCmStringKey } from '@mlightcad/common';
|
|
2
|
+
import { AcDbDatabase } from '../database/AcDbDatabase';
|
|
3
|
+
export type AcDbObjectId = string;
|
|
4
|
+
export interface AcDbObjectAttrs extends AcCmAttributes {
|
|
5
|
+
objectId?: AcDbObjectId;
|
|
6
|
+
ownerId?: AcDbObjectId;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The base class for all objects that reside in drawing database.
|
|
10
|
+
*/
|
|
11
|
+
export declare class AcDbObject<ATTRS extends AcDbObjectAttrs = AcDbObjectAttrs> {
|
|
12
|
+
private _database?;
|
|
13
|
+
private _attrs;
|
|
14
|
+
/**
|
|
15
|
+
* Default constructor.
|
|
16
|
+
* @param attrs Input attribute values of this object
|
|
17
|
+
* @param defaultAttrs Input default values of attributes of this object.
|
|
18
|
+
*/
|
|
19
|
+
constructor(attrs?: Partial<ATTRS>, defaultAttrs?: Partial<ATTRS>);
|
|
20
|
+
/**
|
|
21
|
+
* Attributes of this object
|
|
22
|
+
*/
|
|
23
|
+
get attrs(): AcCmObject<ATTRS>;
|
|
24
|
+
/**
|
|
25
|
+
* Get value of the specified attribute. One exception will be thrown if the specified attribute doesn't exist.
|
|
26
|
+
* @param attrName Input attribute name
|
|
27
|
+
* @returns Return value of the specified attribute
|
|
28
|
+
*/
|
|
29
|
+
getAttr(attrName: AcCmStringKey<ATTRS>): ATTRS[AcCmStringKey<ATTRS>] & ({} | null);
|
|
30
|
+
/**
|
|
31
|
+
* Get value of the specified attribute. Return undefined if the specified attribute doesn't exist.
|
|
32
|
+
* @param attrName Input attribute name
|
|
33
|
+
* @returns Return value of the specified attribute. Return undefined if the specified attribute
|
|
34
|
+
* doesn't exist.
|
|
35
|
+
*/
|
|
36
|
+
getAttrWithoutException(attrName: AcCmStringKey<ATTRS>): ATTRS[AcCmStringKey<ATTRS>] | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Set value of the attribute
|
|
39
|
+
* @param attrName Input attribute name
|
|
40
|
+
* @param val Input value of the attribute
|
|
41
|
+
*/
|
|
42
|
+
setAttr<A extends AcCmStringKey<ATTRS>>(attrName: A, val?: ATTRS[A]): void;
|
|
43
|
+
/**
|
|
44
|
+
* Object id.
|
|
45
|
+
*
|
|
46
|
+
* AutoCAD uses 64-bit integer to represent handle. It exceeds the maximum integer value
|
|
47
|
+
* (Number.MAX_SAFE_INTEGER, 0x1F FFFF FFFF FFF) of JavaScript number. So string is used to represent
|
|
48
|
+
* the handle of one object.
|
|
49
|
+
*/
|
|
50
|
+
get objectId(): AcDbObjectId;
|
|
51
|
+
set objectId(value: AcDbObjectId);
|
|
52
|
+
/**
|
|
53
|
+
* The object Id of the owner of the object.
|
|
54
|
+
*/
|
|
55
|
+
get ownerId(): AcDbObjectId;
|
|
56
|
+
set ownerId(value: AcDbObjectId);
|
|
57
|
+
/**
|
|
58
|
+
* The database in which the object is resident. When one object isn't added into database, the database
|
|
59
|
+
* property of this object will be current working database. After it is added into database, it will be
|
|
60
|
+
* set automatically. So it means you should never set its value by your own.
|
|
61
|
+
*/
|
|
62
|
+
get database(): AcDbDatabase;
|
|
63
|
+
set database(db: AcDbDatabase);
|
|
64
|
+
/**
|
|
65
|
+
* Closes the object. All changes made to the object since it was opened are committed to the database,
|
|
66
|
+
* and a "closed" notification is sent.
|
|
67
|
+
*/
|
|
68
|
+
close(): void;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=AcDbObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbObject.d.ts","sourceRoot":"","sources":["../../src/base/AcDbObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAI7E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED;;GAEG;AACH,qBAAa,UAAU,CAAC,KAAK,SAAS,eAAe,GAAG,eAAe;IACrE,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,MAAM,CAAmB;IAEjC;;;;OAIG;gBACS,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;IAMjE;;OAEG;IACH,IAAI,KAAK,sBAER;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;IAUtC;;;;;OAKG;IACH,uBAAuB,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;IAItD;;;;OAIG;IACH,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAInE;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,YAAY,CAE3B;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,EAE/B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,YAAY,CAE1B;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,YAAY,EAE9B;IAED;;;;OAIG;IACH,IAAI,QAAQ,IAAI,YAAY,CAI3B;IACD,IAAI,QAAQ,CAAC,EAAE,EAAE,YAAY,EAE5B;IAED;;;OAGG;IACH,KAAK;CACN"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { AcCmObject } from '@mlightcad/common';
|
|
2
|
+
import { defaults } from 'lodash-es';
|
|
3
|
+
import { uid } from 'uid';
|
|
4
|
+
import { acdbHostApplicationServices } from './AcDbHostApplicationServices';
|
|
5
|
+
/**
|
|
6
|
+
* The base class for all objects that reside in drawing database.
|
|
7
|
+
*/
|
|
8
|
+
var AcDbObject = /** @class */ (function () {
|
|
9
|
+
/**
|
|
10
|
+
* Default constructor.
|
|
11
|
+
* @param attrs Input attribute values of this object
|
|
12
|
+
* @param defaultAttrs Input default values of attributes of this object.
|
|
13
|
+
*/
|
|
14
|
+
function AcDbObject(attrs, defaultAttrs) {
|
|
15
|
+
attrs = attrs || {};
|
|
16
|
+
defaults(attrs, { objectId: uid() });
|
|
17
|
+
this._attrs = new AcCmObject(attrs, defaultAttrs);
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(AcDbObject.prototype, "attrs", {
|
|
20
|
+
/**
|
|
21
|
+
* Attributes of this object
|
|
22
|
+
*/
|
|
23
|
+
get: function () {
|
|
24
|
+
return this._attrs;
|
|
25
|
+
},
|
|
26
|
+
enumerable: false,
|
|
27
|
+
configurable: true
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* Get value of the specified attribute. One exception will be thrown if the specified attribute doesn't exist.
|
|
31
|
+
* @param attrName Input attribute name
|
|
32
|
+
* @returns Return value of the specified attribute
|
|
33
|
+
*/
|
|
34
|
+
AcDbObject.prototype.getAttr = function (attrName) {
|
|
35
|
+
var value = this._attrs.get(attrName);
|
|
36
|
+
if (value === undefined) {
|
|
37
|
+
throw new Error("[AcDbObject] Attribute name '".concat(attrName, "' does't exist in this object!"));
|
|
38
|
+
}
|
|
39
|
+
return value;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Get value of the specified attribute. Return undefined if the specified attribute doesn't exist.
|
|
43
|
+
* @param attrName Input attribute name
|
|
44
|
+
* @returns Return value of the specified attribute. Return undefined if the specified attribute
|
|
45
|
+
* doesn't exist.
|
|
46
|
+
*/
|
|
47
|
+
AcDbObject.prototype.getAttrWithoutException = function (attrName) {
|
|
48
|
+
return this._attrs.get(attrName);
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Set value of the attribute
|
|
52
|
+
* @param attrName Input attribute name
|
|
53
|
+
* @param val Input value of the attribute
|
|
54
|
+
*/
|
|
55
|
+
AcDbObject.prototype.setAttr = function (attrName, val) {
|
|
56
|
+
this._attrs.set(attrName, val);
|
|
57
|
+
};
|
|
58
|
+
Object.defineProperty(AcDbObject.prototype, "objectId", {
|
|
59
|
+
/**
|
|
60
|
+
* Object id.
|
|
61
|
+
*
|
|
62
|
+
* AutoCAD uses 64-bit integer to represent handle. It exceeds the maximum integer value
|
|
63
|
+
* (Number.MAX_SAFE_INTEGER, 0x1F FFFF FFFF FFF) of JavaScript number. So string is used to represent
|
|
64
|
+
* the handle of one object.
|
|
65
|
+
*/
|
|
66
|
+
get: function () {
|
|
67
|
+
return this.getAttr('objectId');
|
|
68
|
+
},
|
|
69
|
+
set: function (value) {
|
|
70
|
+
this._attrs.set('objectId', value);
|
|
71
|
+
},
|
|
72
|
+
enumerable: false,
|
|
73
|
+
configurable: true
|
|
74
|
+
});
|
|
75
|
+
Object.defineProperty(AcDbObject.prototype, "ownerId", {
|
|
76
|
+
/**
|
|
77
|
+
* The object Id of the owner of the object.
|
|
78
|
+
*/
|
|
79
|
+
get: function () {
|
|
80
|
+
return this.getAttr('ownerId');
|
|
81
|
+
},
|
|
82
|
+
set: function (value) {
|
|
83
|
+
this._attrs.set('ownerId', value);
|
|
84
|
+
},
|
|
85
|
+
enumerable: false,
|
|
86
|
+
configurable: true
|
|
87
|
+
});
|
|
88
|
+
Object.defineProperty(AcDbObject.prototype, "database", {
|
|
89
|
+
/**
|
|
90
|
+
* The database in which the object is resident. When one object isn't added into database, the database
|
|
91
|
+
* property of this object will be current working database. After it is added into database, it will be
|
|
92
|
+
* set automatically. So it means you should never set its value by your own.
|
|
93
|
+
*/
|
|
94
|
+
get: function () {
|
|
95
|
+
return this._database
|
|
96
|
+
? this._database
|
|
97
|
+
: acdbHostApplicationServices().workingDatabase;
|
|
98
|
+
},
|
|
99
|
+
set: function (db) {
|
|
100
|
+
this._database = db;
|
|
101
|
+
},
|
|
102
|
+
enumerable: false,
|
|
103
|
+
configurable: true
|
|
104
|
+
});
|
|
105
|
+
/**
|
|
106
|
+
* Closes the object. All changes made to the object since it was opened are committed to the database,
|
|
107
|
+
* and a "closed" notification is sent.
|
|
108
|
+
*/
|
|
109
|
+
AcDbObject.prototype.close = function () { };
|
|
110
|
+
return AcDbObject;
|
|
111
|
+
}());
|
|
112
|
+
export { AcDbObject };
|
|
113
|
+
//# sourceMappingURL=AcDbObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbObject.js","sourceRoot":"","sources":["../../src/base/AcDbObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAiB,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAGzB,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAS3E;;GAEG;AACH;IAIE;;;;OAIG;IACH,oBAAY,KAAsB,EAAE,YAA6B;QAC/D,KAAK,GAAG,KAAK,IAAI,EAAE,CAAA;QACnB,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAQ,KAAK,EAAE,YAAY,CAAC,CAAA;IAC1D,CAAC;IAKD,sBAAI,6BAAK;QAHT;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,CAAC;;;OAAA;IAED;;;;OAIG;IACH,4BAAO,GAAP,UAAQ,QAA8B;QACpC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,uCAAgC,QAAQ,mCAAgC,CACzE,CAAA;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;OAKG;IACH,4CAAuB,GAAvB,UAAwB,QAA8B;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED;;;;OAIG;IACH,4BAAO,GAAP,UAAwC,QAAW,EAAE,GAAc;QACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAChC,CAAC;IASD,sBAAI,gCAAQ;QAPZ;;;;;;WAMG;aACH;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACjC,CAAC;aACD,UAAa,KAAmB;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;;;OAHA;IAQD,sBAAI,+BAAO;QAHX;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;aACD,UAAY,KAAmB;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACnC,CAAC;;;OAHA;IAUD,sBAAI,gCAAQ;QALZ;;;;WAIG;aACH;YACE,OAAO,IAAI,CAAC,SAAS;gBACnB,CAAC,CAAC,IAAI,CAAC,SAAS;gBAChB,CAAC,CAAC,2BAA2B,EAAE,CAAC,eAAe,CAAA;QACnD,CAAC;aACD,UAAa,EAAgB;YAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACrB,CAAC;;;OAHA;IAKD;;;OAGG;IACH,0BAAK,GAAL,cAAS,CAAC;IACZ,iBAAC;AAAD,CAAC,AAnGD,IAmGC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
type AcDbChunkProcessingCallback = (start: number, end: number) => Promise<void>;
|
|
2
|
+
/**
|
|
3
|
+
* This class is used to break up the work into smaller chunks that are executed asynchronously.
|
|
4
|
+
* This is often referred to "batch processing" or "cooperative multitasking," where the
|
|
5
|
+
* time-consuming task is broken into smaller pieces and executed in small intervals to allow
|
|
6
|
+
* the UI to remain responsive.
|
|
7
|
+
*/
|
|
8
|
+
export declare class AcDbBatchProcessing {
|
|
9
|
+
private _count;
|
|
10
|
+
private _numerOfChunk;
|
|
11
|
+
private _chunkSize;
|
|
12
|
+
private _minimumChunkSize;
|
|
13
|
+
/**
|
|
14
|
+
* Construct one instance of this class
|
|
15
|
+
* @param count Input the total number of items to process
|
|
16
|
+
* @param numerOfChunk Input the number of chunks to process
|
|
17
|
+
* @param minimumChunkSize Input the minimum number of items in one chunk. If it is greater
|
|
18
|
+
* than the total number of items to process, the total number is used.
|
|
19
|
+
*/
|
|
20
|
+
constructor(count: number, numerOfChunk: number, minimumChunkSize: number);
|
|
21
|
+
/**
|
|
22
|
+
* The total number of items to process
|
|
23
|
+
*/
|
|
24
|
+
get count(): number;
|
|
25
|
+
/**
|
|
26
|
+
* The number of chunks to process
|
|
27
|
+
*/
|
|
28
|
+
get numerOfChunk(): number;
|
|
29
|
+
/**
|
|
30
|
+
* The minimum number of items in one chunk.
|
|
31
|
+
*/
|
|
32
|
+
get minimumChunkSize(): number;
|
|
33
|
+
set minimumChunkSize(value: number);
|
|
34
|
+
/**
|
|
35
|
+
* The number of items in one chunk
|
|
36
|
+
*/
|
|
37
|
+
get chunkSize(): number;
|
|
38
|
+
private calculateChunkSize;
|
|
39
|
+
private scheduleTask;
|
|
40
|
+
processChunk(callback: AcDbChunkProcessingCallback): Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=AcDbBatchProcessing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbBatchProcessing.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbBatchProcessing.ts"],"names":[],"mappings":"AACA,KAAK,2BAA2B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEhF;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,iBAAiB,CAAa;IAEtC;;;;;;OAMG;gBACS,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;IAOzE;;OAEG;IACH,IAAI,KAAK,WAER;IAED;;OAEG;IACH,IAAI,YAAY,WAEf;IAED;;OAEG;IACH,IAAI,gBAAgB,IAGQ,MAAM,CADjC;IACD,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAGjC;IAED;;OAEG;IACH,IAAI,SAAS,WAEZ;IAED,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,YAAY;IAcP,YAAY,CAAC,QAAQ,EAAE,2BAA2B;CAqBhE"}
|
|
@@ -0,0 +1,165 @@
|
|
|
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;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "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
|
+
/**
|
|
38
|
+
* This class is used to break up the work into smaller chunks that are executed asynchronously.
|
|
39
|
+
* This is often referred to "batch processing" or "cooperative multitasking," where the
|
|
40
|
+
* time-consuming task is broken into smaller pieces and executed in small intervals to allow
|
|
41
|
+
* the UI to remain responsive.
|
|
42
|
+
*/
|
|
43
|
+
var AcDbBatchProcessing = /** @class */ (function () {
|
|
44
|
+
/**
|
|
45
|
+
* Construct one instance of this class
|
|
46
|
+
* @param count Input the total number of items to process
|
|
47
|
+
* @param numerOfChunk Input the number of chunks to process
|
|
48
|
+
* @param minimumChunkSize Input the minimum number of items in one chunk. If it is greater
|
|
49
|
+
* than the total number of items to process, the total number is used.
|
|
50
|
+
*/
|
|
51
|
+
function AcDbBatchProcessing(count, numerOfChunk, minimumChunkSize) {
|
|
52
|
+
this._chunkSize = -1;
|
|
53
|
+
this._minimumChunkSize = 50;
|
|
54
|
+
this._count = count;
|
|
55
|
+
this._numerOfChunk = numerOfChunk < 1 ? 1 : numerOfChunk;
|
|
56
|
+
this._minimumChunkSize = minimumChunkSize;
|
|
57
|
+
this.calculateChunkSize();
|
|
58
|
+
}
|
|
59
|
+
Object.defineProperty(AcDbBatchProcessing.prototype, "count", {
|
|
60
|
+
/**
|
|
61
|
+
* The total number of items to process
|
|
62
|
+
*/
|
|
63
|
+
get: function () {
|
|
64
|
+
return this._count;
|
|
65
|
+
},
|
|
66
|
+
enumerable: false,
|
|
67
|
+
configurable: true
|
|
68
|
+
});
|
|
69
|
+
Object.defineProperty(AcDbBatchProcessing.prototype, "numerOfChunk", {
|
|
70
|
+
/**
|
|
71
|
+
* The number of chunks to process
|
|
72
|
+
*/
|
|
73
|
+
get: function () {
|
|
74
|
+
return this._numerOfChunk;
|
|
75
|
+
},
|
|
76
|
+
enumerable: false,
|
|
77
|
+
configurable: true
|
|
78
|
+
});
|
|
79
|
+
Object.defineProperty(AcDbBatchProcessing.prototype, "minimumChunkSize", {
|
|
80
|
+
/**
|
|
81
|
+
* The minimum number of items in one chunk.
|
|
82
|
+
*/
|
|
83
|
+
get: function () {
|
|
84
|
+
return this._minimumChunkSize;
|
|
85
|
+
},
|
|
86
|
+
set: function (value) {
|
|
87
|
+
this._minimumChunkSize = value;
|
|
88
|
+
this.calculateChunkSize();
|
|
89
|
+
},
|
|
90
|
+
enumerable: false,
|
|
91
|
+
configurable: true
|
|
92
|
+
});
|
|
93
|
+
Object.defineProperty(AcDbBatchProcessing.prototype, "chunkSize", {
|
|
94
|
+
/**
|
|
95
|
+
* The number of items in one chunk
|
|
96
|
+
*/
|
|
97
|
+
get: function () {
|
|
98
|
+
return this._chunkSize;
|
|
99
|
+
},
|
|
100
|
+
enumerable: false,
|
|
101
|
+
configurable: true
|
|
102
|
+
});
|
|
103
|
+
AcDbBatchProcessing.prototype.calculateChunkSize = function () {
|
|
104
|
+
var demicalChunkSize = this._count / this._numerOfChunk;
|
|
105
|
+
if (demicalChunkSize < this._minimumChunkSize) {
|
|
106
|
+
demicalChunkSize = Math.min(this._minimumChunkSize, this._count);
|
|
107
|
+
}
|
|
108
|
+
this._chunkSize =
|
|
109
|
+
demicalChunkSize < 1 ? this._count : Math.floor(demicalChunkSize);
|
|
110
|
+
};
|
|
111
|
+
AcDbBatchProcessing.prototype.scheduleTask = function (callback) {
|
|
112
|
+
if (typeof window !== 'undefined' &&
|
|
113
|
+
typeof window.requestAnimationFrame === 'function') {
|
|
114
|
+
// Browser environment with requestAnimationFrame
|
|
115
|
+
window.requestAnimationFrame(callback);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
// Node.js or fallback to setTimeout
|
|
119
|
+
setTimeout(callback, 0);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
// Use the ChunkProcessingCallback type for the callback parameter
|
|
123
|
+
AcDbBatchProcessing.prototype.processChunk = function (callback) {
|
|
124
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
125
|
+
var currentIndex, processNextChunk;
|
|
126
|
+
var _this = this;
|
|
127
|
+
return __generator(this, function (_a) {
|
|
128
|
+
switch (_a.label) {
|
|
129
|
+
case 0:
|
|
130
|
+
currentIndex = 0;
|
|
131
|
+
processNextChunk = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
132
|
+
var start, end;
|
|
133
|
+
return __generator(this, function (_a) {
|
|
134
|
+
switch (_a.label) {
|
|
135
|
+
case 0:
|
|
136
|
+
start = currentIndex;
|
|
137
|
+
end = Math.min(currentIndex + this._chunkSize, this._count);
|
|
138
|
+
// Call the provided callback with the chunk's range
|
|
139
|
+
return [4 /*yield*/, callback(start, end)];
|
|
140
|
+
case 1:
|
|
141
|
+
// Call the provided callback with the chunk's range
|
|
142
|
+
_a.sent();
|
|
143
|
+
currentIndex = end;
|
|
144
|
+
// If there are more items to process, schedule the next chunk
|
|
145
|
+
if (currentIndex < this._count) {
|
|
146
|
+
this.scheduleTask(processNextChunk); // Schedule the next chunk to be processed asynchronously
|
|
147
|
+
}
|
|
148
|
+
return [2 /*return*/];
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
}); };
|
|
152
|
+
// Start processing the first chunk
|
|
153
|
+
return [4 /*yield*/, processNextChunk()];
|
|
154
|
+
case 1:
|
|
155
|
+
// Start processing the first chunk
|
|
156
|
+
_a.sent();
|
|
157
|
+
return [2 /*return*/];
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
return AcDbBatchProcessing;
|
|
163
|
+
}());
|
|
164
|
+
export { AcDbBatchProcessing };
|
|
165
|
+
//# sourceMappingURL=AcDbBatchProcessing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbBatchProcessing.js","sourceRoot":"","sources":["../../src/converter/AcDbBatchProcessing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ParsedDxf } from '@mlightcad/dxf-json';
|
|
2
|
+
import { AcDbDatabase } from '../database';
|
|
3
|
+
import { AcDbConversionProgressCallback, AcDbDatabaseConverter } from '../database/AcDbDatabaseConverter';
|
|
4
|
+
/**
|
|
5
|
+
* Default database converter for DXF files.
|
|
6
|
+
*/
|
|
7
|
+
export declare class AcDbDxfConverter extends AcDbDatabaseConverter<ParsedDxf> {
|
|
8
|
+
protected parse(data: string): ParsedDxf;
|
|
9
|
+
/**
|
|
10
|
+
* Get all of fonts used by entities in model space and paper space
|
|
11
|
+
* @param dxf Input parsed dxf model
|
|
12
|
+
* @returns Return all of fonts used by entities in model space and paper space
|
|
13
|
+
*/
|
|
14
|
+
protected getFonts(dxf: ParsedDxf): string[];
|
|
15
|
+
/**
|
|
16
|
+
* Iterate entities in model space to get fonts used by text, mtext and insert entities
|
|
17
|
+
*/
|
|
18
|
+
private getFontsInBlock;
|
|
19
|
+
/**
|
|
20
|
+
* Breaks up the work into smaller chunks that are executed asynchronously. This is often referred to
|
|
21
|
+
* as "batch processing" or "cooperative multitasking," where the time-consuming task is broken into
|
|
22
|
+
* smaller pieces and executed in small intervals to allow the UI to remain responsive.
|
|
23
|
+
*/
|
|
24
|
+
protected processEntities(dxf: ParsedDxf, db: AcDbDatabase, minimumChunkSize: number, startPercentage: {
|
|
25
|
+
value: number;
|
|
26
|
+
}, progress?: AcDbConversionProgressCallback): Promise<void>;
|
|
27
|
+
private processEntitiesInBlock;
|
|
28
|
+
protected processBlocks(model: ParsedDxf, db: AcDbDatabase): void;
|
|
29
|
+
protected processHeader(model: ParsedDxf, db: AcDbDatabase): void;
|
|
30
|
+
protected processBlockTables(dxf: ParsedDxf, db: AcDbDatabase): void;
|
|
31
|
+
protected processObjects(model: ParsedDxf, db: AcDbDatabase): void;
|
|
32
|
+
protected processViewports(model: ParsedDxf, db: AcDbDatabase): void;
|
|
33
|
+
protected processLayers(model: ParsedDxf, db: AcDbDatabase): void;
|
|
34
|
+
protected processLineTypes(model: ParsedDxf, db: AcDbDatabase): void;
|
|
35
|
+
protected processTextStyles(model: ParsedDxf, db: AcDbDatabase): void;
|
|
36
|
+
protected processDimStyles(model: ParsedDxf, db: AcDbDatabase): void;
|
|
37
|
+
private processCommonTableEntryAttrs;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=AcDbDxfConverter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbDxfConverter.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbDxfConverter.ts"],"names":[],"mappings":"AACA,OAAkB,EAGhB,SAAS,EAEV,MAAM,qBAAqB,CAAA;AAY5B,OAAO,EAGL,YAAY,EAab,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACtB,MAAM,mCAAmC,CAAA;AAK1C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,qBAAqB,CAAC,SAAS,CAAC;IACpE,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAKxC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS;IA2BjC;;OAEG;IACH,OAAO,CAAC,eAAe;IA6BvB;;;;OAIG;cACa,eAAe,CAC7B,GAAG,EAAE,SAAS,EACd,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAClC,QAAQ,CAAC,EAAE,8BAA8B;YA2C7B,sBAAsB;IAsBpC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAsB1D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAc1D,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAa7D,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAuB3D,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IA6G7D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAqB1D,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAY7D,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAW9D,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY;IAmF7D,OAAO,CAAC,4BAA4B;CAQrC"}
|