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;
|
|
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
|
-
|
|
237
|
-
|
|
238
|
-
|
|
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
|
-
|
|
243
|
-
|
|
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
|
-
|
|
273
|
-
|
|
274
|
-
|
|
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
|
-
|
|
279
|
-
|
|
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
|
-
|
|
310
|
-
|
|
311
|
-
|
|
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
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
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
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
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
|
-
|
|
956
|
-
|
|
957
|
-
|
|
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 += "
|
|
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)
|
|
989
|
-
return
|
|
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.
|
|
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": "
|
|
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
|
|
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
|
-
|
|
302
|
-
|
|
303
|
-
|
|
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
|
-
|
|
308
|
-
|
|
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
|
-
|
|
341
|
-
|
|
342
|
-
|
|
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
|
-
|
|
347
|
-
|
|
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
|
-
|
|
381
|
-
|
|
382
|
-
|
|
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
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
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
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
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
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
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 += "
|
|
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)
|
|
1146
|
-
return
|
|
1178
|
+
if(Number.isNaN(colorAsInt)) {
|
|
1179
|
+
return 0;
|
|
1147
1180
|
}
|
|
1148
1181
|
return colorAsInt;
|
|
1149
1182
|
}
|