dxf-json 0.0.21 → 0.0.22

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.
Files changed (165) hide show
  1. package/package.json +5 -2
  2. package/.github/FUNDING.yml +0 -1
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  4. package/.github/ISSUE_TEMPLATE/custom.md +0 -10
  5. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  6. package/.github/pull_request_template.md +0 -23
  7. package/.github/workflows/npm-publish.yml +0 -55
  8. package/.swcrc +0 -8
  9. package/jest.config.js +0 -20
  10. package/src/consts/block.ts +0 -22
  11. package/src/consts/color.ts +0 -6
  12. package/src/consts/config.ts +0 -2
  13. package/src/consts/dimension.ts +0 -69
  14. package/src/consts/hatch.ts +0 -52
  15. package/src/consts/header.ts +0 -10
  16. package/src/consts/index.ts +0 -9
  17. package/src/consts/lineweight.ts +0 -5
  18. package/src/consts/measurement.ts +0 -4
  19. package/src/consts/obscuredLineTypes.ts +0 -21
  20. package/src/consts/scene.ts +0 -2
  21. package/src/consts/viewport.ts +0 -62
  22. package/src/index.ts +0 -3
  23. package/src/parser/AutoCadColorIndex.ts +0 -265
  24. package/src/parser/DxfArrayScanner.ts +0 -161
  25. package/src/parser/DxfParser.ts +0 -109
  26. package/src/parser/ParseHelpers.ts +0 -124
  27. package/src/parser/blocks/blocks.test.ts +0 -97
  28. package/src/parser/blocks/index.ts +0 -88
  29. package/src/parser/blocks/types.ts +0 -15
  30. package/src/parser/entities/arc/index.ts +0 -2
  31. package/src/parser/entities/arc/parser.ts +0 -67
  32. package/src/parser/entities/arc/types.ts +0 -13
  33. package/src/parser/entities/attdef/consts.ts +0 -12
  34. package/src/parser/entities/attdef/index.ts +0 -3
  35. package/src/parser/entities/attdef/parser.ts +0 -119
  36. package/src/parser/entities/attdef/types.ts +0 -19
  37. package/src/parser/entities/attribute/consts.ts +0 -6
  38. package/src/parser/entities/attribute/index.ts +0 -3
  39. package/src/parser/entities/attribute/parser.ts +0 -198
  40. package/src/parser/entities/attribute/types.ts +0 -31
  41. package/src/parser/entities/circle/index.ts +0 -2
  42. package/src/parser/entities/circle/parser.ts +0 -58
  43. package/src/parser/entities/circle/types.ts +0 -11
  44. package/src/parser/entities/dimension/common.ts +0 -98
  45. package/src/parser/entities/dimension/index.ts +0 -24
  46. package/src/parser/entities/dimension/types.ts +0 -65
  47. package/src/parser/entities/ellipse/index.ts +0 -2
  48. package/src/parser/entities/ellipse/parser.ts +0 -66
  49. package/src/parser/entities/ellipse/types.ts +0 -13
  50. package/src/parser/entities/entities.test.ts +0 -86
  51. package/src/parser/entities/hatch/boundaryPathData/edge.ts +0 -190
  52. package/src/parser/entities/hatch/boundaryPathData/index.ts +0 -27
  53. package/src/parser/entities/hatch/boundaryPathData/polyline.ts +0 -43
  54. package/src/parser/entities/hatch/boundaryPathData/shared.ts +0 -16
  55. package/src/parser/entities/hatch/index.ts +0 -189
  56. package/src/parser/entities/hatch/patternData.ts +0 -57
  57. package/src/parser/entities/hatch/types/boundaryPath.ts +0 -72
  58. package/src/parser/entities/hatch/types/definitionLine.ts +0 -14
  59. package/src/parser/entities/hatch/types/hatch.ts +0 -47
  60. package/src/parser/entities/hatch/types/index.ts +0 -3
  61. package/src/parser/entities/index.ts +0 -87
  62. package/src/parser/entities/insert/index.ts +0 -2
  63. package/src/parser/entities/insert/parser.ts +0 -106
  64. package/src/parser/entities/insert/types.ts +0 -19
  65. package/src/parser/entities/leader/consts.ts +0 -6
  66. package/src/parser/entities/leader/index.ts +0 -3
  67. package/src/parser/entities/leader/parser.ts +0 -119
  68. package/src/parser/entities/leader/types.ts +0 -24
  69. package/src/parser/entities/line/index.ts +0 -2
  70. package/src/parser/entities/line/parser.ts +0 -55
  71. package/src/parser/entities/line/types.ts +0 -11
  72. package/src/parser/entities/lwpolyline/consts.ts +0 -4
  73. package/src/parser/entities/lwpolyline/index.ts +0 -3
  74. package/src/parser/entities/lwpolyline/parser.ts +0 -122
  75. package/src/parser/entities/lwpolyline/types.ts +0 -21
  76. package/src/parser/entities/mtext/consts.ts +0 -5
  77. package/src/parser/entities/mtext/index.ts +0 -3
  78. package/src/parser/entities/mtext/parser.ts +0 -195
  79. package/src/parser/entities/mtext/types.ts +0 -34
  80. package/src/parser/entities/point/index.ts +0 -2
  81. package/src/parser/entities/point/parser.ts +0 -60
  82. package/src/parser/entities/point/types.ts +0 -10
  83. package/src/parser/entities/polyline/consts.ts +0 -17
  84. package/src/parser/entities/polyline/index.ts +0 -3
  85. package/src/parser/entities/polyline/parser.ts +0 -126
  86. package/src/parser/entities/polyline/types.ts +0 -20
  87. package/src/parser/entities/section/index.ts +0 -2
  88. package/src/parser/entities/section/parser.ts +0 -104
  89. package/src/parser/entities/section/types.ts +0 -20
  90. package/src/parser/entities/shared.ts +0 -166
  91. package/src/parser/entities/solid/index.ts +0 -2
  92. package/src/parser/entities/solid/parser.ts +0 -56
  93. package/src/parser/entities/solid/types.ts +0 -10
  94. package/src/parser/entities/spline/consts.ts +0 -8
  95. package/src/parser/entities/spline/index.ts +0 -3
  96. package/src/parser/entities/spline/parser.ts +0 -121
  97. package/src/parser/entities/spline/types.ts +0 -22
  98. package/src/parser/entities/text/consts.ts +0 -21
  99. package/src/parser/entities/text/index.ts +0 -3
  100. package/src/parser/entities/text/parser.ts +0 -117
  101. package/src/parser/entities/text/types.ts +0 -21
  102. package/src/parser/entities/vertex/consts.ts +0 -10
  103. package/src/parser/entities/vertex/index.ts +0 -3
  104. package/src/parser/entities/vertex/parser.ts +0 -90
  105. package/src/parser/entities/vertex/types.ts +0 -17
  106. package/src/parser/entities/viewport/index.ts +0 -178
  107. package/src/parser/entities/viewport/types.ts +0 -58
  108. package/src/parser/filterDummyBlocks.ts +0 -49
  109. package/src/parser/header/index.ts +0 -30
  110. package/src/parser/objects/common.ts +0 -55
  111. package/src/parser/objects/dictionary.ts +0 -61
  112. package/src/parser/objects/index.ts +0 -45
  113. package/src/parser/objects/layout.ts +0 -136
  114. package/src/parser/objects/plotSettings.ts +0 -231
  115. package/src/parser/objects/treefy.ts +0 -53
  116. package/src/parser/objects/types.ts +0 -17
  117. package/src/parser/shared/index.ts +0 -21
  118. package/src/parser/shared/parsePoint.ts +0 -37
  119. package/src/parser/shared/parserGenerator.test.ts +0 -164
  120. package/src/parser/shared/parserGenerator.ts +0 -180
  121. package/src/parser/shared/xdata/index.ts +0 -3
  122. package/src/parser/shared/xdata/interpreter.test.ts +0 -85
  123. package/src/parser/shared/xdata/interpreter.ts +0 -65
  124. package/src/parser/shared/xdata/parser.test.ts +0 -66
  125. package/src/parser/shared/xdata/parser.ts +0 -140
  126. package/src/parser/shared/xdata/types.ts +0 -22
  127. package/src/parser/tables/blockRecord/index.ts +0 -2
  128. package/src/parser/tables/blockRecord/parser.ts +0 -49
  129. package/src/parser/tables/blockRecord/types.ts +0 -11
  130. package/src/parser/tables/dimStyle/consts.ts +0 -428
  131. package/src/parser/tables/dimStyle/index.ts +0 -3
  132. package/src/parser/tables/dimStyle/parser.ts +0 -37
  133. package/src/parser/tables/dimStyle/types.ts +0 -164
  134. package/src/parser/tables/index.ts +0 -2
  135. package/src/parser/tables/layer/index.ts +0 -2
  136. package/src/parser/tables/layer/parser.ts +0 -58
  137. package/src/parser/tables/layer/types.ts +0 -14
  138. package/src/parser/tables/ltype/consts.ts +0 -6
  139. package/src/parser/tables/ltype/index.ts +0 -3
  140. package/src/parser/tables/ltype/parser.ts +0 -110
  141. package/src/parser/tables/ltype/types.ts +0 -23
  142. package/src/parser/tables/parser.ts +0 -100
  143. package/src/parser/tables/shared.ts +0 -32
  144. package/src/parser/tables/style/index.ts +0 -2
  145. package/src/parser/tables/style/parser.ts +0 -70
  146. package/src/parser/tables/style/types.ts +0 -15
  147. package/src/parser/tables/types.ts +0 -15
  148. package/src/parser/tables/vport/index.ts +0 -2
  149. package/src/parser/tables/vport/parser.ts +0 -205
  150. package/src/parser/tables/vport/types.ts +0 -48
  151. package/src/parser/types.ts +0 -30
  152. package/src/types/color.ts +0 -5
  153. package/src/types/dxfHeader.ts +0 -21
  154. package/src/types/entity.ts +0 -7
  155. package/src/types/index.ts +0 -30
  156. package/src/utils/binarySearch.ts +0 -20
  157. package/src/utils/disjointSet.ts +0 -52
  158. package/src/utils/flooding.ts +0 -37
  159. package/src/utils/functional.ts +0 -124
  160. package/src/utils/graph.ts +0 -53
  161. package/src/utils/index.ts +0 -102
  162. package/src/utils/queue.ts +0 -77
  163. package/src/utils/triangle.ts +0 -28
  164. package/tsconfig.json +0 -37
  165. package/webpack.config.js +0 -53
