@mlightcad/libredwg-web 0.7.4 → 0.7.6
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/libredwg-web.js +1309 -1041
- package/dist/libredwg-web.umd.cjs +1309 -1041
- package/lib/converter/converter.d.ts +1 -0
- package/lib/converter/converter.js +253 -343
- package/lib/converter/dwgColorToMLeaderRawColor.d.ts +10 -0
- package/lib/converter/dwgColorToMLeaderRawColor.js +55 -0
- package/lib/converter/entityConverter.d.ts +2 -0
- package/lib/converter/entityConverter.js +705 -592
- package/lib/converter/index.d.ts +1 -0
- package/lib/converter/index.js +1 -0
- package/lib/database/database.d.ts +2 -1
- package/lib/database/entities/index.d.ts +2 -0
- package/lib/database/entities/index.js +2 -0
- package/lib/database/entities/multileader.d.ts +190 -0
- package/lib/database/entities/multileader.js +2 -0
- package/lib/database/entities/shape.d.ts +50 -0
- package/lib/database/entities/shape.js +2 -0
- package/lib/database/objects/index.d.ts +1 -0
- package/lib/database/objects/index.js +1 -0
- package/lib/database/objects/mleaderStyle.d.ts +101 -0
- package/lib/database/objects/mleaderStyle.js +2 -0
- package/lib/libredwg.d.ts +61 -0
- package/lib/libredwg.js +107 -18
- package/lib/svg/svgConverter.js +1 -0
- package/package.json +2 -2
- package/wasm/libredwg-web.d.ts +3 -0
- package/wasm/libredwg-web.wasm +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HEADER_VARIABLES } from '../database';
|
|
2
2
|
import { Dwg_Object_Supertype, Dwg_Object_Type } from '../types';
|
|
3
|
+
import { dwgColorToMLeaderRawColor } from './dwgColorToMLeaderRawColor';
|
|
3
4
|
import { LibreEntityConverter } from './entityConverter';
|
|
4
5
|
import { idToString, isModelSpace, isPaperSpace } from './utils';
|
|
5
6
|
/**
|
|
@@ -42,6 +43,7 @@ export class LibreDwgConverter {
|
|
|
42
43
|
DICTIONARY: [],
|
|
43
44
|
IMAGEDEF: [],
|
|
44
45
|
LAYOUT: [],
|
|
46
|
+
MLEADERSTYLE: [],
|
|
45
47
|
SPATIAL_FILTER: []
|
|
46
48
|
},
|
|
47
49
|
header: {},
|
|
@@ -128,6 +130,9 @@ export class LibreDwgConverter {
|
|
|
128
130
|
case Dwg_Object_Type.DWG_TYPE_LAYOUT:
|
|
129
131
|
db.objects.LAYOUT.push(this.convertLayout(tio, obj));
|
|
130
132
|
break;
|
|
133
|
+
case Dwg_Object_Type.DWG_TYPE_MLEADERSTYLE:
|
|
134
|
+
db.objects.MLEADERSTYLE.push(this.convertMLeaderStyle(tio, obj));
|
|
135
|
+
break;
|
|
131
136
|
case Dwg_Object_Type.DWG_TYPE_SPATIAL_FILTER:
|
|
132
137
|
db.objects.SPATIAL_FILTER.push(this.convertSpatialFilter(tio, obj));
|
|
133
138
|
break;
|
|
@@ -177,7 +182,7 @@ export class LibreDwgConverter {
|
|
|
177
182
|
if (name == 'DIMBLK' || name == 'DIMBLK1' || name == 'DIMBLK2') {
|
|
178
183
|
var_name = var_name + '_T';
|
|
179
184
|
}
|
|
180
|
-
let value = libredwg.
|
|
185
|
+
let value = libredwg.dwg_dynapi_header_data(data, var_name);
|
|
181
186
|
// Get object name if the 'value' is one Dwg_Object_Ref instance.
|
|
182
187
|
// TODO: handle 'CMLSTYLE' correctly
|
|
183
188
|
if (name == 'CELTYPE' ||
|
|
@@ -189,7 +194,7 @@ export class LibreDwgConverter {
|
|
|
189
194
|
value = value ? libredwg.dwg_ref_get_object_name(value) : '';
|
|
190
195
|
}
|
|
191
196
|
else if (name == 'DRAGVS') {
|
|
192
|
-
value = value ? libredwg.dwg_ref_get_absref(value) : 2;
|
|
197
|
+
value = value ? (libredwg.dwg_ref_get_absref(value) ?? 2) : 2;
|
|
193
198
|
}
|
|
194
199
|
// @ts-expect-error header variable name
|
|
195
200
|
header[name] = value;
|
|
@@ -215,8 +220,8 @@ export class LibreDwgConverter {
|
|
|
215
220
|
}
|
|
216
221
|
convertAppId(item) {
|
|
217
222
|
const libredwg = this.libredwg;
|
|
218
|
-
const name = libredwg.
|
|
219
|
-
const flag = libredwg.
|
|
223
|
+
const name = libredwg.dwg_dynapi_entity_data(item, 'name');
|
|
224
|
+
const flag = libredwg.dwg_dynapi_entity_data(item, 'flag');
|
|
220
225
|
return {
|
|
221
226
|
name: name,
|
|
222
227
|
standardFlag: flag
|
|
@@ -232,21 +237,15 @@ export class LibreDwgConverter {
|
|
|
232
237
|
commonAttrs.name = block.name;
|
|
233
238
|
}
|
|
234
239
|
// The number of entities
|
|
235
|
-
const num_owned = libredwg.
|
|
236
|
-
|
|
237
|
-
const
|
|
238
|
-
const
|
|
239
|
-
|
|
240
|
-
const
|
|
241
|
-
|
|
242
|
-
const
|
|
243
|
-
const
|
|
244
|
-
.data;
|
|
245
|
-
const scalability = libredwg.dwg_dynapi_entity_value(item, 'block_scaling')
|
|
246
|
-
.data;
|
|
247
|
-
const layout_ptr = libredwg.dwg_dynapi_entity_value(item, 'layout')
|
|
248
|
-
.data;
|
|
249
|
-
const layout = idToString(libredwg.dwg_ref_get_absref(layout_ptr));
|
|
240
|
+
const num_owned = libredwg.dwg_dynapi_entity_data(item, 'num_owned');
|
|
241
|
+
const flags = libredwg.dwg_dynapi_entity_data(item, 'flag');
|
|
242
|
+
const description = libredwg.dwg_dynapi_entity_data(item, 'description');
|
|
243
|
+
const basePoint = libredwg.dwg_dynapi_entity_data(item, 'base_pt');
|
|
244
|
+
const insertionUnits = libredwg.dwg_dynapi_entity_data(item, 'insert_units');
|
|
245
|
+
const explodability = libredwg.dwg_dynapi_entity_data(item, 'explodable');
|
|
246
|
+
const scalability = libredwg.dwg_dynapi_entity_data(item, 'block_scaling');
|
|
247
|
+
const layout_ptr = libredwg.dwg_dynapi_entity_data(item, 'layout');
|
|
248
|
+
const layout = (libredwg.dwg_ref_get_id(layout_ptr) ?? '');
|
|
250
249
|
let bmpPreview = '';
|
|
251
250
|
const uint8ArrayToHexString = (bytes) => {
|
|
252
251
|
const hexChars = new Array(bytes.length);
|
|
@@ -265,8 +264,7 @@ export class LibreDwgConverter {
|
|
|
265
264
|
let entities = this.convertEntities(obj, commonAttrs.handle);
|
|
266
265
|
if (!entities || entities.length == 0) {
|
|
267
266
|
entities = [];
|
|
268
|
-
const entities_ptr = libredwg.
|
|
269
|
-
.data;
|
|
267
|
+
const entities_ptr = libredwg.dwg_dynapi_entity_data(item, 'entities');
|
|
270
268
|
if (entities_ptr) {
|
|
271
269
|
const object_ref_ptr_array = libredwg.dwg_ptr_to_object_ref_ptr_array(entities_ptr, num_owned);
|
|
272
270
|
const converter = this.entityConverter;
|
|
@@ -311,165 +309,88 @@ export class LibreDwgConverter {
|
|
|
311
309
|
convertDimStyle(item, obj) {
|
|
312
310
|
const libredwg = this.libredwg;
|
|
313
311
|
const commonAttrs = this.getCommonTableEntryAttrs(item, obj);
|
|
314
|
-
const DIMTOL = libredwg.
|
|
315
|
-
|
|
316
|
-
const
|
|
317
|
-
|
|
318
|
-
const
|
|
319
|
-
|
|
320
|
-
const
|
|
321
|
-
|
|
322
|
-
const
|
|
323
|
-
|
|
324
|
-
const
|
|
325
|
-
|
|
326
|
-
const
|
|
327
|
-
|
|
328
|
-
const
|
|
329
|
-
|
|
330
|
-
const
|
|
331
|
-
|
|
332
|
-
const
|
|
333
|
-
|
|
334
|
-
const
|
|
335
|
-
|
|
336
|
-
const
|
|
337
|
-
|
|
338
|
-
const
|
|
339
|
-
|
|
340
|
-
const
|
|
341
|
-
|
|
342
|
-
const
|
|
343
|
-
|
|
344
|
-
const
|
|
345
|
-
|
|
346
|
-
const
|
|
347
|
-
|
|
348
|
-
const
|
|
349
|
-
|
|
350
|
-
const
|
|
351
|
-
|
|
352
|
-
const
|
|
353
|
-
|
|
354
|
-
const
|
|
355
|
-
|
|
356
|
-
const
|
|
357
|
-
|
|
358
|
-
const
|
|
359
|
-
|
|
360
|
-
const
|
|
361
|
-
|
|
362
|
-
const
|
|
363
|
-
|
|
364
|
-
const
|
|
365
|
-
|
|
366
|
-
const
|
|
367
|
-
|
|
368
|
-
const
|
|
369
|
-
|
|
370
|
-
const
|
|
371
|
-
|
|
372
|
-
const
|
|
373
|
-
|
|
374
|
-
const
|
|
375
|
-
|
|
376
|
-
const
|
|
377
|
-
|
|
378
|
-
const
|
|
379
|
-
|
|
380
|
-
const
|
|
381
|
-
|
|
382
|
-
const
|
|
383
|
-
|
|
384
|
-
const
|
|
385
|
-
|
|
386
|
-
const
|
|
387
|
-
const
|
|
388
|
-
const
|
|
389
|
-
|
|
390
|
-
const
|
|
391
|
-
|
|
392
|
-
const
|
|
393
|
-
|
|
394
|
-
const
|
|
395
|
-
|
|
396
|
-
const DIMAZIN = libredwg.dwg_dynapi_entity_value(item, 'DIMAZIN')
|
|
397
|
-
.data;
|
|
398
|
-
const DIMARCSYM = libredwg.dwg_dynapi_entity_value(item, 'DIMARCSYM')
|
|
399
|
-
.data;
|
|
400
|
-
const DIMTXT = libredwg.dwg_dynapi_entity_value(item, 'DIMTXT')
|
|
401
|
-
.data;
|
|
402
|
-
const DIMCEN = libredwg.dwg_dynapi_entity_value(item, 'DIMCEN')
|
|
403
|
-
.data;
|
|
404
|
-
const DIMTSZ = libredwg.dwg_dynapi_entity_value(item, 'DIMTSZ')
|
|
405
|
-
.data;
|
|
406
|
-
const DIMALTF = libredwg.dwg_dynapi_entity_value(item, 'DIMALTF')
|
|
407
|
-
.data;
|
|
408
|
-
const DIMLFAC = libredwg.dwg_dynapi_entity_value(item, 'DIMLFAC')
|
|
409
|
-
.data;
|
|
410
|
-
const DIMTVP = libredwg.dwg_dynapi_entity_value(item, 'DIMTVP')
|
|
411
|
-
.data;
|
|
412
|
-
const DIMTFAC = libredwg.dwg_dynapi_entity_value(item, 'DIMTFAC')
|
|
413
|
-
.data;
|
|
414
|
-
const DIMGAP = libredwg.dwg_dynapi_entity_value(item, 'DIMGAP')
|
|
415
|
-
.data;
|
|
416
|
-
const DIMPOST = libredwg.dwg_dynapi_entity_value(item, 'DIMPOST')
|
|
417
|
-
.data;
|
|
418
|
-
const DIMAPOST = libredwg.dwg_dynapi_entity_value(item, 'DIMAPOST')
|
|
419
|
-
.data;
|
|
420
|
-
const DIMBLK_T = libredwg.dwg_dynapi_entity_value(item, 'DIMBLK_T')
|
|
421
|
-
.data;
|
|
422
|
-
const DIMBLK1_T = libredwg.dwg_dynapi_entity_value(item, 'DIMBLK1_T')
|
|
423
|
-
.data;
|
|
424
|
-
const DIMBLK2_T = libredwg.dwg_dynapi_entity_value(item, 'DIMBLK2_T')
|
|
425
|
-
.data;
|
|
426
|
-
const DIMALTRND = libredwg.dwg_dynapi_entity_value(item, 'DIMALTRND')
|
|
427
|
-
.data;
|
|
428
|
-
const DIMCLRD_N = libredwg.dwg_dynapi_entity_value(item, 'DIMCLRD_N')
|
|
429
|
-
.data;
|
|
430
|
-
const DIMCLRE_N = libredwg.dwg_dynapi_entity_value(item, 'DIMCLRE_N')
|
|
431
|
-
.data;
|
|
432
|
-
const DIMCLRT_N = libredwg.dwg_dynapi_entity_value(item, 'DIMCLRT_N')
|
|
433
|
-
.data;
|
|
434
|
-
const DIMCLRD = libredwg.dwg_dynapi_entity_value(item, 'DIMCLRD')
|
|
435
|
-
.data;
|
|
436
|
-
const DIMCLRE = libredwg.dwg_dynapi_entity_value(item, 'DIMCLRE')
|
|
437
|
-
.data;
|
|
438
|
-
const DIMCLRT = libredwg.dwg_dynapi_entity_value(item, 'DIMCLRT')
|
|
439
|
-
.data;
|
|
440
|
-
const DIMADEC = libredwg.dwg_dynapi_entity_value(item, 'DIMADEC')
|
|
441
|
-
.data;
|
|
442
|
-
const DIMFRAC = libredwg.dwg_dynapi_entity_value(item, 'DIMFRAC')
|
|
443
|
-
.data;
|
|
444
|
-
const DIMLUNIT = libredwg.dwg_dynapi_entity_value(item, 'DIMLUNIT')
|
|
445
|
-
.data;
|
|
446
|
-
const DIMDSEP = libredwg.dwg_dynapi_entity_value(item, 'DIMDSEP')
|
|
447
|
-
.data;
|
|
448
|
-
const DIMTMOVE = libredwg.dwg_dynapi_entity_value(item, 'DIMTMOVE')
|
|
449
|
-
.data;
|
|
450
|
-
const DIMATFIT = libredwg.dwg_dynapi_entity_value(item, 'DIMATFIT')
|
|
451
|
-
.data;
|
|
452
|
-
const DIMFXLON = libredwg.dwg_dynapi_entity_value(item, 'DIMFXLON')
|
|
453
|
-
.data;
|
|
454
|
-
const DIMTXTDIRECTION = libredwg.dwg_dynapi_entity_value(item, 'DIMTXTDIRECTION').data;
|
|
455
|
-
const DIMALTMZF = libredwg.dwg_dynapi_entity_value(item, 'DIMALTMZF')
|
|
456
|
-
.data;
|
|
457
|
-
const DIMALTMZS = libredwg.dwg_dynapi_entity_value(item, 'DIMALTMZS')
|
|
458
|
-
.data;
|
|
459
|
-
const DIMMZF = libredwg.dwg_dynapi_entity_value(item, 'DIMMZF')
|
|
460
|
-
.data;
|
|
461
|
-
const DIMMZS = libredwg.dwg_dynapi_entity_value(item, 'DIMMZS')
|
|
462
|
-
.data;
|
|
463
|
-
const DIMLWD = libredwg.dwg_dynapi_entity_value(item, 'DIMLWD')
|
|
464
|
-
.data;
|
|
465
|
-
const DIMLWE = libredwg.dwg_dynapi_entity_value(item, 'DIMLWE')
|
|
466
|
-
.data;
|
|
467
|
-
const DIMTXSTY_Ptr = libredwg.dwg_dynapi_entity_value(item, 'DIMTXSTY')
|
|
468
|
-
.data;
|
|
469
|
-
const DIMTXSTY = libredwg.dwg_ref_get_absref(DIMTXSTY_Ptr);
|
|
470
|
-
const DIMLDRBLK_Ptr = libredwg.dwg_dynapi_entity_value(item, 'DIMLDRBLK')
|
|
471
|
-
.data;
|
|
472
|
-
const DIMLDRBLK = libredwg.dwg_ref_get_absref(DIMLDRBLK_Ptr);
|
|
312
|
+
const DIMTOL = libredwg.dwg_dynapi_entity_data(item, 'DIMTOL');
|
|
313
|
+
const DIMLIM = libredwg.dwg_dynapi_entity_data(item, 'DIMLIM');
|
|
314
|
+
const DIMTIH = libredwg.dwg_dynapi_entity_data(item, 'DIMTIH');
|
|
315
|
+
const DIMTOH = libredwg.dwg_dynapi_entity_data(item, 'DIMTOH');
|
|
316
|
+
const DIMSE1 = libredwg.dwg_dynapi_entity_data(item, 'DIMSE1');
|
|
317
|
+
const DIMSE2 = libredwg.dwg_dynapi_entity_data(item, 'DIMSE2');
|
|
318
|
+
const DIMALT = libredwg.dwg_dynapi_entity_data(item, 'DIMALT');
|
|
319
|
+
const DIMTOFL = libredwg.dwg_dynapi_entity_data(item, 'DIMTOFL');
|
|
320
|
+
const DIMSAH = libredwg.dwg_dynapi_entity_data(item, 'DIMSAH');
|
|
321
|
+
const DIMTIX = libredwg.dwg_dynapi_entity_data(item, 'DIMTIX');
|
|
322
|
+
const DIMSOXD = libredwg.dwg_dynapi_entity_data(item, 'DIMSOXD');
|
|
323
|
+
const DIMALTD = libredwg.dwg_dynapi_entity_data(item, 'DIMALTD');
|
|
324
|
+
const DIMZIN = libredwg.dwg_dynapi_entity_data(item, 'DIMZIN');
|
|
325
|
+
const DIMSD1 = libredwg.dwg_dynapi_entity_data(item, 'DIMSD1');
|
|
326
|
+
const DIMSD2 = libredwg.dwg_dynapi_entity_data(item, 'DIMSD2');
|
|
327
|
+
const DIMTOLJ = libredwg.dwg_dynapi_entity_data(item, 'DIMTOLJ');
|
|
328
|
+
const DIMJUST = libredwg.dwg_dynapi_entity_data(item, 'DIMJUST');
|
|
329
|
+
const DIMFIT = libredwg.dwg_dynapi_entity_data(item, 'DIMFIT');
|
|
330
|
+
const DIMUPT = libredwg.dwg_dynapi_entity_data(item, 'DIMUPT');
|
|
331
|
+
const DIMTZIN = libredwg.dwg_dynapi_entity_data(item, 'DIMTZIN');
|
|
332
|
+
const DIMALTZ = libredwg.dwg_dynapi_entity_data(item, 'DIMALTZ');
|
|
333
|
+
const DIMALTTZ = libredwg.dwg_dynapi_entity_data(item, 'DIMALTTZ');
|
|
334
|
+
const DIMTAD = libredwg.dwg_dynapi_entity_data(item, 'DIMTAD');
|
|
335
|
+
const DIMUNIT = libredwg.dwg_dynapi_entity_data(item, 'DIMUNIT');
|
|
336
|
+
const DIMAUNIT = libredwg.dwg_dynapi_entity_data(item, 'DIMAUNIT');
|
|
337
|
+
const DIMDEC = libredwg.dwg_dynapi_entity_data(item, 'DIMDEC');
|
|
338
|
+
const DIMTDEC = libredwg.dwg_dynapi_entity_data(item, 'DIMTDEC');
|
|
339
|
+
const DIMALTU = libredwg.dwg_dynapi_entity_data(item, 'DIMALTU');
|
|
340
|
+
const DIMALTTD = libredwg.dwg_dynapi_entity_data(item, 'DIMALTTD');
|
|
341
|
+
const DIMSCALE = libredwg.dwg_dynapi_entity_data(item, 'DIMSCALE');
|
|
342
|
+
const DIMASZ = libredwg.dwg_dynapi_entity_data(item, 'DIMASZ');
|
|
343
|
+
const DIMEXO = libredwg.dwg_dynapi_entity_data(item, 'DIMEXO');
|
|
344
|
+
const DIMDLI = libredwg.dwg_dynapi_entity_data(item, 'DIMDLI');
|
|
345
|
+
const DIMEXE = libredwg.dwg_dynapi_entity_data(item, 'DIMEXE');
|
|
346
|
+
const DIMRND = libredwg.dwg_dynapi_entity_data(item, 'DIMRND');
|
|
347
|
+
const DIMDLE = libredwg.dwg_dynapi_entity_data(item, 'DIMDLE');
|
|
348
|
+
const DIMTP = libredwg.dwg_dynapi_entity_data(item, 'DIMTP');
|
|
349
|
+
const DIMTM = libredwg.dwg_dynapi_entity_data(item, 'DIMTM');
|
|
350
|
+
const DIMFXL = libredwg.dwg_dynapi_entity_data(item, 'DIMFXL');
|
|
351
|
+
const DIMJOGANG = libredwg.dwg_dynapi_entity_data(item, 'DIMJOGANG');
|
|
352
|
+
const DIMTFILL = libredwg.dwg_dynapi_entity_data(item, 'DIMTFILL');
|
|
353
|
+
const DIMTFILLCLR = libredwg.dwg_dynapi_entity_data(item, 'DIMTFILLCLR');
|
|
354
|
+
const DIMAZIN = libredwg.dwg_dynapi_entity_data(item, 'DIMAZIN');
|
|
355
|
+
const DIMARCSYM = libredwg.dwg_dynapi_entity_data(item, 'DIMARCSYM');
|
|
356
|
+
const DIMTXT = libredwg.dwg_dynapi_entity_data(item, 'DIMTXT');
|
|
357
|
+
const DIMCEN = libredwg.dwg_dynapi_entity_data(item, 'DIMCEN');
|
|
358
|
+
const DIMTSZ = libredwg.dwg_dynapi_entity_data(item, 'DIMTSZ');
|
|
359
|
+
const DIMALTF = libredwg.dwg_dynapi_entity_data(item, 'DIMALTF');
|
|
360
|
+
const DIMLFAC = libredwg.dwg_dynapi_entity_data(item, 'DIMLFAC');
|
|
361
|
+
const DIMTVP = libredwg.dwg_dynapi_entity_data(item, 'DIMTVP');
|
|
362
|
+
const DIMTFAC = libredwg.dwg_dynapi_entity_data(item, 'DIMTFAC');
|
|
363
|
+
const DIMGAP = libredwg.dwg_dynapi_entity_data(item, 'DIMGAP');
|
|
364
|
+
const DIMPOST = libredwg.dwg_dynapi_entity_data(item, 'DIMPOST');
|
|
365
|
+
const DIMAPOST = libredwg.dwg_dynapi_entity_data(item, 'DIMAPOST');
|
|
366
|
+
const DIMBLK_T = libredwg.dwg_dynapi_entity_data(item, 'DIMBLK_T');
|
|
367
|
+
const DIMBLK1_T = libredwg.dwg_dynapi_entity_data(item, 'DIMBLK1_T');
|
|
368
|
+
const DIMBLK2_T = libredwg.dwg_dynapi_entity_data(item, 'DIMBLK2_T');
|
|
369
|
+
const DIMALTRND = libredwg.dwg_dynapi_entity_data(item, 'DIMALTRND');
|
|
370
|
+
const DIMCLRD_N = libredwg.dwg_dynapi_entity_data(item, 'DIMCLRD_N');
|
|
371
|
+
const DIMCLRE_N = libredwg.dwg_dynapi_entity_data(item, 'DIMCLRE_N');
|
|
372
|
+
const DIMCLRT_N = libredwg.dwg_dynapi_entity_data(item, 'DIMCLRT_N');
|
|
373
|
+
const DIMCLRD = libredwg.dwg_dynapi_entity_data(item, 'DIMCLRD');
|
|
374
|
+
const DIMCLRE = libredwg.dwg_dynapi_entity_data(item, 'DIMCLRE');
|
|
375
|
+
const DIMCLRT = libredwg.dwg_dynapi_entity_data(item, 'DIMCLRT');
|
|
376
|
+
const DIMADEC = libredwg.dwg_dynapi_entity_data(item, 'DIMADEC');
|
|
377
|
+
const DIMFRAC = libredwg.dwg_dynapi_entity_data(item, 'DIMFRAC');
|
|
378
|
+
const DIMLUNIT = libredwg.dwg_dynapi_entity_data(item, 'DIMLUNIT');
|
|
379
|
+
const DIMDSEP = libredwg.dwg_dynapi_entity_data(item, 'DIMDSEP');
|
|
380
|
+
const DIMTMOVE = libredwg.dwg_dynapi_entity_data(item, 'DIMTMOVE');
|
|
381
|
+
const DIMATFIT = libredwg.dwg_dynapi_entity_data(item, 'DIMATFIT');
|
|
382
|
+
const DIMFXLON = libredwg.dwg_dynapi_entity_data(item, 'DIMFXLON');
|
|
383
|
+
const DIMTXTDIRECTION = libredwg.dwg_dynapi_entity_data(item, 'DIMTXTDIRECTION');
|
|
384
|
+
const DIMALTMZF = libredwg.dwg_dynapi_entity_data(item, 'DIMALTMZF');
|
|
385
|
+
const DIMALTMZS = libredwg.dwg_dynapi_entity_data(item, 'DIMALTMZS');
|
|
386
|
+
const DIMMZF = libredwg.dwg_dynapi_entity_data(item, 'DIMMZF');
|
|
387
|
+
const DIMMZS = libredwg.dwg_dynapi_entity_data(item, 'DIMMZS');
|
|
388
|
+
const DIMLWD = libredwg.dwg_dynapi_entity_data(item, 'DIMLWD');
|
|
389
|
+
const DIMLWE = libredwg.dwg_dynapi_entity_data(item, 'DIMLWE');
|
|
390
|
+
const DIMTXSTY_Ptr = libredwg.dwg_dynapi_entity_data(item, 'DIMTXSTY');
|
|
391
|
+
const DIMTXSTY = libredwg.dwg_ref_get_absref(DIMTXSTY_Ptr) ?? undefined;
|
|
392
|
+
const DIMLDRBLK_Ptr = libredwg.dwg_dynapi_entity_data(item, 'DIMLDRBLK');
|
|
393
|
+
const DIMLDRBLK = libredwg.dwg_ref_get_absref(DIMLDRBLK_Ptr) ?? undefined;
|
|
473
394
|
return {
|
|
474
395
|
...commonAttrs,
|
|
475
396
|
DIMPOST: DIMPOST,
|
|
@@ -557,22 +478,15 @@ export class LibreDwgConverter {
|
|
|
557
478
|
convertLayer(item, obj) {
|
|
558
479
|
const libredwg = this.libredwg;
|
|
559
480
|
const commonAttrs = this.getCommonTableEntryAttrs(item, obj);
|
|
560
|
-
const flag = libredwg.
|
|
561
|
-
const frozen = libredwg.
|
|
562
|
-
|
|
563
|
-
const
|
|
564
|
-
const
|
|
565
|
-
|
|
566
|
-
const
|
|
567
|
-
|
|
568
|
-
const
|
|
569
|
-
.data;
|
|
570
|
-
const linewt = libredwg.dwg_dynapi_entity_value(item, 'linewt')
|
|
571
|
-
.data;
|
|
572
|
-
const color = libredwg.dwg_dynapi_entity_value(item, 'color')
|
|
573
|
-
.data;
|
|
574
|
-
const ltypeRef = libredwg.dwg_dynapi_entity_value(item, 'ltype')
|
|
575
|
-
.data;
|
|
481
|
+
const flag = libredwg.dwg_dynapi_entity_data(item, 'flag');
|
|
482
|
+
const frozen = libredwg.dwg_dynapi_entity_data(item, 'frozen');
|
|
483
|
+
const off = libredwg.dwg_dynapi_entity_data(item, 'off');
|
|
484
|
+
const frozenInNew = libredwg.dwg_dynapi_entity_data(item, 'frozen_in_new');
|
|
485
|
+
const locked = libredwg.dwg_dynapi_entity_data(item, 'plotflockedlag');
|
|
486
|
+
const plotFlag = libredwg.dwg_dynapi_entity_data(item, 'plotflag');
|
|
487
|
+
const linewt = libredwg.dwg_dynapi_entity_data(item, 'linewt');
|
|
488
|
+
const color = libredwg.dwg_dynapi_entity_data(item, 'color');
|
|
489
|
+
const ltypeRef = libredwg.dwg_dynapi_entity_data(item, 'ltype');
|
|
576
490
|
let ltypeName = 'Continuous';
|
|
577
491
|
if (ltypeRef) {
|
|
578
492
|
try {
|
|
@@ -623,15 +537,11 @@ export class LibreDwgConverter {
|
|
|
623
537
|
convertLineType(item, obj) {
|
|
624
538
|
const libredwg = this.libredwg;
|
|
625
539
|
const commonAttrs = this.getCommonTableEntryAttrs(item, obj);
|
|
626
|
-
const flag = libredwg.
|
|
627
|
-
const description = libredwg.
|
|
628
|
-
|
|
629
|
-
const
|
|
630
|
-
|
|
631
|
-
const patternLen = libredwg.dwg_dynapi_entity_value(item, 'pattern_len')
|
|
632
|
-
.data;
|
|
633
|
-
const dashes = libredwg.dwg_dynapi_entity_value(item, 'dashes')
|
|
634
|
-
.data;
|
|
540
|
+
const flag = libredwg.dwg_dynapi_entity_data(item, 'flag');
|
|
541
|
+
const description = libredwg.dwg_dynapi_entity_data(item, 'description');
|
|
542
|
+
const numDashes = libredwg.dwg_dynapi_entity_data(item, 'numdashes');
|
|
543
|
+
const patternLen = libredwg.dwg_dynapi_entity_data(item, 'pattern_len');
|
|
544
|
+
const dashes = libredwg.dwg_dynapi_entity_data(item, 'dashes');
|
|
635
545
|
const dashArray = dashes
|
|
636
546
|
? libredwg.dwg_ptr_to_ltype_dash_array(dashes, numDashes)
|
|
637
547
|
: [];
|
|
@@ -665,19 +575,13 @@ export class LibreDwgConverter {
|
|
|
665
575
|
convertStyle(item, obj) {
|
|
666
576
|
const libredwg = this.libredwg;
|
|
667
577
|
const commonAttrs = this.getCommonTableEntryAttrs(item, obj);
|
|
668
|
-
const standardFlag = libredwg.
|
|
669
|
-
|
|
670
|
-
const
|
|
671
|
-
|
|
672
|
-
const
|
|
673
|
-
|
|
674
|
-
const
|
|
675
|
-
const lastHeight = libredwg.dwg_dynapi_entity_value(item, 'last_height')
|
|
676
|
-
.data;
|
|
677
|
-
const font = libredwg.dwg_dynapi_entity_value(item, 'font_file')
|
|
678
|
-
.data;
|
|
679
|
-
const bigFont = libredwg.dwg_dynapi_entity_value(item, 'bigfont_file')
|
|
680
|
-
.data;
|
|
578
|
+
const standardFlag = libredwg.dwg_dynapi_entity_data(item, 'flag');
|
|
579
|
+
const widthFactor = libredwg.dwg_dynapi_entity_data(item, 'width_factor');
|
|
580
|
+
const obliqueAngle = libredwg.dwg_dynapi_entity_data(item, 'oblique_angle');
|
|
581
|
+
const textGenerationFlag = libredwg.dwg_dynapi_entity_data(item, 'generation');
|
|
582
|
+
const lastHeight = libredwg.dwg_dynapi_entity_data(item, 'last_height');
|
|
583
|
+
const font = libredwg.dwg_dynapi_entity_data(item, 'font_file');
|
|
584
|
+
const bigFont = libredwg.dwg_dynapi_entity_data(item, 'bigfont_file');
|
|
681
585
|
return {
|
|
682
586
|
...commonAttrs,
|
|
683
587
|
standardFlag: standardFlag,
|
|
@@ -693,73 +597,47 @@ export class LibreDwgConverter {
|
|
|
693
597
|
convertViewport(item, obj) {
|
|
694
598
|
const libredwg = this.libredwg;
|
|
695
599
|
const commonAttrs = this.getCommonTableEntryAttrs(item, obj);
|
|
696
|
-
const standardFlag = libredwg.
|
|
697
|
-
|
|
698
|
-
const
|
|
699
|
-
|
|
700
|
-
const
|
|
701
|
-
|
|
702
|
-
const
|
|
703
|
-
|
|
704
|
-
const
|
|
705
|
-
|
|
706
|
-
const
|
|
707
|
-
const
|
|
708
|
-
|
|
709
|
-
const
|
|
710
|
-
|
|
711
|
-
const
|
|
712
|
-
const
|
|
713
|
-
const viewMode = libredwg.dwg_dynapi_entity_value(item, 'VIEWMODE')
|
|
714
|
-
.data;
|
|
715
|
-
const renderMode = libredwg.dwg_dynapi_entity_value(item, 'render_mode')
|
|
716
|
-
.data;
|
|
717
|
-
const isDefaultLightingOn = libredwg.dwg_dynapi_entity_value(item, 'use_default_lights')
|
|
718
|
-
.data != 0;
|
|
719
|
-
const defaultLightningType = libredwg.dwg_dynapi_entity_value(item, 'default_lightning_type').data;
|
|
720
|
-
const brightness = libredwg.dwg_dynapi_entity_value(item, 'brightness')
|
|
721
|
-
.data;
|
|
722
|
-
const contrast = libredwg.dwg_dynapi_entity_value(item, 'contrast')
|
|
723
|
-
.data;
|
|
724
|
-
const ambient_color = libredwg.dwg_dynapi_entity_value(item, 'ambient_color').data;
|
|
600
|
+
const standardFlag = libredwg.dwg_dynapi_entity_data(item, 'flag');
|
|
601
|
+
const viewHeight = libredwg.dwg_dynapi_entity_data(item, 'VIEWSIZE');
|
|
602
|
+
const aspectRatio = libredwg.dwg_dynapi_entity_data(item, 'aspect_ratio');
|
|
603
|
+
const center = libredwg.dwg_dynapi_entity_data(item, 'VIEWCTR');
|
|
604
|
+
const viewTarget = libredwg.dwg_dynapi_entity_data(item, 'view_target');
|
|
605
|
+
const viewDirectionFromTarget = libredwg.dwg_dynapi_entity_data(item, 'VIEWDIR');
|
|
606
|
+
const viewTwistAngle = libredwg.dwg_dynapi_entity_data(item, 'view_twist');
|
|
607
|
+
const lensLength = libredwg.dwg_dynapi_entity_data(item, 'lens_length');
|
|
608
|
+
const frontClippingPlane = libredwg.dwg_dynapi_entity_data(item, 'front_clip_z');
|
|
609
|
+
const backClippingPlane = libredwg.dwg_dynapi_entity_data(item, 'back_clip_z');
|
|
610
|
+
const viewMode = libredwg.dwg_dynapi_entity_data(item, 'VIEWMODE');
|
|
611
|
+
const renderMode = libredwg.dwg_dynapi_entity_data(item, 'render_mode');
|
|
612
|
+
const isDefaultLightingOn = libredwg.dwg_dynapi_entity_data(item, 'use_default_lights') != 0;
|
|
613
|
+
const defaultLightningType = libredwg.dwg_dynapi_entity_data(item, 'default_lightning_type');
|
|
614
|
+
const brightness = libredwg.dwg_dynapi_entity_data(item, 'brightness');
|
|
615
|
+
const contrast = libredwg.dwg_dynapi_entity_data(item, 'contrast');
|
|
616
|
+
const ambient_color = libredwg.dwg_dynapi_entity_data(item, 'ambient_color');
|
|
725
617
|
// ViewportTableRecord
|
|
726
|
-
const lowerLeftCorner = libredwg.
|
|
727
|
-
|
|
728
|
-
const upperRightCorner = libredwg.dwg_dynapi_entity_value(item, 'upper_right').data;
|
|
618
|
+
const lowerLeftCorner = libredwg.dwg_dynapi_entity_data(item, 'lower_left');
|
|
619
|
+
const upperRightCorner = libredwg.dwg_dynapi_entity_data(item, 'upper_right');
|
|
729
620
|
// TODO: Not sure whether 'circleSides' is equal to 'circle_zoom'
|
|
730
|
-
const circleSides = libredwg.
|
|
731
|
-
|
|
732
|
-
const ucsIconSetting = libredwg.dwg_dynapi_entity_value(item, 'UCSICON')
|
|
733
|
-
.data;
|
|
621
|
+
const circleSides = libredwg.dwg_dynapi_entity_data(item, 'circle_zoom');
|
|
622
|
+
const ucsIconSetting = libredwg.dwg_dynapi_entity_data(item, 'UCSICON');
|
|
734
623
|
// TODO: Not sure whether 'gridSpacing' is equal to 'GRIDUNIT'
|
|
735
|
-
const gridSpacing = libredwg.
|
|
736
|
-
|
|
737
|
-
const
|
|
738
|
-
.data;
|
|
739
|
-
const snapBasePoint = libredwg.dwg_dynapi_entity_value(item, 'SNAPBASE')
|
|
740
|
-
.data;
|
|
624
|
+
const gridSpacing = libredwg.dwg_dynapi_entity_data(item, 'GRIDUNIT');
|
|
625
|
+
const snapRotationAngle = libredwg.dwg_dynapi_entity_data(item, 'SNAPANG');
|
|
626
|
+
const snapBasePoint = libredwg.dwg_dynapi_entity_data(item, 'SNAPBASE');
|
|
741
627
|
// TODO: Not sure whether 'snapSpacing' is equal to 'SNAPUNIT'
|
|
742
|
-
const snapSpacing = libredwg.
|
|
743
|
-
|
|
744
|
-
const
|
|
745
|
-
|
|
746
|
-
const
|
|
747
|
-
|
|
748
|
-
const
|
|
749
|
-
.data;
|
|
750
|
-
const elevation = libredwg.dwg_dynapi_entity_value(item, 'ucs_elevation')
|
|
751
|
-
.data;
|
|
752
|
-
const majorGridLines = libredwg.dwg_dynapi_entity_value(item, 'grid_major')
|
|
753
|
-
.data;
|
|
754
|
-
const background = libredwg.dwg_dynapi_entity_value(item, 'background')
|
|
755
|
-
.data;
|
|
628
|
+
const snapSpacing = libredwg.dwg_dynapi_entity_data(item, 'SNAPUNIT');
|
|
629
|
+
const ucsOrigin = libredwg.dwg_dynapi_entity_data(item, 'ucsorg');
|
|
630
|
+
const ucsXAxis = libredwg.dwg_dynapi_entity_data(item, 'ucsxdir');
|
|
631
|
+
const ucsYAxis = libredwg.dwg_dynapi_entity_data(item, 'ucsydir');
|
|
632
|
+
const elevation = libredwg.dwg_dynapi_entity_data(item, 'ucs_elevation');
|
|
633
|
+
const majorGridLines = libredwg.dwg_dynapi_entity_data(item, 'grid_major');
|
|
634
|
+
const background = libredwg.dwg_dynapi_entity_data(item, 'background');
|
|
756
635
|
const backgroundObjectId = background
|
|
757
|
-
?
|
|
636
|
+
? (libredwg.dwg_ref_get_id(background) ?? '')
|
|
758
637
|
: undefined;
|
|
759
|
-
const visualstyle = libredwg.
|
|
760
|
-
.data;
|
|
638
|
+
const visualstyle = libredwg.dwg_dynapi_entity_data(item, 'visualstyle');
|
|
761
639
|
const visualStyleObjectId = visualstyle
|
|
762
|
-
?
|
|
640
|
+
? (libredwg.dwg_ref_get_id(visualstyle) ?? '')
|
|
763
641
|
: undefined;
|
|
764
642
|
// BITCODE_B UCSFOLLOW;
|
|
765
643
|
// BITCODE_B FASTZOOM;
|
|
@@ -824,19 +702,16 @@ export class LibreDwgConverter {
|
|
|
824
702
|
return {
|
|
825
703
|
handle: idToString(handle.value),
|
|
826
704
|
ownerHandle: idToString(ownerhandle.absolute_ref),
|
|
827
|
-
name: libredwg.
|
|
705
|
+
name: libredwg.dwg_dynapi_entity_data(tio, 'name')
|
|
828
706
|
};
|
|
829
707
|
}
|
|
830
708
|
convertDictionary(item, obj) {
|
|
831
709
|
const libredwg = this.libredwg;
|
|
832
710
|
const commonAttrs = this.getCommonObjectAttrs(obj);
|
|
833
|
-
const isHardOwner = libredwg.
|
|
834
|
-
|
|
835
|
-
const
|
|
836
|
-
|
|
837
|
-
const numitems = libredwg.dwg_dynapi_entity_value(item, 'numitems')
|
|
838
|
-
.data;
|
|
839
|
-
const itemhandles_ptr = libredwg.dwg_dynapi_entity_value(item, 'itemhandles').data;
|
|
711
|
+
const isHardOwner = libredwg.dwg_dynapi_entity_data(item, 'is_hardowner');
|
|
712
|
+
const cloningFlag = libredwg.dwg_dynapi_entity_data(item, 'cloning');
|
|
713
|
+
const numitems = libredwg.dwg_dynapi_entity_data(item, 'numitems');
|
|
714
|
+
const itemhandles_ptr = libredwg.dwg_dynapi_entity_data(item, 'itemhandles');
|
|
840
715
|
const itemhandles = libredwg.dwg_ptr_to_object_ref_array(itemhandles_ptr, numitems);
|
|
841
716
|
const texts = libredwg.dwg_object_dictionary_get_texts(obj);
|
|
842
717
|
const entries = {};
|
|
@@ -851,17 +726,12 @@ export class LibreDwgConverter {
|
|
|
851
726
|
convertImageDef(item, obj) {
|
|
852
727
|
const libredwg = this.libredwg;
|
|
853
728
|
const commonAttrs = this.getCommonObjectAttrs(obj);
|
|
854
|
-
// const classVersion = libredwg.
|
|
855
|
-
const size = libredwg.
|
|
856
|
-
|
|
857
|
-
const
|
|
858
|
-
|
|
859
|
-
const
|
|
860
|
-
.data;
|
|
861
|
-
const sizeOfOnePixel = libredwg.dwg_dynapi_entity_value(item, 'pixel_size')
|
|
862
|
-
.data;
|
|
863
|
-
const resolutionUnits = libredwg.dwg_dynapi_entity_value(item, 'resunits')
|
|
864
|
-
.data;
|
|
729
|
+
// const classVersion = libredwg.dwg_dynapi_entity_data<number>(item, 'class_version')
|
|
730
|
+
const size = libredwg.dwg_dynapi_entity_data(item, 'image_size');
|
|
731
|
+
const fileName = libredwg.dwg_dynapi_entity_data(item, 'file_path');
|
|
732
|
+
const isLoaded = libredwg.dwg_dynapi_entity_data(item, 'is_loaded');
|
|
733
|
+
const sizeOfOnePixel = libredwg.dwg_dynapi_entity_data(item, 'pixel_size');
|
|
734
|
+
const resolutionUnits = libredwg.dwg_dynapi_entity_data(item, 'resunits');
|
|
865
735
|
return {
|
|
866
736
|
...commonAttrs,
|
|
867
737
|
fileName: fileName,
|
|
@@ -875,39 +745,26 @@ export class LibreDwgConverter {
|
|
|
875
745
|
const libredwg = this.libredwg;
|
|
876
746
|
const commonAttrs = this.getCommonObjectAttrs(obj);
|
|
877
747
|
// AcDbLayout
|
|
878
|
-
const layoutName = libredwg.
|
|
879
|
-
|
|
880
|
-
const
|
|
881
|
-
|
|
882
|
-
const
|
|
883
|
-
|
|
884
|
-
const
|
|
885
|
-
|
|
886
|
-
const
|
|
887
|
-
|
|
888
|
-
const
|
|
889
|
-
|
|
890
|
-
const
|
|
891
|
-
|
|
892
|
-
const
|
|
893
|
-
|
|
894
|
-
const
|
|
895
|
-
|
|
896
|
-
const orthographicType = libredwg.dwg_dynapi_entity_value(item, 'UCSORTHOVIEW').data;
|
|
897
|
-
const minExtent = libredwg.dwg_dynapi_entity_value(item, 'EXTMIN')
|
|
898
|
-
.data;
|
|
899
|
-
const maxExtent = libredwg.dwg_dynapi_entity_value(item, 'EXTMAX')
|
|
900
|
-
.data;
|
|
901
|
-
const elevation = libredwg.dwg_dynapi_entity_value(item, 'ucs_elevation')
|
|
902
|
-
.data;
|
|
903
|
-
const block_header_ref = libredwg.dwg_dynapi_entity_value(item, 'block_header').data;
|
|
904
|
-
const paperSpaceTableId = idToString(libredwg.dwg_ref_get_absref(block_header_ref));
|
|
905
|
-
const active_viewport_ref = libredwg.dwg_dynapi_entity_value(item, 'active_viewport').data;
|
|
906
|
-
const viewportId = idToString(libredwg.dwg_ref_get_absref(active_viewport_ref));
|
|
907
|
-
const named_ucs_ref = libredwg.dwg_dynapi_entity_value(item, 'named_ucs')
|
|
908
|
-
.data;
|
|
748
|
+
const layoutName = libredwg.dwg_dynapi_entity_data(item, 'layout_name');
|
|
749
|
+
const tabOrder = libredwg.dwg_dynapi_entity_data(item, 'tab_order');
|
|
750
|
+
const controlFlag = libredwg.dwg_dynapi_entity_data(item, 'layout_flags');
|
|
751
|
+
const insertionPoint = libredwg.dwg_dynapi_entity_data(item, 'INSBASE');
|
|
752
|
+
const minLimit = libredwg.dwg_dynapi_entity_data(item, 'LIMMIN');
|
|
753
|
+
const maxLimit = libredwg.dwg_dynapi_entity_data(item, 'LIMMAX');
|
|
754
|
+
const ucsOrigin = libredwg.dwg_dynapi_entity_data(item, 'UCSORG');
|
|
755
|
+
const ucsXAxis = libredwg.dwg_dynapi_entity_data(item, 'UCSXDIR');
|
|
756
|
+
const ucsYAxis = libredwg.dwg_dynapi_entity_data(item, 'UCSYDIR');
|
|
757
|
+
const orthographicType = libredwg.dwg_dynapi_entity_data(item, 'UCSORTHOVIEW');
|
|
758
|
+
const minExtent = libredwg.dwg_dynapi_entity_data(item, 'EXTMIN');
|
|
759
|
+
const maxExtent = libredwg.dwg_dynapi_entity_data(item, 'EXTMAX');
|
|
760
|
+
const elevation = libredwg.dwg_dynapi_entity_data(item, 'ucs_elevation');
|
|
761
|
+
const block_header_ref = libredwg.dwg_dynapi_entity_data(item, 'block_header');
|
|
762
|
+
const paperSpaceTableId = (libredwg.dwg_ref_get_id(block_header_ref) ?? '');
|
|
763
|
+
const active_viewport_ref = libredwg.dwg_dynapi_entity_data(item, 'active_viewport');
|
|
764
|
+
const viewportId = (libredwg.dwg_ref_get_id(active_viewport_ref) ?? '');
|
|
765
|
+
const named_ucs_ref = libredwg.dwg_dynapi_entity_data(item, 'named_ucs');
|
|
909
766
|
const namedUcsId = named_ucs_ref
|
|
910
|
-
?
|
|
767
|
+
? (libredwg.dwg_ref_get_id(named_ucs_ref) ?? '')
|
|
911
768
|
: undefined;
|
|
912
769
|
// BITCODE_H base_ucs;
|
|
913
770
|
// BITCODE_BL num_viewports; // r2004+
|
|
@@ -934,25 +791,78 @@ export class LibreDwgConverter {
|
|
|
934
791
|
shadePlotId: '' // TODO: Set the correct value
|
|
935
792
|
};
|
|
936
793
|
}
|
|
794
|
+
convertMLeaderStyle(item, obj) {
|
|
795
|
+
const libredwg = this.libredwg;
|
|
796
|
+
const commonAttrs = this.getCommonObjectAttrs(obj);
|
|
797
|
+
const objectVal = (field) => libredwg.dwg_dynapi_entity_data(item, field);
|
|
798
|
+
const refToId = (ref) => libredwg.dwg_ref_get_id(ref);
|
|
799
|
+
const asBool = (value) => value > 0;
|
|
800
|
+
const mleaderColor = (color) => color != null ? dwgColorToMLeaderRawColor(color) : undefined;
|
|
801
|
+
return {
|
|
802
|
+
...commonAttrs,
|
|
803
|
+
subclassMarker: 'AcDbMLeaderStyle',
|
|
804
|
+
unknown1: objectVal('class_version'),
|
|
805
|
+
contentType: objectVal('content_type'),
|
|
806
|
+
drawMLeaderOrderType: objectVal('mleader_order'),
|
|
807
|
+
drawLeaderOrderType: objectVal('leader_order'),
|
|
808
|
+
maxLeaderSegmentPoints: objectVal('max_points'),
|
|
809
|
+
firstSegmentAngleConstraint: objectVal('first_seg_angle'),
|
|
810
|
+
secondSegmentAngleConstraint: objectVal('second_seg_angle'),
|
|
811
|
+
leaderLineType: objectVal('type'),
|
|
812
|
+
leaderLineColor: mleaderColor(objectVal('line_color')),
|
|
813
|
+
leaderLineTypeId: refToId(objectVal('line_type')),
|
|
814
|
+
leaderLineWeight: objectVal('linewt'),
|
|
815
|
+
landingEnabled: asBool(objectVal('has_landing')),
|
|
816
|
+
landingGap: objectVal('landing_gap'),
|
|
817
|
+
doglegEnabled: asBool(objectVal('has_dogleg')),
|
|
818
|
+
doglegLength: objectVal('landing_dist'),
|
|
819
|
+
description: objectVal('description'),
|
|
820
|
+
arrowheadId: refToId(objectVal('arrow_head')),
|
|
821
|
+
arrowheadSize: objectVal('arrow_head_size'),
|
|
822
|
+
defaultMTextContents: objectVal('text_default'),
|
|
823
|
+
textStyleId: refToId(objectVal('text_style')),
|
|
824
|
+
textLeftAttachmentType: objectVal('attach_left'),
|
|
825
|
+
textAngleType: objectVal('text_angle_type'),
|
|
826
|
+
textAlignmentType: objectVal('text_align_type'),
|
|
827
|
+
textRightAttachmentType: objectVal('attach_right'),
|
|
828
|
+
textColor: mleaderColor(objectVal('text_color')),
|
|
829
|
+
textHeight: objectVal('text_height'),
|
|
830
|
+
textFrameEnabled: asBool(objectVal('has_text_frame')),
|
|
831
|
+
textAlignAlwaysLeft: asBool(objectVal('text_always_left')),
|
|
832
|
+
alignSpace: objectVal('align_space'),
|
|
833
|
+
blockContentId: refToId(objectVal('block')),
|
|
834
|
+
blockContentColor: mleaderColor(objectVal('block_color')),
|
|
835
|
+
blockContentScale: objectVal('block_scale'),
|
|
836
|
+
blockContentScaleEnabled: asBool(objectVal('use_block_scale')),
|
|
837
|
+
blockContentRotation: objectVal('block_rotation'),
|
|
838
|
+
blockContentRotationEnabled: asBool(objectVal('use_block_rotation')),
|
|
839
|
+
blockContentConnectionType: objectVal('block_connection'),
|
|
840
|
+
scale: objectVal('scale'),
|
|
841
|
+
overwritePropertyValue: asBool(objectVal('is_changed')),
|
|
842
|
+
annotative: asBool(objectVal('is_annotative')),
|
|
843
|
+
breakGapSize: objectVal('break_size'),
|
|
844
|
+
textAttachmentDirection: objectVal('attach_dir'),
|
|
845
|
+
bottomTextAttachmentDirection: objectVal('attach_bottom'),
|
|
846
|
+
topTextAttachmentDirection: objectVal('attach_top'),
|
|
847
|
+
unknown2: asBool(objectVal('text_extended'))
|
|
848
|
+
};
|
|
849
|
+
}
|
|
937
850
|
convertSpatialFilter(item, obj) {
|
|
938
851
|
const libredwg = this.libredwg;
|
|
939
852
|
const commonAttrs = this.getCommonObjectAttrs(obj);
|
|
940
|
-
const origin = libredwg.
|
|
941
|
-
|
|
942
|
-
const
|
|
943
|
-
const clip_verts_ptr = libredwg.dwg_dynapi_entity_value(item, 'clip_verts')
|
|
944
|
-
.data;
|
|
853
|
+
const origin = libredwg.dwg_dynapi_entity_data(item, 'origin');
|
|
854
|
+
const numberOfPointsOnClipBoundary = libredwg.dwg_dynapi_entity_data(item, 'num_clip_verts');
|
|
855
|
+
const clip_verts_ptr = libredwg.dwg_dynapi_entity_data(item, 'clip_verts');
|
|
945
856
|
const vertices = libredwg.dwg_ptr_to_point2d_array(clip_verts_ptr, numberOfPointsOnClipBoundary);
|
|
946
|
-
const extrusionDirection = libredwg.
|
|
947
|
-
const clipBoundaryVisible = libredwg.
|
|
948
|
-
const frontClippingPlaneFlag = libredwg.
|
|
949
|
-
const frontClippingPlaneDistance = libredwg.
|
|
950
|
-
const backClippingPlaneFlag = libredwg.
|
|
951
|
-
const backClippingPlaneDistance = libredwg.
|
|
952
|
-
const transform_ptr = libredwg.
|
|
953
|
-
.data;
|
|
857
|
+
const extrusionDirection = libredwg.dwg_dynapi_entity_data(item, 'extrusion');
|
|
858
|
+
const clipBoundaryVisible = libredwg.dwg_dynapi_entity_data(item, 'display_boundary_on');
|
|
859
|
+
const frontClippingPlaneFlag = libredwg.dwg_dynapi_entity_data(item, 'front_clip_on');
|
|
860
|
+
const frontClippingPlaneDistance = libredwg.dwg_dynapi_entity_data(item, 'front_clip_z');
|
|
861
|
+
const backClippingPlaneFlag = libredwg.dwg_dynapi_entity_data(item, 'back_clip_on');
|
|
862
|
+
const backClippingPlaneDistance = libredwg.dwg_dynapi_entity_data(item, 'back_clip_z');
|
|
863
|
+
const transform_ptr = libredwg.dwg_dynapi_entity_data(item, 'transform');
|
|
954
864
|
const matrix = libredwg.dwg_ptr_to_double_array(transform_ptr, 12);
|
|
955
|
-
const inverse_transform_ptr = libredwg.
|
|
865
|
+
const inverse_transform_ptr = libredwg.dwg_dynapi_entity_data(item, 'inverse_transform');
|
|
956
866
|
const invertBlockMatrix = libredwg.dwg_ptr_to_double_array(inverse_transform_ptr, 12);
|
|
957
867
|
return {
|
|
958
868
|
...commonAttrs,
|