@mlightcad/data-model 1.1.2 → 1.1.4
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/dist/data-model.js +5501 -1021
- package/dist/data-model.umd.cjs +2 -2
- package/lib/base/AcDbHostApplicationServices.d.ts +72 -6
- package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -1
- package/lib/base/AcDbHostApplicationServices.js +71 -7
- package/lib/base/AcDbHostApplicationServices.js.map +1 -1
- package/lib/base/AcDbObject.d.ts +160 -25
- package/lib/base/AcDbObject.d.ts.map +1 -1
- package/lib/base/AcDbObject.js +149 -25
- package/lib/base/AcDbObject.js.map +1 -1
- package/lib/converter/AcDbBatchProcessing.d.ts +112 -10
- package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -1
- package/lib/converter/AcDbBatchProcessing.js +110 -11
- package/lib/converter/AcDbBatchProcessing.js.map +1 -1
- package/lib/converter/AcDbDxfConverter.d.ts +224 -6
- package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
- package/lib/converter/AcDbDxfConverter.js +224 -6
- package/lib/converter/AcDbDxfConverter.js.map +1 -1
- package/lib/converter/AcDbDxfParseWorker.d.ts +16 -0
- package/lib/converter/AcDbDxfParseWorker.d.ts.map +1 -1
- package/lib/converter/AcDbDxfParseWorker.js +16 -0
- package/lib/converter/AcDbDxfParseWorker.js.map +1 -1
- package/lib/converter/AcDbEntitiyConverter.d.ts +118 -3
- package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
- package/lib/converter/AcDbEntitiyConverter.js +118 -3
- package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
- package/lib/converter/AcDbObjectConverter.d.ts +52 -0
- package/lib/converter/AcDbObjectConverter.d.ts.map +1 -1
- package/lib/converter/AcDbObjectConverter.js +52 -0
- package/lib/converter/AcDbObjectConverter.js.map +1 -1
- package/lib/database/AcDbBlockTable.d.ts +35 -3
- package/lib/database/AcDbBlockTable.d.ts.map +1 -1
- package/lib/database/AcDbBlockTable.js +35 -3
- package/lib/database/AcDbBlockTable.js.map +1 -1
- package/lib/database/AcDbBlockTableRecord.d.ts +98 -15
- package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbBlockTableRecord.js +96 -15
- package/lib/database/AcDbBlockTableRecord.js.map +1 -1
- package/lib/database/AcDbDatabase.d.ts +312 -36
- package/lib/database/AcDbDatabase.d.ts.map +1 -1
- package/lib/database/AcDbDatabase.js +237 -46
- package/lib/database/AcDbDatabase.js.map +1 -1
- package/lib/database/AcDbDatabaseConverter.d.ts +79 -14
- package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverter.js +46 -13
- package/lib/database/AcDbDatabaseConverter.js.map +1 -1
- package/lib/database/AcDbDatabaseConverterManager.d.ts +97 -15
- package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverterManager.js +90 -15
- package/lib/database/AcDbDatabaseConverterManager.js.map +1 -1
- package/lib/database/AcDbDimStyleTable.d.ts +22 -2
- package/lib/database/AcDbDimStyleTable.d.ts.map +1 -1
- package/lib/database/AcDbDimStyleTable.js +22 -2
- package/lib/database/AcDbDimStyleTable.js.map +1 -1
- package/lib/database/AcDbDimStyleTableRecord.d.ts +115 -0
- package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbDimStyleTableRecord.js +44 -0
- package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
- package/lib/database/AcDbLayerTable.d.ts +39 -2
- package/lib/database/AcDbLayerTable.d.ts.map +1 -1
- package/lib/database/AcDbLayerTable.js +39 -2
- package/lib/database/AcDbLayerTable.js.map +1 -1
- package/lib/database/AcDbLayerTableRecord.d.ts +198 -18
- package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbLayerTableRecord.js +182 -19
- package/lib/database/AcDbLayerTableRecord.js.map +1 -1
- package/lib/database/AcDbLinetypeTable.d.ts +21 -2
- package/lib/database/AcDbLinetypeTable.d.ts.map +1 -1
- package/lib/database/AcDbLinetypeTable.js +21 -2
- package/lib/database/AcDbLinetypeTable.js.map +1 -1
- package/lib/database/AcDbLinetypeTableRecord.d.ts +46 -14
- package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbLinetypeTableRecord.js +46 -14
- package/lib/database/AcDbLinetypeTableRecord.js.map +1 -1
- package/lib/database/AcDbSymbolTable.d.ts +134 -29
- package/lib/database/AcDbSymbolTable.d.ts.map +1 -1
- package/lib/database/AcDbSymbolTable.js +133 -37
- package/lib/database/AcDbSymbolTable.js.map +1 -1
- package/lib/database/AcDbSymbolTableRecord.d.ts +47 -2
- package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbSymbolTableRecord.js +40 -2
- package/lib/database/AcDbSymbolTableRecord.js.map +1 -1
- package/lib/database/AcDbTextStyleTable.d.ts +36 -2
- package/lib/database/AcDbTextStyleTable.d.ts.map +1 -1
- package/lib/database/AcDbTextStyleTable.js +36 -2
- package/lib/database/AcDbTextStyleTable.js.map +1 -1
- package/lib/database/AcDbTextStyleTableRecord.d.ts +129 -17
- package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbTextStyleTableRecord.js +127 -17
- package/lib/database/AcDbTextStyleTableRecord.js.map +1 -1
- package/lib/database/AcDbViewportTable.d.ts +22 -2
- package/lib/database/AcDbViewportTable.d.ts.map +1 -1
- package/lib/database/AcDbViewportTable.js +22 -2
- package/lib/database/AcDbViewportTable.js.map +1 -1
- package/lib/database/AcDbViewportTableRecord.d.ts +74 -9
- package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbViewportTableRecord.js +65 -9
- package/lib/database/AcDbViewportTableRecord.js.map +1 -1
- package/lib/entity/AcDbArc.d.ts +202 -17
- package/lib/entity/AcDbArc.d.ts.map +1 -1
- package/lib/entity/AcDbArc.js +201 -17
- package/lib/entity/AcDbArc.js.map +1 -1
- package/lib/entity/AcDbBlockReference.d.ts +147 -13
- package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
- package/lib/entity/AcDbBlockReference.js +142 -13
- package/lib/entity/AcDbBlockReference.js.map +1 -1
- package/lib/entity/AcDbCircle.d.ts +145 -12
- package/lib/entity/AcDbCircle.d.ts.map +1 -1
- package/lib/entity/AcDbCircle.js +144 -12
- package/lib/entity/AcDbCircle.js.map +1 -1
- package/lib/entity/AcDbCurve.d.ts +33 -2
- package/lib/entity/AcDbCurve.d.ts.map +1 -1
- package/lib/entity/AcDbCurve.js +17 -0
- package/lib/entity/AcDbCurve.js.map +1 -1
- package/lib/entity/AcDbEllipse.d.ts +168 -16
- package/lib/entity/AcDbEllipse.d.ts.map +1 -1
- package/lib/entity/AcDbEllipse.js +167 -16
- package/lib/entity/AcDbEllipse.js.map +1 -1
- package/lib/entity/AcDbEntity.d.ts +299 -35
- package/lib/entity/AcDbEntity.d.ts.map +1 -1
- package/lib/entity/AcDbEntity.js +275 -27
- package/lib/entity/AcDbEntity.js.map +1 -1
- package/lib/entity/AcDbHatch.d.ts +60 -4
- package/lib/entity/AcDbHatch.d.ts.map +1 -1
- package/lib/entity/AcDbHatch.js +52 -4
- package/lib/entity/AcDbHatch.js.map +1 -1
- package/lib/entity/AcDbLeader.d.ts +157 -10
- package/lib/entity/AcDbLeader.d.ts.map +1 -1
- package/lib/entity/AcDbLeader.js +149 -10
- package/lib/entity/AcDbLeader.js.map +1 -1
- package/lib/entity/AcDbLine.d.ts +154 -13
- package/lib/entity/AcDbLine.d.ts.map +1 -1
- package/lib/entity/AcDbLine.js +153 -13
- package/lib/entity/AcDbLine.js.map +1 -1
- package/lib/entity/AcDbMText.d.ts +127 -11
- package/lib/entity/AcDbMText.d.ts.map +1 -1
- package/lib/entity/AcDbMText.js +112 -11
- package/lib/entity/AcDbMText.js.map +1 -1
- package/lib/entity/AcDbPoint.d.ts +86 -7
- package/lib/entity/AcDbPoint.d.ts.map +1 -1
- package/lib/entity/AcDbPoint.js +85 -7
- package/lib/entity/AcDbPoint.js.map +1 -1
- package/lib/entity/AcDbPolyline.d.ts +172 -25
- package/lib/entity/AcDbPolyline.d.ts.map +1 -1
- package/lib/entity/AcDbPolyline.js +170 -25
- package/lib/entity/AcDbPolyline.js.map +1 -1
- package/lib/entity/AcDbRasterImage.d.ts +75 -31
- package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
- package/lib/entity/AcDbRasterImage.js +60 -31
- package/lib/entity/AcDbRasterImage.js.map +1 -1
- package/lib/entity/AcDbRay.d.ts +115 -9
- package/lib/entity/AcDbRay.d.ts.map +1 -1
- package/lib/entity/AcDbRay.js +113 -9
- package/lib/entity/AcDbRay.js.map +1 -1
- package/lib/entity/AcDbSpline.d.ts +106 -14
- package/lib/entity/AcDbSpline.d.ts.map +1 -1
- package/lib/entity/AcDbSpline.js +67 -4
- package/lib/entity/AcDbSpline.js.map +1 -1
- package/lib/entity/AcDbTable.d.ts +161 -44
- package/lib/entity/AcDbTable.d.ts.map +1 -1
- package/lib/entity/AcDbTable.js +135 -44
- package/lib/entity/AcDbTable.js.map +1 -1
- package/lib/entity/AcDbText.d.ts +298 -25
- package/lib/entity/AcDbText.d.ts.map +1 -1
- package/lib/entity/AcDbText.js +288 -25
- package/lib/entity/AcDbText.js.map +1 -1
- package/lib/entity/AcDbTrace.d.ts +150 -23
- package/lib/entity/AcDbTrace.d.ts.map +1 -1
- package/lib/entity/AcDbTrace.js +147 -23
- package/lib/entity/AcDbTrace.js.map +1 -1
- package/lib/entity/AcDbViewport.d.ts +122 -9
- package/lib/entity/AcDbViewport.d.ts.map +1 -1
- package/lib/entity/AcDbViewport.js +122 -9
- package/lib/entity/AcDbViewport.js.map +1 -1
- package/lib/entity/AcDbWipeout.d.ts +29 -1
- package/lib/entity/AcDbWipeout.d.ts.map +1 -1
- package/lib/entity/AcDbWipeout.js +29 -1
- package/lib/entity/AcDbWipeout.js.map +1 -1
- package/lib/entity/AcDbXline.d.ts +116 -9
- package/lib/entity/AcDbXline.d.ts.map +1 -1
- package/lib/entity/AcDbXline.js +114 -9
- package/lib/entity/AcDbXline.js.map +1 -1
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +56 -12
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDb3PointAngularDimension.js +56 -12
- package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts +158 -17
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbAlignedDimension.js +153 -17
- package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbArcDimension.d.ts +58 -12
- package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbArcDimension.js +58 -12
- package/lib/entity/dimension/AcDbArcDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts +99 -25
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbDiametricDimension.js +99 -25
- package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbDimension.d.ts +108 -14
- package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbDimension.js +99 -14
- package/lib/entity/dimension/AcDbDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +48 -16
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbOrdinateDimension.js +48 -16
- package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbRadialDimension.d.ts +167 -24
- package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbRadialDimension.js +162 -24
- package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
- package/lib/misc/AcDbAngleUnits.d.ts +12 -0
- package/lib/misc/AcDbAngleUnits.d.ts.map +1 -1
- package/lib/misc/AcDbAngleUnits.js +12 -0
- package/lib/misc/AcDbAngleUnits.js.map +1 -1
- package/lib/misc/AcDbConstants.d.ts +20 -0
- package/lib/misc/AcDbConstants.d.ts.map +1 -1
- package/lib/misc/AcDbConstants.js +20 -0
- package/lib/misc/AcDbConstants.js.map +1 -1
- package/lib/misc/AcDbDimArrowType.d.ts +24 -21
- package/lib/misc/AcDbDimArrowType.d.ts.map +1 -1
- package/lib/misc/AcDbDimArrowType.js +24 -21
- package/lib/misc/AcDbDimArrowType.js.map +1 -1
- package/lib/misc/AcDbObjectIterator.d.ts +42 -3
- package/lib/misc/AcDbObjectIterator.d.ts.map +1 -1
- package/lib/misc/AcDbObjectIterator.js +42 -3
- package/lib/misc/AcDbObjectIterator.js.map +1 -1
- package/lib/misc/AcDbOsnapMode.d.ts +18 -10
- package/lib/misc/AcDbOsnapMode.d.ts.map +1 -1
- package/lib/misc/AcDbOsnapMode.js +18 -10
- package/lib/misc/AcDbOsnapMode.js.map +1 -1
- package/lib/misc/AcDbRenderingCache.d.ts +107 -29
- package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
- package/lib/misc/AcDbRenderingCache.js +105 -29
- package/lib/misc/AcDbRenderingCache.js.map +1 -1
- package/lib/misc/AcDbUnitsValue.d.ts +58 -8
- package/lib/misc/AcDbUnitsValue.d.ts.map +1 -1
- package/lib/misc/AcDbUnitsValue.js +58 -8
- package/lib/misc/AcDbUnitsValue.js.map +1 -1
- package/lib/object/AcDbDictionary.d.ts +128 -30
- package/lib/object/AcDbDictionary.d.ts.map +1 -1
- package/lib/object/AcDbDictionary.js +126 -30
- package/lib/object/AcDbDictionary.js.map +1 -1
- package/lib/object/AcDbRasterImageDef.d.ts +38 -9
- package/lib/object/AcDbRasterImageDef.d.ts.map +1 -1
- package/lib/object/AcDbRasterImageDef.js +37 -9
- package/lib/object/AcDbRasterImageDef.js.map +1 -1
- package/lib/object/layout/AcDbLayout.d.ts +152 -13
- package/lib/object/layout/AcDbLayout.d.ts.map +1 -1
- package/lib/object/layout/AcDbLayout.js +146 -13
- package/lib/object/layout/AcDbLayout.js.map +1 -1
- package/lib/object/layout/AcDbLayoutDictionary.d.ts +35 -7
- package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -1
- package/lib/object/layout/AcDbLayoutDictionary.js +35 -7
- package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -1
- package/lib/object/layout/AcDbLayoutManager.d.ts +103 -31
- package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -1
- package/lib/object/layout/AcDbLayoutManager.js +98 -31
- package/lib/object/layout/AcDbLayoutManager.js.map +1 -1
- package/package.json +4 -4
|
@@ -53,9 +53,14 @@ import { AcCmPerformanceCollector, AcCmTask, AcCmTaskScheduler } from '@mlightca
|
|
|
53
53
|
import { AcDbRenderingCache } from '../misc';
|
|
54
54
|
var PERFORMANCE_ENTRY_NAME = 'Load Database';
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
56
|
+
* Task class for database conversion operations.
|
|
57
|
+
*
|
|
58
|
+
* This class extends AcCmTask to provide specialized functionality
|
|
59
|
+
* for database conversion tasks, including progress tracking and
|
|
60
|
+
* stage management.
|
|
61
|
+
*
|
|
62
|
+
* @template TIn - The input type for the task
|
|
63
|
+
* @template TOut - The output type for the task
|
|
59
64
|
*/
|
|
60
65
|
var AcDbConversionTask = /** @class */ (function (_super) {
|
|
61
66
|
__extends(AcDbConversionTask, _super);
|
|
@@ -107,21 +112,49 @@ var AcDbConversionTask = /** @class */ (function (_super) {
|
|
|
107
112
|
return AcDbConversionTask;
|
|
108
113
|
}(AcCmTask));
|
|
109
114
|
/**
|
|
110
|
-
*
|
|
111
|
-
*
|
|
115
|
+
* Abstract base class for database converters.
|
|
116
|
+
*
|
|
117
|
+
* This class provides the foundation for converting various file formats
|
|
118
|
+
* (such as DXF, DWG) into AcDbDatabase objects. It handles the conversion
|
|
119
|
+
* process in stages and provides progress tracking capabilities.
|
|
120
|
+
*
|
|
121
|
+
* @template TModel - The type of the parsed model data
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* class MyConverter extends AcDbDatabaseConverter<MyModel> {
|
|
126
|
+
* protected parse(data: string | ArrayBuffer): MyModel {
|
|
127
|
+
* // Implementation for parsing data
|
|
128
|
+
* }
|
|
129
|
+
*
|
|
130
|
+
* protected processEntities(model: MyModel, db: AcDbDatabase) {
|
|
131
|
+
* // Implementation for processing entities
|
|
132
|
+
* }
|
|
133
|
+
* }
|
|
134
|
+
* ```
|
|
112
135
|
*/
|
|
113
136
|
var AcDbDatabaseConverter = /** @class */ (function () {
|
|
114
137
|
function AcDbDatabaseConverter() {
|
|
115
138
|
}
|
|
116
139
|
/**
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
* @param
|
|
124
|
-
*
|
|
140
|
+
* Reads and converts data into an AcDbDatabase.
|
|
141
|
+
*
|
|
142
|
+
* This method orchestrates the entire conversion process, including
|
|
143
|
+
* parsing, processing various components (fonts, linetypes, styles, etc.),
|
|
144
|
+
* and building the final database.
|
|
145
|
+
*
|
|
146
|
+
* @param data - The input data to convert (string or ArrayBuffer)
|
|
147
|
+
* @param db - The database to populate with converted data
|
|
148
|
+
* @param minimumChunkSize - Minimum chunk size for batch processing
|
|
149
|
+
* @param progress - Optional progress callback
|
|
150
|
+
* @returns Promise that resolves when conversion is complete
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* const converter = new MyConverter();
|
|
155
|
+
* const database = new AcDbDatabase();
|
|
156
|
+
* await converter.read(dxfData, database, 100, progressCallback);
|
|
157
|
+
* ```
|
|
125
158
|
*/
|
|
126
159
|
AcDbDatabaseConverter.prototype.read = function (data, db, minimumChunkSize, progress) {
|
|
127
160
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbDatabaseConverter.js","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,wBAAwB,EAExB,QAAQ,EACR,iBAAiB,EAClB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"AcDbDatabaseConverter.js","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +1,140 @@
|
|
|
1
1
|
import { AcCmEventManager } from '@mlightcad/common';
|
|
2
2
|
import { AcDbDatabaseConverter } from './AcDbDatabaseConverter';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Represents the supported drawing file types.
|
|
5
5
|
*/
|
|
6
6
|
export declare enum AcDbFileType {
|
|
7
7
|
/**
|
|
8
|
-
* DXF file
|
|
8
|
+
* DXF (Drawing Exchange Format) file
|
|
9
9
|
*/
|
|
10
10
|
DXF = "dxf",
|
|
11
11
|
/**
|
|
12
|
-
* DWG file
|
|
12
|
+
* DWG (Drawing) file
|
|
13
13
|
*/
|
|
14
14
|
DWG = "dwg"
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Event arguments for database converter manager events.
|
|
18
|
+
*/
|
|
16
19
|
export interface AcDbDatabaseConverterManagerEventArgs {
|
|
20
|
+
/** The file type associated with the event */
|
|
17
21
|
fileType: AcDbFileType;
|
|
22
|
+
/** The converter associated with the event */
|
|
18
23
|
converter: AcDbDatabaseConverter;
|
|
19
24
|
}
|
|
20
25
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
26
|
+
* Manager for registering and managing database converters by file type.
|
|
27
|
+
*
|
|
28
|
+
* This class provides a centralized way to register database converters for
|
|
29
|
+
* different file types (DXF, DWG, etc.) and retrieve the appropriate converter
|
|
30
|
+
* for a given file type. It implements the singleton pattern and provides
|
|
31
|
+
* event notifications when converters are registered or unregistered.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const manager = AcDbDatabaseConverterManager.instance;
|
|
36
|
+
* const converter = manager.get(AcDbFileType.DXF);
|
|
37
|
+
* if (converter) {
|
|
38
|
+
* await converter.read(dxfData, database, 100);
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
23
41
|
*/
|
|
24
42
|
export declare class AcDbDatabaseConverterManager {
|
|
43
|
+
/** Singleton instance of the manager */
|
|
25
44
|
private static _instance?;
|
|
45
|
+
/** Map of file types to their associated converters */
|
|
26
46
|
private _converters;
|
|
47
|
+
/**
|
|
48
|
+
* Events that can be triggered by the converter manager.
|
|
49
|
+
*
|
|
50
|
+
* These events allow applications to respond to converter registration
|
|
51
|
+
* and unregistration.
|
|
52
|
+
*/
|
|
27
53
|
readonly events: {
|
|
54
|
+
/** Fired when a converter is registered */
|
|
28
55
|
registered: AcCmEventManager<AcDbDatabaseConverterManagerEventArgs>;
|
|
56
|
+
/** Fired when a converter is unregistered */
|
|
29
57
|
unregistered: AcCmEventManager<AcDbDatabaseConverterManagerEventArgs>;
|
|
30
58
|
};
|
|
59
|
+
/**
|
|
60
|
+
* Creates a new instance of AcDbDatabaseConverterManager.
|
|
61
|
+
*
|
|
62
|
+
* @returns The singleton instance of AcDbDatabaseConverterManager
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* const manager = AcDbDatabaseConverterManager.createInstance();
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
31
69
|
static createInstance(): AcDbDatabaseConverterManager | undefined;
|
|
32
70
|
/**
|
|
33
|
-
*
|
|
71
|
+
* Gets the singleton instance of this class.
|
|
72
|
+
*
|
|
73
|
+
* @returns The singleton instance of AcDbDatabaseConverterManager
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* const manager = AcDbDatabaseConverterManager.instance;
|
|
78
|
+
* ```
|
|
34
79
|
*/
|
|
35
80
|
static get instance(): AcDbDatabaseConverterManager;
|
|
81
|
+
/**
|
|
82
|
+
* Private constructor to enforce singleton pattern.
|
|
83
|
+
*
|
|
84
|
+
* Initializes the manager with a default DXF converter.
|
|
85
|
+
*/
|
|
36
86
|
private constructor();
|
|
37
87
|
/**
|
|
38
|
-
*
|
|
88
|
+
* Gets all registered file types.
|
|
89
|
+
*
|
|
90
|
+
* @returns An iterator of all registered file types
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typescript
|
|
94
|
+
* const fileTypes = manager.fileTypes;
|
|
95
|
+
* for (const fileType of fileTypes) {
|
|
96
|
+
* console.log('Supported file type:', fileType);
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
39
99
|
*/
|
|
40
100
|
get fileTypes(): IterableIterator<AcDbFileType>;
|
|
41
101
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* @param
|
|
102
|
+
* Registers a database converter for the specified file type.
|
|
103
|
+
*
|
|
104
|
+
* @param fileType - The file type to register the converter for
|
|
105
|
+
* @param converter - The database converter to register
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* const converter = new MyCustomConverter();
|
|
110
|
+
* manager.register(AcDbFileType.DWG, converter);
|
|
111
|
+
* ```
|
|
45
112
|
*/
|
|
46
113
|
register(fileType: AcDbFileType, converter: AcDbDatabaseConverter): void;
|
|
47
114
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* @
|
|
115
|
+
* Gets the database converter associated with the specified file type.
|
|
116
|
+
*
|
|
117
|
+
* @param fileType - The file type to get the converter for
|
|
118
|
+
* @returns The database converter associated with the specified file type, or undefined if not found
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* const converter = manager.get(AcDbFileType.DXF);
|
|
123
|
+
* if (converter) {
|
|
124
|
+
* await converter.read(dxfData, database, 100);
|
|
125
|
+
* }
|
|
126
|
+
* ```
|
|
51
127
|
*/
|
|
52
128
|
get(fileType: AcDbFileType): AcDbDatabaseConverter<unknown> | undefined;
|
|
53
129
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
130
|
+
* Unregisters the database converter for the specified file type.
|
|
131
|
+
*
|
|
132
|
+
* @param fileType - The file type to unregister the converter for
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```typescript
|
|
136
|
+
* manager.unregister(AcDbFileType.DWG);
|
|
137
|
+
* ```
|
|
56
138
|
*/
|
|
57
139
|
unregister(fileType: AcDbFileType): void;
|
|
58
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbDatabaseConverterManager.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverterManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;GAEG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,EAAE,YAAY,CAAA;IACtB,SAAS,EAAE,qBAAqB,CAAA;CACjC;AAED
|
|
1
|
+
{"version":3,"file":"AcDbDatabaseConverterManager.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverterManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;GAEG;AACH,oBAAY,YAAY;IACtB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,qCAAqC;IACpD,8CAA8C;IAC9C,QAAQ,EAAE,YAAY,CAAA;IACtB,8CAA8C;IAC9C,SAAS,EAAE,qBAAqB,CAAA;CACjC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,4BAA4B;IACvC,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAA8B;IACvD,uDAAuD;IACvD,OAAO,CAAC,WAAW,CAA0C;IAE7D;;;;;OAKG;IACH,SAAgB,MAAM;QACpB,2CAA2C;;QAE3C,6CAA6C;;MAE9C;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,cAAc;IAQrB;;;;;;;;;OASG;IACH,MAAM,KAAK,QAAQ,iCAMlB;IAED;;;;OAIG;IACH,OAAO;IAKP;;;;;;;;;;;;OAYG;IACH,IAAI,SAAS,mCAEZ;IAED;;;;;;;;;;;OAWG;IACI,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,qBAAqB;IAQxE;;;;;;;;;;;;;OAaG;IACI,GAAG,CAAC,QAAQ,EAAE,YAAY;IAIjC;;;;;;;;;OASG;IACI,UAAU,CAAC,QAAQ,EAAE,YAAY;CAUzC"}
|
|
@@ -1,32 +1,68 @@
|
|
|
1
1
|
import { AcCmEventManager } from '@mlightcad/common';
|
|
2
2
|
import { AcDbDxfConverter } from '../converter';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Represents the supported drawing file types.
|
|
5
5
|
*/
|
|
6
6
|
export var AcDbFileType;
|
|
7
7
|
(function (AcDbFileType) {
|
|
8
8
|
/**
|
|
9
|
-
* DXF file
|
|
9
|
+
* DXF (Drawing Exchange Format) file
|
|
10
10
|
*/
|
|
11
11
|
AcDbFileType["DXF"] = "dxf";
|
|
12
12
|
/**
|
|
13
|
-
* DWG file
|
|
13
|
+
* DWG (Drawing) file
|
|
14
14
|
*/
|
|
15
15
|
AcDbFileType["DWG"] = "dwg";
|
|
16
16
|
})(AcDbFileType || (AcDbFileType = {}));
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* Manager for registering and managing database converters by file type.
|
|
19
|
+
*
|
|
20
|
+
* This class provides a centralized way to register database converters for
|
|
21
|
+
* different file types (DXF, DWG, etc.) and retrieve the appropriate converter
|
|
22
|
+
* for a given file type. It implements the singleton pattern and provides
|
|
23
|
+
* event notifications when converters are registered or unregistered.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const manager = AcDbDatabaseConverterManager.instance;
|
|
28
|
+
* const converter = manager.get(AcDbFileType.DXF);
|
|
29
|
+
* if (converter) {
|
|
30
|
+
* await converter.read(dxfData, database, 100);
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
20
33
|
*/
|
|
21
34
|
var AcDbDatabaseConverterManager = /** @class */ (function () {
|
|
35
|
+
/**
|
|
36
|
+
* Private constructor to enforce singleton pattern.
|
|
37
|
+
*
|
|
38
|
+
* Initializes the manager with a default DXF converter.
|
|
39
|
+
*/
|
|
22
40
|
function AcDbDatabaseConverterManager() {
|
|
41
|
+
/**
|
|
42
|
+
* Events that can be triggered by the converter manager.
|
|
43
|
+
*
|
|
44
|
+
* These events allow applications to respond to converter registration
|
|
45
|
+
* and unregistration.
|
|
46
|
+
*/
|
|
23
47
|
this.events = {
|
|
48
|
+
/** Fired when a converter is registered */
|
|
24
49
|
registered: new AcCmEventManager(),
|
|
50
|
+
/** Fired when a converter is unregistered */
|
|
25
51
|
unregistered: new AcCmEventManager()
|
|
26
52
|
};
|
|
27
53
|
this._converters = new Map();
|
|
28
54
|
this.register(AcDbFileType.DXF, new AcDbDxfConverter());
|
|
29
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Creates a new instance of AcDbDatabaseConverterManager.
|
|
58
|
+
*
|
|
59
|
+
* @returns The singleton instance of AcDbDatabaseConverterManager
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const manager = AcDbDatabaseConverterManager.createInstance();
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
30
66
|
AcDbDatabaseConverterManager.createInstance = function () {
|
|
31
67
|
if (AcDbDatabaseConverterManager._instance == null) {
|
|
32
68
|
AcDbDatabaseConverterManager._instance =
|
|
@@ -36,7 +72,14 @@ var AcDbDatabaseConverterManager = /** @class */ (function () {
|
|
|
36
72
|
};
|
|
37
73
|
Object.defineProperty(AcDbDatabaseConverterManager, "instance", {
|
|
38
74
|
/**
|
|
39
|
-
*
|
|
75
|
+
* Gets the singleton instance of this class.
|
|
76
|
+
*
|
|
77
|
+
* @returns The singleton instance of AcDbDatabaseConverterManager
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* const manager = AcDbDatabaseConverterManager.instance;
|
|
82
|
+
* ```
|
|
40
83
|
*/
|
|
41
84
|
get: function () {
|
|
42
85
|
if (!AcDbDatabaseConverterManager._instance) {
|
|
@@ -50,7 +93,17 @@ var AcDbDatabaseConverterManager = /** @class */ (function () {
|
|
|
50
93
|
});
|
|
51
94
|
Object.defineProperty(AcDbDatabaseConverterManager.prototype, "fileTypes", {
|
|
52
95
|
/**
|
|
53
|
-
*
|
|
96
|
+
* Gets all registered file types.
|
|
97
|
+
*
|
|
98
|
+
* @returns An iterator of all registered file types
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* const fileTypes = manager.fileTypes;
|
|
103
|
+
* for (const fileType of fileTypes) {
|
|
104
|
+
* console.log('Supported file type:', fileType);
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
54
107
|
*/
|
|
55
108
|
get: function () {
|
|
56
109
|
return this._converters.keys();
|
|
@@ -59,9 +112,16 @@ var AcDbDatabaseConverterManager = /** @class */ (function () {
|
|
|
59
112
|
configurable: true
|
|
60
113
|
});
|
|
61
114
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* @param
|
|
115
|
+
* Registers a database converter for the specified file type.
|
|
116
|
+
*
|
|
117
|
+
* @param fileType - The file type to register the converter for
|
|
118
|
+
* @param converter - The database converter to register
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* const converter = new MyCustomConverter();
|
|
123
|
+
* manager.register(AcDbFileType.DWG, converter);
|
|
124
|
+
* ```
|
|
65
125
|
*/
|
|
66
126
|
AcDbDatabaseConverterManager.prototype.register = function (fileType, converter) {
|
|
67
127
|
this._converters.set(fileType, converter);
|
|
@@ -71,16 +131,31 @@ var AcDbDatabaseConverterManager = /** @class */ (function () {
|
|
|
71
131
|
});
|
|
72
132
|
};
|
|
73
133
|
/**
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* @
|
|
134
|
+
* Gets the database converter associated with the specified file type.
|
|
135
|
+
*
|
|
136
|
+
* @param fileType - The file type to get the converter for
|
|
137
|
+
* @returns The database converter associated with the specified file type, or undefined if not found
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* const converter = manager.get(AcDbFileType.DXF);
|
|
142
|
+
* if (converter) {
|
|
143
|
+
* await converter.read(dxfData, database, 100);
|
|
144
|
+
* }
|
|
145
|
+
* ```
|
|
77
146
|
*/
|
|
78
147
|
AcDbDatabaseConverterManager.prototype.get = function (fileType) {
|
|
79
148
|
return this._converters.get(fileType);
|
|
80
149
|
};
|
|
81
150
|
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
151
|
+
* Unregisters the database converter for the specified file type.
|
|
152
|
+
*
|
|
153
|
+
* @param fileType - The file type to unregister the converter for
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* manager.unregister(AcDbFileType.DWG);
|
|
158
|
+
* ```
|
|
84
159
|
*/
|
|
85
160
|
AcDbDatabaseConverterManager.prototype.unregister = function (fileType) {
|
|
86
161
|
var converter = this._converters.get(fileType);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbDatabaseConverterManager.js","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverterManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAG/C;;GAEG;AACH,MAAM,CAAN,IAAY,YASX;AATD,WAAY,YAAY;IACtB;;OAEG;IACH,2BAAW,CAAA;IACX;;OAEG;IACH,2BAAW,CAAA;AACb,CAAC,EATW,YAAY,KAAZ,YAAY,QASvB;
|
|
1
|
+
{"version":3,"file":"AcDbDatabaseConverterManager.js","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverterManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAG/C;;GAEG;AACH,MAAM,CAAN,IAAY,YASX;AATD,WAAY,YAAY;IACtB;;OAEG;IACH,2BAAW,CAAA;IACX;;OAEG;IACH,2BAAW,CAAA;AACb,CAAC,EATW,YAAY,KAAZ,YAAY,QASvB;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH;IAuDE;;;;OAIG;IACH;QAtDA;;;;;WAKG;QACa,WAAM,GAAG;YACvB,2CAA2C;YAC3C,UAAU,EAAE,IAAI,gBAAgB,EAAyC;YACzE,6CAA6C;YAC7C,YAAY,EAAE,IAAI,gBAAgB,EAAyC;SAC5E,CAAA;QA4CC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAA;QAC5B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,gBAAgB,EAAE,CAAC,CAAA;IACzD,CAAC;IA5CD;;;;;;;;;OASG;IACI,2CAAc,GAArB;QACE,IAAI,4BAA4B,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YACnD,4BAA4B,CAAC,SAAS;gBACpC,IAAI,4BAA4B,EAAE,CAAA;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAYD,sBAAW,wCAAQ;QAVnB;;;;;;;;;WASG;aACH;YACE,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,CAAC;gBAC5C,4BAA4B,CAAC,SAAS;oBACpC,IAAI,4BAA4B,EAAE,CAAA;YACtC,CAAC;YACD,OAAO,4BAA4B,CAAC,SAAS,CAAA;QAC/C,CAAC;;;OAAA;IAyBD,sBAAI,mDAAS;QAbb;;;;;;;;;;;;WAYG;aACH;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAChC,CAAC;;;OAAA;IAED;;;;;;;;;;;OAWG;IACI,+CAAQ,GAAf,UAAgB,QAAsB,EAAE,SAAgC;QACtE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC9B,QAAQ,UAAA;YACR,SAAS,WAAA;SACV,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,0CAAG,GAAV,UAAW,QAAsB;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED;;;;;;;;;OASG;IACI,iDAAU,GAAjB,UAAkB,QAAsB;QACtC,IAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACjC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAChC,QAAQ,UAAA;gBACR,SAAS,WAAA;aACV,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACH,mCAAC;AAAD,CAAC,AA5ID,IA4IC"}
|
|
@@ -2,10 +2,30 @@ import { AcDbDatabase } from './AcDbDatabase';
|
|
|
2
2
|
import { AcDbDimStyleTableRecord } from './AcDbDimStyleTableRecord';
|
|
3
3
|
import { AcDbSymbolTable } from './AcDbSymbolTable';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Symbol table for dimension style table records.
|
|
6
|
+
*
|
|
7
|
+
* This class manages dimension style table records which represent dimension styles
|
|
8
|
+
* within the drawing database. Dimension styles define the appearance and behavior
|
|
9
|
+
* of dimension entities, including text formatting, arrow styles, extension lines,
|
|
10
|
+
* and other dimension-specific properties.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const dimStyleTable = new AcDbDimStyleTable(database);
|
|
15
|
+
* const dimStyle = dimStyleTable.getAt('Standard');
|
|
16
|
+
* ```
|
|
7
17
|
*/
|
|
8
18
|
export declare class AcDbDimStyleTable extends AcDbSymbolTable<AcDbDimStyleTableRecord> {
|
|
19
|
+
/**
|
|
20
|
+
* Creates a new AcDbDimStyleTable instance.
|
|
21
|
+
*
|
|
22
|
+
* @param db - The database this dimension style table belongs to
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const dimStyleTable = new AcDbDimStyleTable(database);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
9
29
|
constructor(db: AcDbDatabase);
|
|
10
30
|
}
|
|
11
31
|
//# sourceMappingURL=AcDbDimStyleTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbDimStyleTable.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDimStyleTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD
|
|
1
|
+
{"version":3,"file":"AcDbDimStyleTable.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDimStyleTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAkB,SAAQ,eAAe,CAAC,uBAAuB,CAAC;IAC7E;;;;;;;;;OASG;gBACS,EAAE,EAAE,YAAY;CAG7B"}
|
|
@@ -15,11 +15,31 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
15
15
|
})();
|
|
16
16
|
import { AcDbSymbolTable } from './AcDbSymbolTable';
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* Symbol table for dimension style table records.
|
|
19
|
+
*
|
|
20
|
+
* This class manages dimension style table records which represent dimension styles
|
|
21
|
+
* within the drawing database. Dimension styles define the appearance and behavior
|
|
22
|
+
* of dimension entities, including text formatting, arrow styles, extension lines,
|
|
23
|
+
* and other dimension-specific properties.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const dimStyleTable = new AcDbDimStyleTable(database);
|
|
28
|
+
* const dimStyle = dimStyleTable.getAt('Standard');
|
|
29
|
+
* ```
|
|
20
30
|
*/
|
|
21
31
|
var AcDbDimStyleTable = /** @class */ (function (_super) {
|
|
22
32
|
__extends(AcDbDimStyleTable, _super);
|
|
33
|
+
/**
|
|
34
|
+
* Creates a new AcDbDimStyleTable instance.
|
|
35
|
+
*
|
|
36
|
+
* @param db - The database this dimension style table belongs to
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* const dimStyleTable = new AcDbDimStyleTable(database);
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
23
43
|
function AcDbDimStyleTable(db) {
|
|
24
44
|
return _super.call(this, db) || this;
|
|
25
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbDimStyleTable.js","sourceRoot":"","sources":["../../src/database/AcDbDimStyleTable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD
|
|
1
|
+
{"version":3,"file":"AcDbDimStyleTable.js","sourceRoot":"","sources":["../../src/database/AcDbDimStyleTable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;;;;;;;;;;;;GAaG;AACH;IAAuC,qCAAwC;IAC7E;;;;;;;;;OASG;IACH,2BAAY,EAAgB;QAC1B,OAAA,MAAK,YAAC,EAAE,CAAC,SAAA;IACX,CAAC;IACH,wBAAC;AAAD,CAAC,AAdD,CAAuC,eAAe,GAcrD"}
|