@mlightcad/data-model 1.8.4 → 1.9.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/README.md +38 -20
- package/dist/data-model.cjs +7 -7
- package/lib/converter/index.d.ts +0 -1
- package/lib/converter/index.d.ts.map +1 -1
- package/lib/converter/index.js +0 -1
- package/lib/converter/index.js.map +1 -1
- package/lib/database/AcDbDatabaseConverter.d.ts +8 -8
- package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverter.js +13 -1
- package/lib/database/AcDbDatabaseConverter.js.map +1 -1
- package/lib/database/AcDbDatabaseConverterManager.d.ts +0 -2
- package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverterManager.js +0 -4
- package/lib/database/AcDbDatabaseConverterManager.js.map +1 -1
- package/lib/entity/AcDb2dPolyline.d.ts +2 -0
- package/lib/entity/AcDb2dPolyline.d.ts.map +1 -1
- package/lib/entity/AcDb2dPolyline.js +8 -0
- package/lib/entity/AcDb2dPolyline.js.map +1 -1
- package/lib/entity/AcDb3dPolyline.d.ts +2 -0
- package/lib/entity/AcDb3dPolyline.d.ts.map +1 -1
- package/lib/entity/AcDb3dPolyline.js +8 -0
- package/lib/entity/AcDb3dPolyline.js.map +1 -1
- package/lib/entity/AcDbArc.d.ts +2 -0
- package/lib/entity/AcDbArc.d.ts.map +1 -1
- package/lib/entity/AcDbArc.js +9 -1
- package/lib/entity/AcDbArc.js.map +1 -1
- package/lib/entity/AcDbCircle.d.ts +2 -0
- package/lib/entity/AcDbCircle.d.ts.map +1 -1
- package/lib/entity/AcDbCircle.js +9 -1
- package/lib/entity/AcDbCircle.js.map +1 -1
- package/lib/entity/AcDbCurve.d.ts +5 -0
- package/lib/entity/AcDbCurve.d.ts.map +1 -1
- package/lib/entity/AcDbCurve.js.map +1 -1
- package/lib/entity/AcDbEllipse.d.ts +2 -0
- package/lib/entity/AcDbEllipse.d.ts.map +1 -1
- package/lib/entity/AcDbEllipse.js +9 -1
- package/lib/entity/AcDbEllipse.js.map +1 -1
- package/lib/entity/AcDbFace.d.ts +4 -0
- package/lib/entity/AcDbFace.d.ts.map +1 -1
- package/lib/entity/AcDbFace.js +22 -1
- package/lib/entity/AcDbFace.js.map +1 -1
- package/lib/entity/AcDbHatch.d.ts +4 -0
- package/lib/entity/AcDbHatch.d.ts.map +1 -1
- package/lib/entity/AcDbHatch.js +11 -1
- package/lib/entity/AcDbHatch.js.map +1 -1
- package/lib/entity/AcDbLeader.d.ts +2 -0
- package/lib/entity/AcDbLeader.d.ts.map +1 -1
- package/lib/entity/AcDbLeader.js +8 -0
- package/lib/entity/AcDbLeader.js.map +1 -1
- package/lib/entity/AcDbLine.d.ts +2 -0
- package/lib/entity/AcDbLine.d.ts.map +1 -1
- package/lib/entity/AcDbLine.js +8 -0
- package/lib/entity/AcDbLine.js.map +1 -1
- package/lib/entity/AcDbPolyFaceMesh.d.ts +2 -0
- package/lib/entity/AcDbPolyFaceMesh.d.ts.map +1 -1
- package/lib/entity/AcDbPolyFaceMesh.js +8 -0
- package/lib/entity/AcDbPolyFaceMesh.js.map +1 -1
- package/lib/entity/AcDbPolygonMesh.d.ts +2 -0
- package/lib/entity/AcDbPolygonMesh.d.ts.map +1 -1
- package/lib/entity/AcDbPolygonMesh.js +8 -0
- package/lib/entity/AcDbPolygonMesh.js.map +1 -1
- package/lib/entity/AcDbPolyline.d.ts +2 -0
- package/lib/entity/AcDbPolyline.d.ts.map +1 -1
- package/lib/entity/AcDbPolyline.js +8 -0
- package/lib/entity/AcDbPolyline.js.map +1 -1
- package/lib/entity/AcDbRay.d.ts +2 -0
- package/lib/entity/AcDbRay.d.ts.map +1 -1
- package/lib/entity/AcDbRay.js +8 -0
- package/lib/entity/AcDbRay.js.map +1 -1
- package/lib/entity/AcDbSpline.d.ts +2 -0
- package/lib/entity/AcDbSpline.d.ts.map +1 -1
- package/lib/entity/AcDbSpline.js +8 -0
- package/lib/entity/AcDbSpline.js.map +1 -1
- package/lib/entity/AcDbTrace.d.ts +2 -0
- package/lib/entity/AcDbTrace.d.ts.map +1 -1
- package/lib/entity/AcDbTrace.js +9 -0
- package/lib/entity/AcDbTrace.js.map +1 -1
- package/lib/entity/AcDbXline.d.ts +2 -0
- package/lib/entity/AcDbXline.d.ts.map +1 -1
- package/lib/entity/AcDbXline.js +8 -0
- package/lib/entity/AcDbXline.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +6 -9
- package/dist/dxf-parser-worker.js +0 -1794
- package/lib/converter/AcDbDxfConverter.d.ts +0 -277
- package/lib/converter/AcDbDxfConverter.d.ts.map +0 -1
- package/lib/converter/AcDbDxfConverter.js +0 -1076
- package/lib/converter/AcDbDxfConverter.js.map +0 -1
- package/lib/converter/AcDbDxfParser.d.ts +0 -23
- package/lib/converter/AcDbDxfParser.d.ts.map +0 -1
- package/lib/converter/AcDbDxfParser.js +0 -85
- package/lib/converter/AcDbDxfParser.js.map +0 -1
- package/lib/converter/AcDbEntitiyConverter.d.ts +0 -156
- package/lib/converter/AcDbEntitiyConverter.d.ts.map +0 -1
- package/lib/converter/AcDbEntitiyConverter.js +0 -1426
- package/lib/converter/AcDbEntitiyConverter.js.map +0 -1
- package/lib/converter/AcDbObjectConverter.d.ts +0 -68
- package/lib/converter/AcDbObjectConverter.d.ts.map +0 -1
- package/lib/converter/AcDbObjectConverter.js +0 -376
- package/lib/converter/AcDbObjectConverter.js.map +0 -1
- package/lib/converter/worker/AcDbDxfParserWorker.d.ts +0 -11
- package/lib/converter/worker/AcDbDxfParserWorker.d.ts.map +0 -1
- package/lib/converter/worker/AcDbDxfParserWorker.js +0 -75
- package/lib/converter/worker/AcDbDxfParserWorker.js.map +0 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ This package contains the core classes for defining and manipulating AutoCAD ent
|
|
|
10
10
|
|
|
11
11
|
- **Database Management**: Complete AutoCAD database structure with tables and records
|
|
12
12
|
- **Entity Support**: All major AutoCAD entity types (lines, circles, polylines, blocks, etc.)
|
|
13
|
-
- **File Conversion**:
|
|
13
|
+
- **File Conversion**: Extensible converter registration system (`AcDbDatabaseConverterManager`); DXF/DWG readers live in separate packages
|
|
14
14
|
- **Symbol Tables**: Layer, linetype, text style, and dimension style management
|
|
15
15
|
- **Block Management**: Block table and block reference handling
|
|
16
16
|
- **Dimension Support**: Comprehensive dimension entity types
|
|
@@ -76,9 +76,10 @@ npm install @mlightcad/data-model
|
|
|
76
76
|
### File Conversion
|
|
77
77
|
- **AcDbDatabaseConverter**: Base class for file format converters
|
|
78
78
|
- **AcDbDatabaseConverterManager**: Manages registered file converters
|
|
79
|
-
- **AcDbDxfConverter**: DXF file converter
|
|
80
79
|
- **AcDbBatchProcessing**: Batch processing utilities
|
|
81
|
-
- **
|
|
80
|
+
- **AcDbBaseWorker**, **createWorkerApi**: Web Worker infrastructure for parsers
|
|
81
|
+
|
|
82
|
+
DXF import is provided by [@mlightcad/dxf-json-converter](../dxf-json-converter/README.md). DWG import is provided by converter packages such as [@mlightcad/libredwg-converter](../libredwg-converter/README.md). Register them with `AcDbDatabaseConverterManager` before calling `AcDbDatabase.read()`.
|
|
82
83
|
|
|
83
84
|
### Utilities
|
|
84
85
|
- **AcDbConstants**: Database constants
|
|
@@ -157,22 +158,37 @@ modelSpace.appendEntity(blockRef);
|
|
|
157
158
|
|
|
158
159
|
### File Conversion
|
|
159
160
|
```typescript
|
|
160
|
-
import {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
161
|
+
import {
|
|
162
|
+
AcDbDatabase,
|
|
163
|
+
AcDbDatabaseConverterManager,
|
|
164
|
+
AcDbFileType,
|
|
165
|
+
acdbHostApplicationServices,
|
|
166
|
+
AcDbOpenDatabaseOptions
|
|
167
|
+
} from '@mlightcad/data-model'
|
|
168
|
+
import { AcDbDxfConverter } from '@mlightcad/dxf-json-converter'
|
|
169
|
+
import { AcDbLibreDwgConverter } from '@mlightcad/libredwg-converter'
|
|
170
|
+
|
|
171
|
+
// Register converters (required before reading files)
|
|
172
|
+
AcDbDatabaseConverterManager.instance.register(
|
|
173
|
+
AcDbFileType.DXF,
|
|
174
|
+
new AcDbDxfConverter({
|
|
175
|
+
useWorker: true,
|
|
176
|
+
parserWorkerUrl: './assets/dxf-parser-worker.js'
|
|
177
|
+
})
|
|
178
|
+
)
|
|
179
|
+
AcDbDatabaseConverterManager.instance.register(
|
|
180
|
+
AcDbFileType.DWG,
|
|
181
|
+
new AcDbLibreDwgConverter({
|
|
182
|
+
useWorker: true,
|
|
183
|
+
parserWorkerUrl: './assets/libredwg-parser-worker.js'
|
|
184
|
+
})
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
// Read a file into the database
|
|
188
|
+
const database = new AcDbDatabase()
|
|
189
|
+
acdbHostApplicationServices().workingDatabase = database
|
|
190
|
+
const buffer = await file.arrayBuffer()
|
|
191
|
+
await database.read(buffer, { readOnly: true }, AcDbFileType.DXF)
|
|
176
192
|
```
|
|
177
193
|
|
|
178
194
|
### Dimension Creation
|
|
@@ -210,12 +226,14 @@ newLayout.setPlotCentered(true);
|
|
|
210
226
|
|
|
211
227
|
## Dependencies
|
|
212
228
|
|
|
213
|
-
- **@mlightcad/dxf-json**: For DXF file parsing
|
|
214
229
|
- **@mlightcad/common**: For common utilities (peer dependency)
|
|
215
230
|
- **@mlightcad/geometry-engine**: For geometric operations (peer dependency)
|
|
216
231
|
- **@mlightcad/graphic-interface**: For graphics interface (peer dependency)
|
|
232
|
+
- **iconv-lite**: For text encoding conversion
|
|
217
233
|
- **uid**: For unique ID generation
|
|
218
234
|
|
|
235
|
+
To read DXF files, also install [@mlightcad/dxf-json-converter](../dxf-json-converter/README.md) and register `AcDbDxfConverter`.
|
|
236
|
+
|
|
219
237
|
## API Documentation
|
|
220
238
|
|
|
221
239
|
For detailed API documentation, visit the [RealDWG-Web documentation](https://mlight-lee.github.io/realdwg-web/).
|