@@ -1,119 +0,0 @@
1
- import type DxfArrayScanner from '../../DxfArrayScanner';
2
- import type { ScannerGroup } from '../../DxfArrayScanner';
3
- import {
4
- createParser,
5
- DXFParserSnippet,
6
- Identity,
7
- PointParser,
8
- ToBoolean,
9
- } from '../../shared/parserGenerator';
10
- import { CommonEntitySnippets } from '../shared';
11
- import type { LeaderEntity } from './types';
12
-
13
- const DefaultLeaderEntity = {
14
- isArrowheadEnabled: true,
15
- };
16
-
17
- const LeaderEntityParserSnippets: DXFParserSnippet[] = [
18
- {
19
- code: 213,
20
- name: 'offsetFromAnnotation',
21
- parser: PointParser,
22
- },
23
- {
24
- code: 212,
25
- name: 'offsetFromBlock',
26
- parser: PointParser,
27
- },
28
- {
29
- code: 211,
30
- name: 'horizontalDirection',
31
- parser: PointParser,
32
- },
33
- {
34
- code: 210,
35
- name: 'normal',
36
- parser: PointParser,
37
- },
38
- {
39
- code: 340,
40
- name: 'associatedAnnotation',
41
- parser: Identity,
42
- },
43
- {
44
- code: 77,
45
- name: 'byBlockColor',
46
- parser: Identity,
47
- },
48
- {
49
- code: 10,
50
- name: 'vertices',
51
- parser: PointParser,
52
- isMultiple: true,
53
- },
54
- {
55
- code: 76,
56
- name: 'numberOfVertices',
57
- parser: Identity,
58
- },
59
- {
60
- code: 41,
61
- name: 'textWidth',
62
- parser: Identity,
63
- },
64
- {
65
- code: 40,
66
- name: 'textHeight',
67
- parser: Identity,
68
- },
69
- {
70
- code: 75,
71
- name: 'isHooklineExists',
72
- parser: ToBoolean,
73
- },
74
- {
75
- code: 74,
76
- name: 'isHooklineSameDirection',
77
- parser: ToBoolean,
78
- },
79
- {
80
- code: 73,
81
- name: 'leaderCreationFlag',
82
- parser: Identity,
83
- },
84
- {
85
- code: 72,
86
- name: 'isSpline',
87
- parser: ToBoolean,
88
- },
89
- {
90
- code: 71,
91
- name: 'isArrowheadEnabled',
92
- parser: ToBoolean,
93
- },
94
- {
95
- code: 3,
96
- name: 'styleName',
97
- parser: Identity,
98
- },
99
- {
100
- code: 100,
101
- name: 'subclassMarker',
102
- parser: Identity,
103
- },
104
- ...CommonEntitySnippets,
105
- ];
106
-
107
- export class LeaderEntityParser {
108
- static ForEntityName = 'LEADER';
109
- private parser = createParser(
110
- LeaderEntityParserSnippets,
111
- DefaultLeaderEntity,
112
- );
113
-
114
- parseEntity(scanner: DxfArrayScanner, curr: ScannerGroup) {
115
- const entity = {} as any;
116
- this.parser(curr, scanner, entity);
117
- return entity as LeaderEntity;
118
- }
119
- }
@@ -1,24 +0,0 @@
1
- import type { Point3D } from '../../../types';
2
- import type { CommonDxfEntity } from '../shared';
3
- import type { LeaderCreationFlag } from './consts';
4
-
5
- export interface LeaderEntity extends CommonDxfEntity {
6
- type: 'LEADER';
7
- subclassMarker: 'AcDbLeader';
8
- styleName: string;
9
- isArrowheadEnabled: boolean;
10
- isSpline: boolean;
11
- leaderCreationFlag: LeaderCreationFlag;
12
- isHooklineSameDirection: boolean;
13
- isHooklineExists: boolean;
14
- textHeight?: number;
15
- textWidth?: number;
16
- numberOfVertices?: number;
17
- vertices: Point3D[];
18
- byBlockColor?: number;
19
- associatedAnnotation?: string;
20
- normal?: Point3D;
21
- horizontalDirection?: Point3D;
22
- offsetFromBlock?: Point3D;
23
- offsetFromAnnotation?: Point3D;
24
- }
@@ -1,2 +0,0 @@
1
- export * from './types';
2
- export * from './parser';
@@ -1,55 +0,0 @@
1
- import type DxfArrayScanner from '../../DxfArrayScanner';
2
- import type { ScannerGroup } from '../../DxfArrayScanner';
3
- import {
4
- createParser,
5
- DXFParserSnippet,
6
- Identity,
7
- PointParser,
8
- } from '../../shared/parserGenerator';
9
- import { CommonEntitySnippets } from '../shared';
10
- import type { LineEntity } from './types';
11
-
12
- const DefaultLineEntity = {
13
- thickness: 0,
14
- extrusionDirection: { x: 0, y: 0, z: 1 },
15
- };
16
-
17
- const LineEntityParserSnippets: DXFParserSnippet[] = [
18
- {
19
- code: 210,
20
- name: 'extrusionDirection',
21
- parser: PointParser,
22
- },
23
- {
24
- code: 11,
25
- name: 'endPoint',
26
- parser: PointParser,
27
- },
28
- {
29
- code: 10,
30
- name: 'startPoint',
31
- parser: PointParser,
32
- },
33
- {
34
- code: 39,
35
- name: 'thickness',
36
- parser: Identity,
37
- },
38
- {
39
- code: 100,
40
- name: 'subclassMarker',
41
- parser: Identity,
42
- },
43
- ...CommonEntitySnippets,
44
- ];
45
-
46
- export class LineEntityParser {
47
- static ForEntityName = 'LINE';
48
- private parser = createParser(LineEntityParserSnippets, DefaultLineEntity);
49
-
50
- parseEntity(scanner: DxfArrayScanner, curr: ScannerGroup) {
51
- const entity = {} as any;
52
- this.parser(curr, scanner, entity);
53
- return entity as LineEntity;
54
- }
55
- }
@@ -1,11 +0,0 @@
1
- import type { Point3D } from '../../../types';
2
- import type { CommonDxfEntity } from '../shared';
3
-
4
- export interface LineEntity extends CommonDxfEntity {
5
- type: 'LINE';
6
- subclassMarker: 'AcDbLine';
7
- thickness: number;
8
- startPoint: Point3D;
9
- endPoint: Point3D;
10
- extrusionDirection: Point3D;
11
- }
@@ -1,4 +0,0 @@
1
- export enum LWPolylineFlag {
2
- IS_CLOSED = 1,
3
- PLINE_GEN = 128,
4
- }
@@ -1,3 +0,0 @@
1
- export * from './types';
2
- export * from './consts';
3
- export * from './parser';
@@ -1,122 +0,0 @@
1
- import type DxfArrayScanner from '../../DxfArrayScanner';
2
- import type { ScannerGroup } from '../../DxfArrayScanner';
3
- import {
4
- createParser,
5
- DXFParserSnippet,
6
- Identity,
7
- PointParser,
8
- } from '../../shared/parserGenerator';
9
- import { CommonEntitySnippets } from '../shared';
10
- import type { LWPolylineEntity } from './types';
11
-
12
- const DefaultLWPolylineEntity = {
13
- flag: 0,
14
- elevation: 0,
15
- thickness: 0,
16
- extrusionDirection: { x: 0, y: 0, z: 1 },
17
- vertices: [],
18
- };
19
-
20
- const DefaultLWPolylineVertex = {
21
- bulge: 0,
22
- };
23
-
24
- const LWPolylineVertexSnippets: DXFParserSnippet[] = [
25
- {
26
- code: 42,
27
- name: 'bulge',
28
- parser: Identity,
29
- },
30
- {
31
- code: 41,
32
- name: 'endWidth',
33
- parser: Identity,
34
- },
35
- {
36
- code: 40,
37
- name: 'startWidth',
38
- parser: Identity,
39
- },
40
- {
41
- code: 91,
42
- name: 'id',
43
- parser: Identity,
44
- },
45
- {
46
- code: 20,
47
- name: 'y',
48
- parser: Identity,
49
- },
50
- {
51
- code: 10,
52
- name: 'x',
53
- parser: Identity,
54
- },
55
- ];
56
-
57
- const LWPolylineSnippets: DXFParserSnippet[] = [
58
- {
59
- code: 210,
60
- name: 'extrusionDirection',
61
- parser: PointParser,
62
- },
63
- {
64
- code: 10,
65
- name: 'vertices',
66
- isMultiple: true,
67
- parser(curr, scanner) {
68
- const entity = {} as any;
69
- createParser(LWPolylineVertexSnippets, DefaultLWPolylineVertex)(
70
- curr,
71
- scanner,
72
- entity,
73
- );
74
- return entity;
75
- },
76
- },
77
- {
78
- code: 39,
79
- name: 'thickness',
80
- parser: Identity,
81
- },
82
- {
83
- code: 38,
84
- name: 'elevation',
85
- parser: Identity,
86
- },
87
- {
88
- code: 43,
89
- name: 'constantWidth',
90
- parser: Identity,
91
- },
92
- {
93
- code: 70,
94
- name: 'flag',
95
- parser: Identity,
96
- },
97
- {
98
- code: 90,
99
- name: 'numberOfVertices',
100
- parser: Identity,
101
- },
102
- {
103
- code: 100,
104
- name: 'subclassMarker',
105
- parser: Identity,
106
- },
107
- ...CommonEntitySnippets,
108
- ];
109
-
110
- export class LWPolylineParser {
111
- static ForEntityName = 'LWPOLYLINE';
112
-
113
- parseEntity(scanner: DxfArrayScanner, curr: ScannerGroup) {
114
- const entity = {} as any;
115
- createParser(LWPolylineSnippets, DefaultLWPolylineEntity)(
116
- curr,
117
- scanner,
118
- entity,
119
- );
120
- return entity as LWPolylineEntity;
121
- }
122
- }
@@ -1,21 +0,0 @@
1
- import type { Point2D, Point3D } from '../../../types';
2
- import type { CommonDxfEntity } from '../shared';
3
-
4
- export interface LWPolylineEntity extends CommonDxfEntity {
5
- type: 'LWPOLYLINE';
6
- subclassMarker: 'AcDbPolyline';
7
- numberOfVertices: number;
8
- flag: number;
9
- constantWidth?: number;
10
- elevation: number;
11
- thickness: number;
12
- extrusionDirection: Point3D;
13
- vertices: LWPolylineVertex[];
14
- }
15
-
16
- export interface LWPolylineVertex extends Point2D {
17
- id: number;
18
- startWidth?: number;
19
- endWidth?: number;
20
- bulge: number;
21
- }
@@ -1,5 +0,0 @@
1
- export enum MTextDrawingDirection {
2
- LEFT_TO_RIGHT = 1,
3
- TOP_TO_BOTTOM = 3,
4
- BY_STYLE = 5,
5
- }
@@ -1,3 +0,0 @@
1
- export * from './types';
2
- export * from './consts';
3
- export * from './parser';
@@ -1,195 +0,0 @@
1
- import type DxfArrayScanner from '../../DxfArrayScanner';
2
- import type { ScannerGroup } from '../../DxfArrayScanner';
3
- import { generateIntegers } from '../../../utils';
4
- import { skipEmbeddedObject } from '../../ParseHelpers';
5
- import {
6
- createParser,
7
- DXFParserSnippet,
8
- Identity,
9
- PointParser,
10
- } from '../../shared/parserGenerator';
11
- import { CommonEntitySnippets } from '../shared';
12
- import type { MTextEntity } from './types';
13
-
14
- const DefaultMTextEntity = {
15
- textStyle: 'STANDARD',
16
- extrusionDirection: { x: 0, y: 0, z: 1 },
17
- rotation: 0,
18
- };
19
-
20
- export const MTextEntityParserSnippets: DXFParserSnippet[] = [
21
- {
22
- // 얘는 원래 순수 MTEXT에는 없으나 ATTRIB에 내장된 MTEXT에는 있다
23
- // 만약 ATTRIB에만 이걸 놔두면, ATTRIB를 제외했을 때 터지는 경우가 생김
24
- code: 46,
25
- name: 'annotationHeight',
26
- parser: Identity,
27
- },
28
- {
29
- code: 101,
30
- parser(curr, scanner) {
31
- // 정체불명인데 기존 로직에 있어서 보존
32
- skipEmbeddedObject(scanner);
33
- },
34
- },
35
- {
36
- code: 50,
37
- name: 'columnHeight',
38
- parser: Identity,
39
- },
40
- {
41
- code: 49,
42
- name: 'columnGutter',
43
- parser: Identity,
44
- },
45
- {
46
- code: 48,
47
- name: 'columnWidth',
48
- parser: Identity,
49
- },
50
- {
51
- code: 79,
52
- name: 'columnAutoHeight',
53
- parser: Identity,
54
- },
55
- {
56
- code: 78,
57
- name: 'columnFlowReversed',
58
- parser: Identity,
59
- },
60
- {
61
- code: 76,
62
- name: 'columnCount',
63
- parser: Identity,
64
- },
65
- {
66
- code: 75,
67
- name: 'columnType',
68
- parser: Identity,
69
- },
70
- {
71
- code: 441,
72
- name: 'backgroundFillTransparency',
73
- parser: Identity,
74
- },
75
- {
76
- // Color to use for background fill when group code 90 is 1.
77
- code: 63,
78
- name: 'backgroundFillColor',
79
- parser: Identity,
80
- },
81
- {
82
- code: 45,
83
- name: 'fillBoxScale',
84
- parser: Identity,
85
- },
86
- {
87
- code: [...generateIntegers(430, 440)], // named color
88
- name: 'backgroundColor',
89
- parser: Identity, // 당장은 테이블 보기 힘들어서 놔둠 추후에 rgb화 필요
90
- },
91
- {
92
- code: [...generateIntegers(420, 430)], // rgb
93
- name: 'backgroundColor',
94
- parser: Identity,
95
- },
96
- {
97
- code: 90,
98
- name: 'backgroundFill',
99
- parser: Identity,
100
- },
101
- {
102
- code: 44,
103
- name: 'lineSpacing',
104
- parser: Identity,
105
- },
106
- {
107
- code: 73,
108
- name: 'lineSpacingStyle',
109
- parser: Identity,
110
- },
111
- {
112
- code: 50,
113
- name: 'rotation',
114
- parser: Identity, // radian
115
- },
116
- {
117
- code: 43, // vertical height of characters, 미사용
118
- },
119
- {
120
- code: 42, // horizontal width of characters, 미사용
121
- },
122
- {
123
- code: 11,
124
- name: 'direction',
125
- parser: PointParser,
126
- },
127
- {
128
- code: 210,
129
- name: 'extrusionDirection',
130
- parser: PointParser,
131
- },
132
- {
133
- code: 7,
134
- name: 'styleName',
135
- parser: Identity,
136
- },
137
- {
138
- code: 3,
139
- name: 'text',
140
- parser(curr, scanner, entity) {
141
- // Code 1에다 추가로 더 달아야 함
142
- return (entity.text ?? '') + curr.value;
143
- },
144
- },
145
- {
146
- code: 1,
147
- name: 'text',
148
- parser: Identity,
149
- },
150
- {
151
- code: 72,
152
- name: 'drawingDirection',
153
- parser: Identity,
154
- },
155
- {
156
- code: 71,
157
- name: 'attachmentPoint',
158
- parser: Identity,
159
- },
160
- {
161
- code: 41,
162
- name: 'width',
163
- parser: Identity,
164
- },
165
- {
166
- code: 40,
167
- name: 'height',
168
- parser: Identity,
169
- },
170
- {
171
- code: 10,
172
- name: 'insertionPoint',
173
- parser: PointParser,
174
- },
175
- {
176
- code: 100,
177
- name: 'subclassMarker',
178
- parser: Identity,
179
- },
180
- ...CommonEntitySnippets,
181
- ];
182
-
183
- export class MTextEntityParser {
184
- static ForEntityName = 'MTEXT';
185
- private parser = createParser(
186
- MTextEntityParserSnippets,
187
- DefaultMTextEntity,
188
- );
189
-
190
- parseEntity(scanner: DxfArrayScanner, curr: ScannerGroup) {
191
- const entity = {} as any;
192
- this.parser(curr, scanner, entity);
193
- return entity as MTextEntity;
194
- }
195
- }
@@ -1,34 +0,0 @@
1
- import type { AttachmentPoint } from '../../../consts';
2
- import type { Point3D } from '../../../types';
3
- import type { CommonDxfEntity } from '../shared';
4
- import type { MTextDrawingDirection } from './consts';
5
-
6
- export interface MTextEntity extends CommonDxfEntity {
7
- type: 'MTEXT';
8
- subclassMarker: 'AcDbMText';
9
- insertionPoint: Point3D;
10
- height: number;
11
- width: number;
12
- attachmentPoint: AttachmentPoint;
13
- drawingDirection: MTextDrawingDirection;
14
- text: string;
15
- styleName: string;
16
- extrusionDirection: Point3D;
17
- direction: Point3D;
18
- rotation: number; // radian
19
- lineSpacingStyle: number;
20
- lineSpacing: number;
21
- backgroundFill: number;
22
- backgroundColor: number;
23
- fillBoxScale: number;
24
- backgroundFillColor: number;
25
- backgroundFillTransparency: number;
26
- columnType: number;
27
- columnCount: number;
28
- columnFlowReversed: number;
29
- columnAutoHeight: number;
30
- columnWidth: number;
31
- columnGutter: number;
32
- columnHeight: number;
33
- annotationHeight: number;
34
- }
@@ -1,2 +0,0 @@
1
- export * from './types';
2
- export * from './parser';
@@ -1,60 +0,0 @@
1
- import DxfArrayScanner, { ScannerGroup } from '../../DxfArrayScanner';
2
- import {
3
- createParser,
4
- DXFParserSnippet,
5
- Identity,
6
- PointParser,
7
- } from '../../shared/parserGenerator';
8
- import { CommonEntitySnippets } from '../shared';
9
-
10
- const DefaultPointEntity = {
11
- thickness: 0,
12
- extrusionDirection: { x: 0, y: 0, z: 1 },
13
- angle: 0,
14
- };
15
-
16
- const PointEntityParserSnippets: DXFParserSnippet[] = [
17
- // Angle of the X axis for the UCS in effect
18
- // when the point was drawn.
19
- // used when PDMODE is nonzero.
20
- {
21
- code: 50,
22
- name: 'angle',
23
- parser: Identity,
24
- },
25
- {
26
- code: 210,
27
- name: 'extrusionDirection',
28
- parser: PointParser,
29
- },
30
- {
31
- code: 39,
32
- name: 'thickness',
33
- parser: Identity,
34
- },
35
- {
36
- code: 10,
37
- name: 'position',
38
- parser: PointParser,
39
- },
40
- {
41
- code: 100,
42
- name: 'subclassMarker',
43
- parser: Identity,
44
- },
45
- ...CommonEntitySnippets,
46
- ];
47
-
48
- export class PointEntityParser {
49
- static ForEntityName = 'POINT';
50
- private parser = createParser(
51
- PointEntityParserSnippets,
52
- DefaultPointEntity,
53
- );
54
-
55
- parseEntity(scanner: DxfArrayScanner, curr: ScannerGroup) {
56
- const entity = {} as any;
57
- this.parser(curr, scanner, entity);
58
- return entity;
59
- }
60
- }
@@ -1,10 +0,0 @@
1
- import { Point3D } from '../../../types';
2
- import type { CommonDxfEntity } from '../shared';
3
-
4
- export interface PointEntity extends CommonDxfEntity {
5
- type: 'POINT';
6
- position: Point3D;
7
- thickness: number;
8
- extrusionDirection: Point3D;
9
- angle: number;
10
- }
@@ -1,17 +0,0 @@
1
- export enum PolylineFlag {
2
- CLOSED_POLYLINE = 1,
3
- CURVE_FIT = 2,
4
- SPLINE_FIT = 4,
5
- POLYLINE_3D = 8,
6
- POLYGON_3D = 16,
7
- CLOSED_POLYGON = 32,
8
- POLYFACE = 64,
9
- CONTINUOUS = 128,
10
- }
11
-
12
- export enum SmoothType {
13
- NONE = 0,
14
- QUADRATIC = 5,
15
- CUBIC = 6,
16
- BEZIER = 8,
17
- }