abstract-image 13.0.5 → 13.0.7

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.
@@ -5,6 +5,9 @@ export declare const DXF_DATA_URL = "data:application/dxf,";
5
5
  export declare const DXF_ENTITIES: string[];
6
6
  export type DxfOptions = {
7
7
  readonly imageDataByUrl: Record<string, `${typeof DXF_DATA_URL}${string}`>;
8
+ readonly fillPolygons?: boolean;
9
+ readonly useStrokeThickness?: boolean;
10
+ readonly useColor?: boolean;
8
11
  };
9
12
  export type DxfSpace = "*Model_Space" | "*Paper_Space";
10
13
  export declare function dxf2dExportImageEncoded(root: AbstractImage, options?: Optional<DxfOptions>): Buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"dxf2d-export-image.d.ts","sourceRoot":"","sources":["../../src/exporters/dxf2d-export-image.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,YAAY,0BAA0B,CAAC;AACpD,eAAO,MAAM,YAAY,EAAE,MAAM,EA6ChC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,YAAY,GAAG,MAAM,EAAE,CAAC,CAAC;CAC5E,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;AAoBvD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAEnG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAsE5F"}
1
+ {"version":3,"file":"dxf2d-export-image.d.ts","sourceRoot":"","sources":["../../src/exporters/dxf2d-export-image.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,YAAY,0BAA0B,CAAC;AACpD,eAAO,MAAM,YAAY,EAAE,MAAM,EA6ChC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,YAAY,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;AAoBvD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAEnG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAyE5F"}
@@ -62,6 +62,9 @@ export function dxf2dExportImage(root, options) {
62
62
  const paperSpaceHandle = newHandle();
63
63
  const opts = {
64
64
  imageDataByUrl: options?.imageDataByUrl ?? {},
65
+ fillPolygons: options?.fillPolygons ?? false,
66
+ useColor: options?.useColor ?? false,
67
+ useStrokeThickness: options?.useStrokeThickness ?? false,
65
68
  };
66
69
  let dxf = "";
67
70
  let layer = 0;
@@ -233,14 +236,18 @@ function componentDxf(c, layer, size, modelSpaceHandle, externalCache, options,
233
236
  entities += "330\n" + modelSpaceHandle + "\n";
234
237
  entities += "100\nAcDbEntity\n";
235
238
  entities += "8\n" + layer + "\n";
236
- entities += "60\n0\n";
237
- entities += "62\n256\n";
238
- entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
239
+ if (options.useColor) {
240
+ entities += "60\n0\n";
241
+ entities += "62\n256\n";
242
+ entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
243
+ }
239
244
  entities += "100\nAcDb2dPolyline\n";
240
245
  entities += "10\n0\n20\n0\n30\n0\n";
241
246
  entities += "70\n0\n";
242
- entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
243
- entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
247
+ if (options.useStrokeThickness) {
248
+ entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
249
+ entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
250
+ }
244
251
  const points = [{ x: c.start.x, y: invert(c.start.y, size.height) }, { x: c.end.x, y: invert(c.end.y, size.height) }];
245
252
  for (const point of points) {
246
253
  entities += "0\nVERTEX\n";
@@ -269,14 +276,18 @@ function componentDxf(c, layer, size, modelSpaceHandle, externalCache, options,
269
276
  entities += "330\n" + modelSpaceHandle + "\n";
270
277
  entities += "100\nAcDbEntity\n";
271
278
  entities += "8\n" + layer + "\n";
272
- entities += "60\n0\n";
273
- entities += "62\n256\n";
274
- entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
279
+ if (options.useColor) {
280
+ entities += "60\n0\n";
281
+ entities += "62\n256\n";
282
+ entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
283
+ }
275
284
  entities += "100\nAcDb2dPolyline\n";
276
285
  entities += "10\n0\n20\n0\n30\n0\n";
277
286
  entities += "70\n0\n";
278
- entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
279
- entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
287
+ if (options.useStrokeThickness) {
288
+ entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
289
+ entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
290
+ }
280
291
  for (const point of c.points) {
281
292
  entities += "0\nVERTEX\n";
282
293
  entities += "5\n" + newHandle() + "\n";
@@ -306,9 +317,11 @@ function componentDxf(c, layer, size, modelSpaceHandle, externalCache, options,
306
317
  entities += "330\n" + modelSpaceHandle + "\n";
307
318
  entities += "100\nAcDbEntity\n";
308
319
  entities += "8\nText\n";
309
- entities += "60\n0\n";
310
- entities += "62\n256\n";
311
- entities += "420\n" + colorToInteger(c.textColor) + "\n";
320
+ if (options.useColor) {
321
+ entities += "60\n0\n";
322
+ entities += "62\n256\n";
323
+ entities += "420\n" + colorToInteger(c.textColor) + "\n";
324
+ }
312
325
  entities += "100\nAcDbText\n";
313
326
  entities += "10\n" + c.position.x.toString() + "\n";
314
327
  entities += "20\n" + invert(c.position.y, size.height) + "\n";
@@ -345,16 +358,16 @@ function componentDxf(c, layer, size, modelSpaceHandle, externalCache, options,
345
358
  const y = c.topLeft.y + r2 + r2 * Math.sin(t);
346
359
  points.push({ x, y });
347
360
  }
348
- entities += createPolygon(modelSpaceHandle, layer.toString(), points, c.strokeColor, c.fillColor, c.strokeThickness, size.height, newHandle);
361
+ entities += createPolygon(modelSpaceHandle, layer.toString(), points, c.strokeColor, c.fillColor, c.strokeThickness, size.height, options, newHandle);
349
362
  return [entities, blocks, blockRecords];
350
363
  }
351
364
  if (c.type === "polygon") {
352
- entities += createPolygon(modelSpaceHandle, layer.toString(), c.points, c.strokeColor, c.fillColor, c.strokeThickness, size.height, newHandle);
365
+ entities += createPolygon(modelSpaceHandle, layer.toString(), c.points, c.strokeColor, c.fillColor, c.strokeThickness, size.height, options, newHandle);
353
366
  return [entities, blocks, blockRecords];
354
367
  }
355
368
  if (c.type === "rectangle") {
356
369
  const cors = corners(c);
357
- entities += createPolygon(modelSpaceHandle, layer.toString(), cors, c.strokeColor, c.fillColor, c.strokeThickness, size.height, newHandle);
370
+ entities += createPolygon(modelSpaceHandle, layer.toString(), cors, c.strokeColor, c.fillColor, c.strokeThickness, size.height, options, newHandle);
358
371
  return [entities, blocks, blockRecords];
359
372
  }
360
373
  return [entities, blocks, blockRecords];
@@ -933,44 +946,48 @@ function createHatch(modelSpaceHandle, layer, fillColor, points, height, newHand
933
946
  hatch += "20\n" + cy + "\n";
934
947
  return hatch;
935
948
  }
936
- function createPolygon(modelSpaceHandle, layer, points, strokeColor, fillColor, strokeThickness, height, newHandle) {
949
+ function createPolygon(modelSpaceHandle, layer, points, strokeColor, fillColor, strokeThickness, height, options, newHandle) {
937
950
  const handle = newHandle();
938
951
  let polygon = "";
939
- polygon += createHatch(modelSpaceHandle, layer, fillColor, points, height, newHandle);
940
- if (strokeThickness && strokeThickness >= Number.EPSILON) {
941
- polygon += "0\nPOLYLINE\n";
942
- polygon += "5\n" + handle + "\n";
943
- polygon += "330\n" + modelSpaceHandle + "\n";
944
- polygon += "100\nAcDbEntity\n";
945
- polygon += "8\n" + layer.toString() + "\n";
952
+ if (options.fillPolygons) {
953
+ polygon += createHatch(modelSpaceHandle, layer, fillColor, points, height, newHandle);
954
+ }
955
+ polygon += "0\nPOLYLINE\n";
956
+ polygon += "5\n" + handle + "\n";
957
+ polygon += "330\n" + modelSpaceHandle + "\n";
958
+ polygon += "100\nAcDbEntity\n";
959
+ polygon += "8\n" + layer.toString() + "\n";
960
+ if (options.useColor) {
946
961
  polygon += "60\n0\n";
947
962
  polygon += "62\n256\n";
948
963
  polygon += "420\n" + colorToInteger(strokeColor) + "\n";
949
- polygon += "100\nAcDb2dPolyline\n";
950
- polygon += "66\n1\n";
951
- polygon += "70\n1\n";
952
- polygon += "10\n0.0\n20\n0.0\n30\n0.0\n";
964
+ }
965
+ polygon += "100\nAcDb2dPolyline\n";
966
+ polygon += "66\n1\n";
967
+ polygon += "70\n1\n";
968
+ polygon += "10\n0.0\n20\n0.0\n30\n0.0\n";
969
+ if (options.useStrokeThickness && strokeThickness && strokeThickness >= Number.EPSILON) {
953
970
  polygon += "40\n" + strokeThickness.toPrecision(4) + "\n";
954
971
  polygon += "41\n" + strokeThickness.toPrecision(4) + "\n";
955
- for (const point of points) {
956
- polygon += "0\nVERTEX\n";
957
- polygon += "5\n" + newHandle() + "\n";
958
- polygon += "330\n" + handle + "\n";
959
- polygon += "100\nAcDbEntity\n";
960
- polygon += "8\n" + layer.toString() + "\n";
961
- polygon += "100\nAcDbVertex\n";
962
- polygon += "100\nAcDb2dVertex\n";
963
- polygon += "70\n0\n";
964
- polygon += "10\n" + point.x.toString() + "\n";
965
- polygon += "20\n" + invert(point.y, height).toString() + "\n";
966
- polygon += "30\n0.0\n";
967
- }
968
- polygon += "0\nSEQEND\n";
972
+ }
973
+ for (const point of points) {
974
+ polygon += "0\nVERTEX\n";
969
975
  polygon += "5\n" + newHandle() + "\n";
976
+ polygon += "330\n" + handle + "\n";
970
977
  polygon += "100\nAcDbEntity\n";
971
978
  polygon += "8\n" + layer.toString() + "\n";
972
- polygon += "330\n" + handle + "\n";
979
+ polygon += "100\nAcDbVertex\n";
980
+ polygon += "100\nAcDb2dVertex\n";
981
+ polygon += "70\n0\n";
982
+ polygon += "10\n" + point.x.toString() + "\n";
983
+ polygon += "20\n" + invert(point.y, height).toString() + "\n";
984
+ polygon += "30\n0.0\n";
973
985
  }
986
+ polygon += "0\nSEQEND\n";
987
+ polygon += "5\n" + newHandle() + "\n";
988
+ polygon += "100\nAcDbEntity\n";
989
+ polygon += "8\n" + layer.toString() + "\n";
990
+ polygon += "330\n" + handle + "\n";
974
991
  return polygon;
975
992
  }
976
993
  function handleGenerator() {
@@ -985,8 +1002,8 @@ function randomID() {
985
1002
  }
986
1003
  function colorToInteger(color) {
987
1004
  const colorAsInt = (color.r << 16) + (color.g << 8) + color.b;
988
- if (Number.isNaN(colorAsInt) || colorAsInt === 0) {
989
- return 1; //librecad treats 0 as white. A color of 1 should be black enough
1005
+ if (Number.isNaN(colorAsInt)) {
1006
+ return 0;
990
1007
  }
991
1008
  return colorAsInt;
992
1009
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dxf2d-export-image.js","sourceRoot":"","sources":["../../src/exporters/dxf2d-export-image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dxf2d-export-image.js","sourceRoot":"","sources":["../../src/exporters/dxf2d-export-image.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abstract-image",
3
- "version": "13.0.5",
3
+ "version": "13.0.7",
4
4
  "description": "Dynamically create images using code or JSX and render to any format",
5
5
  "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-image",
6
6
  "main": "lib/index.js",
@@ -38,5 +38,5 @@
38
38
  "vite": "^6.0.1",
39
39
  "vitest": "^2.1.6"
40
40
  },
41
- "gitHead": "f7de65d8c2de7f62629006e9017460dd896fa7bb"
41
+ "gitHead": "15eb386eeee3a317e45d327ddb27873dead7b366"
42
42
  }
@@ -58,6 +58,9 @@ export const DXF_ENTITIES: string[] = [
58
58
 
59
59
  export type DxfOptions = {
60
60
  readonly imageDataByUrl: Record<string, `${typeof DXF_DATA_URL}${string}`>;
61
+ readonly fillPolygons?: boolean;
62
+ readonly useStrokeThickness?: boolean;
63
+ readonly useColor?: boolean;
61
64
  };
62
65
 
63
66
  export type DxfSpace = "*Model_Space" | "*Paper_Space";
@@ -93,8 +96,11 @@ export function dxf2dExportImage(root: AbstractImage, options?: Optional<DxfOpti
93
96
  const modelSpaceHandle = newHandle();
94
97
  const paperSpaceHandle = newHandle();
95
98
 
96
- const opts: DxfOptions = {
99
+ const opts: Required<DxfOptions> = {
97
100
  imageDataByUrl: options?.imageDataByUrl ?? {},
101
+ fillPolygons: options?.fillPolygons ?? false,
102
+ useColor: options?.useColor ?? false,
103
+ useStrokeThickness: options?.useStrokeThickness ?? false,
98
104
  };
99
105
 
100
106
  let dxf = "";
@@ -159,7 +165,7 @@ export function dxf2dExportImage(root: AbstractImage, options?: Optional<DxfOpti
159
165
  return header + dxf;
160
166
  }
161
167
 
162
- function componentDxf(c: Component, layer: number, size: Size, modelSpaceHandle: string, externalCache: Map<string, DxfInsert>, options: DxfOptions, newHandle: () => string): readonly [string, string, ReadonlyArray<BlockRecord>] {
168
+ function componentDxf(c: Component, layer: number, size: Size, modelSpaceHandle: string, externalCache: Map<string, DxfInsert>, options: Required<DxfOptions>, newHandle: () => string): readonly [string, string, ReadonlyArray<BlockRecord>] {
163
169
  let entities = "";
164
170
  let blocks = "";
165
171
  let blockRecords: Array<BlockRecord> = [];
@@ -298,14 +304,21 @@ function componentDxf(c: Component, layer: number, size: Size, modelSpaceHandle:
298
304
  entities += "330\n" + modelSpaceHandle + "\n";
299
305
  entities += "100\nAcDbEntity\n";
300
306
  entities += "8\n" + layer + "\n";
301
- entities += "60\n0\n";
302
- entities += "62\n256\n";
303
- entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
307
+
308
+ if(options.useColor) {
309
+ entities += "60\n0\n";
310
+ entities += "62\n256\n";
311
+ entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
312
+ }
313
+
304
314
  entities += "100\nAcDb2dPolyline\n";
305
315
  entities += "10\n0\n20\n0\n30\n0\n";
306
316
  entities += "70\n0\n";
307
- entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
308
- entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
317
+
318
+ if(options.useStrokeThickness) {
319
+ entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
320
+ entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
321
+ }
309
322
 
310
323
  const points: ReadonlyArray<Point> = [{ x: c.start.x, y: invert(c.start.y, size.height)}, { x: c.end.x, y: invert(c.end.y, size.height) }];
311
324
  for (const point of points) {
@@ -337,14 +350,22 @@ function componentDxf(c: Component, layer: number, size: Size, modelSpaceHandle:
337
350
  entities += "330\n" + modelSpaceHandle + "\n";
338
351
  entities += "100\nAcDbEntity\n";
339
352
  entities += "8\n" + layer + "\n";
340
- entities += "60\n0\n";
341
- entities += "62\n256\n";
342
- entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
353
+
354
+ if(options.useColor) {
355
+ entities += "60\n0\n";
356
+ entities += "62\n256\n";
357
+ entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
358
+ }
359
+
343
360
  entities += "100\nAcDb2dPolyline\n";
344
361
  entities += "10\n0\n20\n0\n30\n0\n";
345
362
  entities += "70\n0\n";
346
- entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
347
- entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
363
+
364
+ if(options.useStrokeThickness) {
365
+ entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
366
+ entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
367
+ }
368
+
348
369
  for (const point of c.points) {
349
370
  entities += "0\nVERTEX\n";
350
371
  entities += "5\n" + newHandle() + "\n";
@@ -377,9 +398,13 @@ function componentDxf(c: Component, layer: number, size: Size, modelSpaceHandle:
377
398
  entities += "330\n" + modelSpaceHandle + "\n";
378
399
  entities += "100\nAcDbEntity\n";
379
400
  entities += "8\nText\n";
380
- entities += "60\n0\n";
381
- entities += "62\n256\n";
382
- entities += "420\n" + colorToInteger(c.textColor) + "\n";
401
+
402
+ if(options.useColor) {
403
+ entities += "60\n0\n";
404
+ entities += "62\n256\n";
405
+ entities += "420\n" + colorToInteger(c.textColor) + "\n";
406
+ }
407
+
383
408
  entities += "100\nAcDbText\n";
384
409
  entities += "10\n" + c.position.x.toString() + "\n";
385
410
  entities += "20\n" + invert(c.position.y, size.height) + "\n";
@@ -419,18 +444,18 @@ function componentDxf(c: Component, layer: number, size: Size, modelSpaceHandle:
419
444
  points.push({x, y});
420
445
  }
421
446
 
422
- entities += createPolygon(modelSpaceHandle, layer.toString(), points, c.strokeColor, c.fillColor, c.strokeThickness, size.height, newHandle);
447
+ entities += createPolygon(modelSpaceHandle, layer.toString(), points, c.strokeColor, c.fillColor, c.strokeThickness, size.height, options, newHandle);
423
448
  return [entities, blocks, blockRecords];
424
449
  }
425
450
 
426
451
  if (c.type === "polygon") {
427
- entities += createPolygon(modelSpaceHandle, layer.toString(), c.points, c.strokeColor, c.fillColor, c.strokeThickness, size.height, newHandle);
452
+ entities += createPolygon(modelSpaceHandle, layer.toString(), c.points, c.strokeColor, c.fillColor, c.strokeThickness, size.height, options, newHandle);
428
453
  return [entities, blocks, blockRecords];
429
454
  }
430
455
 
431
456
  if (c.type === "rectangle") {
432
457
  const cors = corners(c);
433
- entities += createPolygon(modelSpaceHandle, layer.toString(), cors, c.strokeColor, c.fillColor, c.strokeThickness, size.height, newHandle);
458
+ entities += createPolygon(modelSpaceHandle, layer.toString(), cors, c.strokeColor, c.fillColor, c.strokeThickness, size.height, options, newHandle);
434
459
  return [entities, blocks, blockRecords];
435
460
  }
436
461
 
@@ -1083,48 +1108,56 @@ function createHatch(
1083
1108
  return hatch;
1084
1109
  }
1085
1110
 
1086
- function createPolygon(modelSpaceHandle: string, layer: string, points: ReadonlyArray<Point>, strokeColor: Color, fillColor: Color, strokeThickness: number | undefined, height: number, newHandle: () => string): string {
1111
+ function createPolygon(modelSpaceHandle: string, layer: string, points: ReadonlyArray<Point>, strokeColor: Color, fillColor: Color, strokeThickness: number | undefined, height: number, options: Required<DxfOptions>, newHandle: () => string): string {
1087
1112
  const handle = newHandle();
1088
1113
  let polygon = "";
1089
1114
 
1090
- polygon += createHatch(modelSpaceHandle, layer, fillColor, points, height, newHandle);
1091
- if(strokeThickness && strokeThickness >= Number.EPSILON) {
1092
- polygon += "0\nPOLYLINE\n";
1093
- polygon += "5\n" + handle + "\n";
1094
- polygon += "330\n" + modelSpaceHandle + "\n";
1095
- polygon += "100\nAcDbEntity\n";
1096
- polygon += "8\n" + layer.toString() + "\n";
1115
+ if(options.fillPolygons) {
1116
+ polygon += createHatch(modelSpaceHandle, layer, fillColor, points, height, newHandle);
1117
+ }
1118
+
1119
+ polygon += "0\nPOLYLINE\n";
1120
+ polygon += "5\n" + handle + "\n";
1121
+ polygon += "330\n" + modelSpaceHandle + "\n";
1122
+ polygon += "100\nAcDbEntity\n";
1123
+ polygon += "8\n" + layer.toString() + "\n";
1124
+
1125
+ if(options.useColor) {
1097
1126
  polygon += "60\n0\n";
1098
1127
  polygon += "62\n256\n";
1099
1128
  polygon += "420\n" + colorToInteger(strokeColor) + "\n";
1100
- polygon += "100\nAcDb2dPolyline\n";
1101
- polygon += "66\n1\n";
1102
- polygon += "70\n1\n";
1103
- polygon += "10\n0.0\n20\n0.0\n30\n0.0\n";
1129
+ }
1130
+
1131
+ polygon += "100\nAcDb2dPolyline\n";
1132
+ polygon += "66\n1\n";
1133
+ polygon += "70\n1\n";
1134
+ polygon += "10\n0.0\n20\n0.0\n30\n0.0\n";
1135
+
1136
+ if(options.useStrokeThickness && strokeThickness && strokeThickness >= Number.EPSILON) {
1104
1137
  polygon += "40\n" + strokeThickness.toPrecision(4) + "\n";
1105
1138
  polygon += "41\n" + strokeThickness.toPrecision(4) + "\n";
1106
-
1107
- for (const point of points) {
1108
- polygon += "0\nVERTEX\n";
1109
- polygon += "5\n" + newHandle() + "\n";
1110
- polygon += "330\n" + handle + "\n";
1111
- polygon += "100\nAcDbEntity\n";
1112
- polygon += "8\n" + layer.toString() + "\n";
1113
- polygon += "100\nAcDbVertex\n";
1114
- polygon += "100\nAcDb2dVertex\n";
1115
- polygon += "70\n0\n";
1116
- polygon += "10\n" + point.x.toString() + "\n";
1117
- polygon += "20\n" + invert(point.y, height).toString() + "\n";
1118
- polygon += "30\n0.0\n";
1119
- }
1120
-
1121
- polygon += "0\nSEQEND\n";
1139
+ }
1140
+
1141
+ for (const point of points) {
1142
+ polygon += "0\nVERTEX\n";
1122
1143
  polygon += "5\n" + newHandle() + "\n";
1144
+ polygon += "330\n" + handle + "\n";
1123
1145
  polygon += "100\nAcDbEntity\n";
1124
1146
  polygon += "8\n" + layer.toString() + "\n";
1125
- polygon += "330\n" + handle + "\n";
1147
+ polygon += "100\nAcDbVertex\n";
1148
+ polygon += "100\nAcDb2dVertex\n";
1149
+ polygon += "70\n0\n";
1150
+ polygon += "10\n" + point.x.toString() + "\n";
1151
+ polygon += "20\n" + invert(point.y, height).toString() + "\n";
1152
+ polygon += "30\n0.0\n";
1126
1153
  }
1127
1154
 
1155
+ polygon += "0\nSEQEND\n";
1156
+ polygon += "5\n" + newHandle() + "\n";
1157
+ polygon += "100\nAcDbEntity\n";
1158
+ polygon += "8\n" + layer.toString() + "\n";
1159
+ polygon += "330\n" + handle + "\n";
1160
+
1128
1161
  return polygon;
1129
1162
  }
1130
1163
 
@@ -1142,8 +1175,8 @@ function randomID(): string {
1142
1175
 
1143
1176
  function colorToInteger(color: Color): number {
1144
1177
  const colorAsInt = (color.r << 16) + (color.g << 8) + color.b;
1145
- if(Number.isNaN(colorAsInt) || colorAsInt === 0) {
1146
- return 1; //librecad treats 0 as white. A color of 1 should be black enough
1178
+ if(Number.isNaN(colorAsInt)) {
1179
+ return 0;
1147
1180
  }
1148
1181
  return colorAsInt;
1149
1182
  }