@linkiez/dxf-renew 5.3.1

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 (447) hide show
  1. package/.eslintignore +17 -0
  2. package/.eslintrc.json +61 -0
  3. package/.gitattributes +4 -0
  4. package/.github/instructions/project-en_US.instructions.md +352 -0
  5. package/.github/workflows/release.yml +110 -0
  6. package/.husky/commit-msg +4 -0
  7. package/.husky/pre-commit +1 -0
  8. package/.prettierignore +1 -0
  9. package/.prettierrc.json +6 -0
  10. package/.releaserc.json +76 -0
  11. package/.travis.yml +6 -0
  12. package/.yarn/install-state.gz +0 -0
  13. package/.yarnrc.yml +1 -0
  14. package/CHANGELOG.md +134 -0
  15. package/CONTRIBUTING.md +271 -0
  16. package/LICENSE +21 -0
  17. package/PLAN.md +517 -0
  18. package/README.md +306 -0
  19. package/build.mjs +66 -0
  20. package/commitlint.config.js +25 -0
  21. package/dist/dxf.js +7234 -0
  22. package/docs/CODE_PATTERNS.md +182 -0
  23. package/docs/DIMENSION_SUMMARY.md +248 -0
  24. package/docs/DIMENSION_SUMMARY.pt-BR.md +248 -0
  25. package/docs/IMPLEMENTED-2D-ENTITIES.md +54 -0
  26. package/docs/IMPLEMENTED-2D-ENTITIES.pt-BR.md +54 -0
  27. package/docs/TEXT-MTEXT-DIMENSION-SUPPORT.md +241 -0
  28. package/docs/TEXT-MTEXT-DIMENSION-SUPPORT.pt-BR.md +169 -0
  29. package/docs/autocad_2012_pdf_dxf-reference_enu.md +8272 -0
  30. package/examples/dxf.html +36 -0
  31. package/examples/example.es5.js +30 -0
  32. package/examples/example.es6.js +30 -0
  33. package/examples/text-dimension-viewer.html +133 -0
  34. package/lib/Helper.cjs +89 -0
  35. package/lib/Helper.cjs.map +7 -0
  36. package/lib/Helper.js +59 -0
  37. package/lib/Helper.js.map +7 -0
  38. package/lib/applyTransforms.cjs +59 -0
  39. package/lib/applyTransforms.cjs.map +7 -0
  40. package/lib/applyTransforms.js +39 -0
  41. package/lib/applyTransforms.js.map +7 -0
  42. package/lib/cli.cjs +53 -0
  43. package/lib/cli.cjs.map +7 -0
  44. package/lib/cli.js +29 -0
  45. package/lib/cli.js.map +7 -0
  46. package/lib/config.cjs +30 -0
  47. package/lib/config.cjs.map +7 -0
  48. package/lib/config.js +10 -0
  49. package/lib/config.js.map +7 -0
  50. package/lib/constants.cjs +39 -0
  51. package/lib/constants.cjs.map +7 -0
  52. package/lib/constants.js +15 -0
  53. package/lib/constants.js.map +7 -0
  54. package/lib/denormalise.cjs +148 -0
  55. package/lib/denormalise.cjs.map +7 -0
  56. package/lib/denormalise.js +118 -0
  57. package/lib/denormalise.js.map +7 -0
  58. package/lib/dimensionToSVG.cjs +307 -0
  59. package/lib/dimensionToSVG.cjs.map +7 -0
  60. package/lib/dimensionToSVG.js +273 -0
  61. package/lib/dimensionToSVG.js.map +7 -0
  62. package/lib/entityToPolyline.cjs +248 -0
  63. package/lib/entityToPolyline.cjs.map +7 -0
  64. package/lib/entityToPolyline.js +213 -0
  65. package/lib/entityToPolyline.js.map +7 -0
  66. package/lib/getRGBForEntity.cjs +53 -0
  67. package/lib/getRGBForEntity.cjs.map +7 -0
  68. package/lib/getRGBForEntity.js +23 -0
  69. package/lib/getRGBForEntity.js.map +7 -0
  70. package/lib/groupEntitiesByLayer.cjs +34 -0
  71. package/lib/groupEntitiesByLayer.cjs.map +7 -0
  72. package/lib/groupEntitiesByLayer.js +14 -0
  73. package/lib/groupEntitiesByLayer.js.map +7 -0
  74. package/lib/handlers/blocks.cjs +93 -0
  75. package/lib/handlers/blocks.cjs.map +7 -0
  76. package/lib/handlers/blocks.js +63 -0
  77. package/lib/handlers/blocks.js.map +7 -0
  78. package/lib/handlers/entities.cjs +118 -0
  79. package/lib/handlers/entities.cjs.map +7 -0
  80. package/lib/handlers/entities.js +88 -0
  81. package/lib/handlers/entities.js.map +7 -0
  82. package/lib/handlers/entity/arc.cjs +82 -0
  83. package/lib/handlers/entity/arc.cjs.map +7 -0
  84. package/lib/handlers/entity/arc.js +47 -0
  85. package/lib/handlers/entity/arc.js.map +7 -0
  86. package/lib/handlers/entity/attdef.cjs +318 -0
  87. package/lib/handlers/entity/attdef.cjs.map +7 -0
  88. package/lib/handlers/entity/attdef.js +282 -0
  89. package/lib/handlers/entity/attdef.js.map +7 -0
  90. package/lib/handlers/entity/attrib.cjs +52 -0
  91. package/lib/handlers/entity/attrib.cjs.map +7 -0
  92. package/lib/handlers/entity/attrib.js +27 -0
  93. package/lib/handlers/entity/attrib.js.map +7 -0
  94. package/lib/handlers/entity/circle.cjs +73 -0
  95. package/lib/handlers/entity/circle.cjs.map +7 -0
  96. package/lib/handlers/entity/circle.js +38 -0
  97. package/lib/handlers/entity/circle.js.map +7 -0
  98. package/lib/handlers/entity/common.cjs +83 -0
  99. package/lib/handlers/entity/common.cjs.map +7 -0
  100. package/lib/handlers/entity/common.js +63 -0
  101. package/lib/handlers/entity/common.js.map +7 -0
  102. package/lib/handlers/entity/dimension.cjs +203 -0
  103. package/lib/handlers/entity/dimension.cjs.map +7 -0
  104. package/lib/handlers/entity/dimension.js +168 -0
  105. package/lib/handlers/entity/dimension.js.map +7 -0
  106. package/lib/handlers/entity/ellipse.cjs +88 -0
  107. package/lib/handlers/entity/ellipse.cjs.map +7 -0
  108. package/lib/handlers/entity/ellipse.js +53 -0
  109. package/lib/handlers/entity/ellipse.js.map +7 -0
  110. package/lib/handlers/entity/hatch.cjs +470 -0
  111. package/lib/handlers/entity/hatch.cjs.map +7 -0
  112. package/lib/handlers/entity/hatch.js +435 -0
  113. package/lib/handlers/entity/hatch.js.map +7 -0
  114. package/lib/handlers/entity/insert.cjs +106 -0
  115. package/lib/handlers/entity/insert.cjs.map +7 -0
  116. package/lib/handlers/entity/insert.js +71 -0
  117. package/lib/handlers/entity/insert.js.map +7 -0
  118. package/lib/handlers/entity/line.cjs +84 -0
  119. package/lib/handlers/entity/line.cjs.map +7 -0
  120. package/lib/handlers/entity/line.js +49 -0
  121. package/lib/handlers/entity/line.js.map +7 -0
  122. package/lib/handlers/entity/lwpolyline.cjs +82 -0
  123. package/lib/handlers/entity/lwpolyline.cjs.map +7 -0
  124. package/lib/handlers/entity/lwpolyline.js +47 -0
  125. package/lib/handlers/entity/lwpolyline.js.map +7 -0
  126. package/lib/handlers/entity/mtext.cjs +121 -0
  127. package/lib/handlers/entity/mtext.cjs.map +7 -0
  128. package/lib/handlers/entity/mtext.js +85 -0
  129. package/lib/handlers/entity/mtext.js.map +7 -0
  130. package/lib/handlers/entity/ole2Frame.cjs +98 -0
  131. package/lib/handlers/entity/ole2Frame.cjs.map +7 -0
  132. package/lib/handlers/entity/ole2Frame.js +63 -0
  133. package/lib/handlers/entity/ole2Frame.js.map +7 -0
  134. package/lib/handlers/entity/point.cjs +73 -0
  135. package/lib/handlers/entity/point.cjs.map +7 -0
  136. package/lib/handlers/entity/point.js +38 -0
  137. package/lib/handlers/entity/point.js.map +7 -0
  138. package/lib/handlers/entity/polyline.cjs +70 -0
  139. package/lib/handlers/entity/polyline.cjs.map +7 -0
  140. package/lib/handlers/entity/polyline.js +35 -0
  141. package/lib/handlers/entity/polyline.js.map +7 -0
  142. package/lib/handlers/entity/solid.cjs +101 -0
  143. package/lib/handlers/entity/solid.cjs.map +7 -0
  144. package/lib/handlers/entity/solid.js +66 -0
  145. package/lib/handlers/entity/solid.js.map +7 -0
  146. package/lib/handlers/entity/spline.cjs +109 -0
  147. package/lib/handlers/entity/spline.cjs.map +7 -0
  148. package/lib/handlers/entity/spline.js +74 -0
  149. package/lib/handlers/entity/spline.js.map +7 -0
  150. package/lib/handlers/entity/text.cjs +85 -0
  151. package/lib/handlers/entity/text.cjs.map +7 -0
  152. package/lib/handlers/entity/text.js +49 -0
  153. package/lib/handlers/entity/text.js.map +7 -0
  154. package/lib/handlers/entity/threeDFace.cjs +98 -0
  155. package/lib/handlers/entity/threeDFace.cjs.map +7 -0
  156. package/lib/handlers/entity/threeDFace.js +63 -0
  157. package/lib/handlers/entity/threeDFace.js.map +7 -0
  158. package/lib/handlers/entity/vertex.cjs +78 -0
  159. package/lib/handlers/entity/vertex.cjs.map +7 -0
  160. package/lib/handlers/entity/vertex.js +53 -0
  161. package/lib/handlers/entity/vertex.js.map +7 -0
  162. package/lib/handlers/entity/viewport.cjs +153 -0
  163. package/lib/handlers/entity/viewport.cjs.map +7 -0
  164. package/lib/handlers/entity/viewport.js +118 -0
  165. package/lib/handlers/entity/viewport.js.map +7 -0
  166. package/lib/handlers/header.cjs +92 -0
  167. package/lib/handlers/header.cjs.map +7 -0
  168. package/lib/handlers/header.js +72 -0
  169. package/lib/handlers/header.js.map +7 -0
  170. package/lib/handlers/objects.cjs +170 -0
  171. package/lib/handlers/objects.cjs.map +7 -0
  172. package/lib/handlers/objects.js +150 -0
  173. package/lib/handlers/objects.js.map +7 -0
  174. package/lib/handlers/tables.cjs +587 -0
  175. package/lib/handlers/tables.cjs.map +7 -0
  176. package/lib/handlers/tables.js +557 -0
  177. package/lib/handlers/tables.js.map +7 -0
  178. package/lib/index.cjs +60 -0
  179. package/lib/index.cjs.map +7 -0
  180. package/lib/index.js +19 -0
  181. package/lib/index.js.map +7 -0
  182. package/lib/parseString.cjs +118 -0
  183. package/lib/parseString.cjs.map +7 -0
  184. package/lib/parseString.js +88 -0
  185. package/lib/parseString.js.map +7 -0
  186. package/lib/toPolylines.cjs +69 -0
  187. package/lib/toPolylines.cjs.map +7 -0
  188. package/lib/toPolylines.js +39 -0
  189. package/lib/toPolylines.js.map +7 -0
  190. package/lib/toSVG.cjs +395 -0
  191. package/lib/toSVG.cjs.map +7 -0
  192. package/lib/toSVG.js +361 -0
  193. package/lib/toSVG.js.map +7 -0
  194. package/lib/types/arc-entity.cjs +17 -0
  195. package/lib/types/arc-entity.cjs.map +7 -0
  196. package/lib/types/arc-entity.js +1 -0
  197. package/lib/types/arc-entity.js.map +7 -0
  198. package/lib/types/base-entity.cjs +17 -0
  199. package/lib/types/base-entity.cjs.map +7 -0
  200. package/lib/types/base-entity.js +1 -0
  201. package/lib/types/base-entity.js.map +7 -0
  202. package/lib/types/circle-entity.cjs +17 -0
  203. package/lib/types/circle-entity.cjs.map +7 -0
  204. package/lib/types/circle-entity.js +1 -0
  205. package/lib/types/circle-entity.js.map +7 -0
  206. package/lib/types/common.cjs +17 -0
  207. package/lib/types/common.cjs.map +7 -0
  208. package/lib/types/common.js +1 -0
  209. package/lib/types/common.js.map +7 -0
  210. package/lib/types/dimension-entity.cjs +17 -0
  211. package/lib/types/dimension-entity.cjs.map +7 -0
  212. package/lib/types/dimension-entity.js +1 -0
  213. package/lib/types/dimension-entity.js.map +7 -0
  214. package/lib/types/dxf.cjs +17 -0
  215. package/lib/types/dxf.cjs.map +7 -0
  216. package/lib/types/dxf.js +1 -0
  217. package/lib/types/dxf.js.map +7 -0
  218. package/lib/types/ellipse-entity.cjs +17 -0
  219. package/lib/types/ellipse-entity.cjs.map +7 -0
  220. package/lib/types/ellipse-entity.js +1 -0
  221. package/lib/types/ellipse-entity.js.map +7 -0
  222. package/lib/types/entity.cjs +17 -0
  223. package/lib/types/entity.cjs.map +7 -0
  224. package/lib/types/entity.js +1 -0
  225. package/lib/types/entity.js.map +7 -0
  226. package/lib/types/handler-internal.cjs +17 -0
  227. package/lib/types/handler-internal.cjs.map +7 -0
  228. package/lib/types/handler-internal.js +1 -0
  229. package/lib/types/handler-internal.js.map +7 -0
  230. package/lib/types/handler.cjs +17 -0
  231. package/lib/types/handler.cjs.map +7 -0
  232. package/lib/types/handler.js +1 -0
  233. package/lib/types/handler.js.map +7 -0
  234. package/lib/types/hatch-entity.cjs +17 -0
  235. package/lib/types/hatch-entity.cjs.map +7 -0
  236. package/lib/types/hatch-entity.js +1 -0
  237. package/lib/types/hatch-entity.js.map +7 -0
  238. package/lib/types/helper.cjs +17 -0
  239. package/lib/types/helper.cjs.map +7 -0
  240. package/lib/types/helper.js +1 -0
  241. package/lib/types/helper.js.map +7 -0
  242. package/lib/types/index.cjs +77 -0
  243. package/lib/types/index.cjs.map +7 -0
  244. package/lib/types/index.js +29 -0
  245. package/lib/types/index.js.map +7 -0
  246. package/lib/types/insert-entity.cjs +17 -0
  247. package/lib/types/insert-entity.cjs.map +7 -0
  248. package/lib/types/insert-entity.js +1 -0
  249. package/lib/types/insert-entity.js.map +7 -0
  250. package/lib/types/layer-groups.cjs +17 -0
  251. package/lib/types/layer-groups.cjs.map +7 -0
  252. package/lib/types/layer-groups.js +1 -0
  253. package/lib/types/layer-groups.js.map +7 -0
  254. package/lib/types/line-entity.cjs +17 -0
  255. package/lib/types/line-entity.cjs.map +7 -0
  256. package/lib/types/line-entity.js +1 -0
  257. package/lib/types/line-entity.js.map +7 -0
  258. package/lib/types/mtext-entity.cjs +17 -0
  259. package/lib/types/mtext-entity.cjs.map +7 -0
  260. package/lib/types/mtext-entity.js +1 -0
  261. package/lib/types/mtext-entity.js.map +7 -0
  262. package/lib/types/ole2frame-entity.cjs +17 -0
  263. package/lib/types/ole2frame-entity.cjs.map +7 -0
  264. package/lib/types/ole2frame-entity.js +1 -0
  265. package/lib/types/ole2frame-entity.js.map +7 -0
  266. package/lib/types/options.cjs +17 -0
  267. package/lib/types/options.cjs.map +7 -0
  268. package/lib/types/options.js +1 -0
  269. package/lib/types/options.js.map +7 -0
  270. package/lib/types/point-entity.cjs +17 -0
  271. package/lib/types/point-entity.cjs.map +7 -0
  272. package/lib/types/point-entity.js +1 -0
  273. package/lib/types/point-entity.js.map +7 -0
  274. package/lib/types/polyline-entity.cjs +17 -0
  275. package/lib/types/polyline-entity.cjs.map +7 -0
  276. package/lib/types/polyline-entity.js +1 -0
  277. package/lib/types/polyline-entity.js.map +7 -0
  278. package/lib/types/polylines.cjs +17 -0
  279. package/lib/types/polylines.cjs.map +7 -0
  280. package/lib/types/polylines.js +1 -0
  281. package/lib/types/polylines.js.map +7 -0
  282. package/lib/types/solid-entity.cjs +17 -0
  283. package/lib/types/solid-entity.cjs.map +7 -0
  284. package/lib/types/solid-entity.js +1 -0
  285. package/lib/types/solid-entity.js.map +7 -0
  286. package/lib/types/spline-entity.cjs +17 -0
  287. package/lib/types/spline-entity.cjs.map +7 -0
  288. package/lib/types/spline-entity.js +1 -0
  289. package/lib/types/spline-entity.js.map +7 -0
  290. package/lib/types/svg.cjs +17 -0
  291. package/lib/types/svg.cjs.map +7 -0
  292. package/lib/types/svg.js +1 -0
  293. package/lib/types/svg.js.map +7 -0
  294. package/lib/types/tables.cjs +17 -0
  295. package/lib/types/tables.cjs.map +7 -0
  296. package/lib/types/tables.js +1 -0
  297. package/lib/types/tables.js.map +7 -0
  298. package/lib/types/text-entity.cjs +17 -0
  299. package/lib/types/text-entity.cjs.map +7 -0
  300. package/lib/types/text-entity.js +1 -0
  301. package/lib/types/text-entity.js.map +7 -0
  302. package/lib/types/util-types.cjs +17 -0
  303. package/lib/types/util-types.cjs.map +7 -0
  304. package/lib/types/util-types.js +1 -0
  305. package/lib/types/util-types.js.map +7 -0
  306. package/lib/types/vecks.d.cjs +2 -0
  307. package/lib/types/vecks.d.cjs.map +7 -0
  308. package/lib/types/vecks.d.js +1 -0
  309. package/lib/types/vecks.d.js.map +7 -0
  310. package/lib/types/viewport-entity.cjs +17 -0
  311. package/lib/types/viewport-entity.cjs.map +7 -0
  312. package/lib/types/viewport-entity.js +1 -0
  313. package/lib/types/viewport-entity.js.map +7 -0
  314. package/lib/types.cjs +23 -0
  315. package/lib/types.cjs.map +7 -0
  316. package/lib/types.js +2 -0
  317. package/lib/types.js.map +7 -0
  318. package/lib/util/bSpline.cjs +95 -0
  319. package/lib/util/bSpline.cjs.map +7 -0
  320. package/lib/util/bSpline.js +65 -0
  321. package/lib/util/bSpline.js.map +7 -0
  322. package/lib/util/colors.cjs +283 -0
  323. package/lib/util/colors.cjs.map +7 -0
  324. package/lib/util/colors.js +263 -0
  325. package/lib/util/colors.js.map +7 -0
  326. package/lib/util/createArcForLWPolyline.cjs +84 -0
  327. package/lib/util/createArcForLWPolyline.cjs.map +7 -0
  328. package/lib/util/createArcForLWPolyline.js +64 -0
  329. package/lib/util/createArcForLWPolyline.js.map +7 -0
  330. package/lib/util/dxfColorToRGB.cjs +115 -0
  331. package/lib/util/dxfColorToRGB.cjs.map +7 -0
  332. package/lib/util/dxfColorToRGB.js +90 -0
  333. package/lib/util/dxfColorToRGB.js.map +7 -0
  334. package/lib/util/insertKnot.cjs +77 -0
  335. package/lib/util/insertKnot.cjs.map +7 -0
  336. package/lib/util/insertKnot.js +57 -0
  337. package/lib/util/insertKnot.js.map +7 -0
  338. package/lib/util/logger.cjs +53 -0
  339. package/lib/util/logger.cjs.map +7 -0
  340. package/lib/util/logger.js +23 -0
  341. package/lib/util/logger.js.map +7 -0
  342. package/lib/util/rgbToColorAttribute.cjs +32 -0
  343. package/lib/util/rgbToColorAttribute.cjs.map +7 -0
  344. package/lib/util/rgbToColorAttribute.js +12 -0
  345. package/lib/util/rgbToColorAttribute.js.map +7 -0
  346. package/lib/util/rotate.cjs +30 -0
  347. package/lib/util/rotate.cjs.map +7 -0
  348. package/lib/util/rotate.js +10 -0
  349. package/lib/util/rotate.js.map +7 -0
  350. package/lib/util/round10.cjs +38 -0
  351. package/lib/util/round10.cjs.map +7 -0
  352. package/lib/util/round10.js +18 -0
  353. package/lib/util/round10.js.map +7 -0
  354. package/lib/util/toPiecewiseBezier.cjs +90 -0
  355. package/lib/util/toPiecewiseBezier.cjs.map +7 -0
  356. package/lib/util/toPiecewiseBezier.js +54 -0
  357. package/lib/util/toPiecewiseBezier.js.map +7 -0
  358. package/lib/util/transformBoundingBoxAndElement.cjs +80 -0
  359. package/lib/util/transformBoundingBoxAndElement.cjs.map +7 -0
  360. package/lib/util/transformBoundingBoxAndElement.js +60 -0
  361. package/lib/util/transformBoundingBoxAndElement.js.map +7 -0
  362. package/package.json +127 -0
  363. package/src/Helper.ts +71 -0
  364. package/src/applyTransforms.ts +54 -0
  365. package/src/cli.ts +41 -0
  366. package/src/config.ts +10 -0
  367. package/src/constants.ts +14 -0
  368. package/src/denormalise.ts +153 -0
  369. package/src/dimensionToSVG.ts +427 -0
  370. package/src/entityToPolyline.ts +338 -0
  371. package/src/getRGBForEntity.ts +28 -0
  372. package/src/groupEntitiesByLayer.ts +14 -0
  373. package/src/handlers/blocks.ts +65 -0
  374. package/src/handlers/entities.ts +111 -0
  375. package/src/handlers/entity/arc.ts +61 -0
  376. package/src/handlers/entity/attdef.ts +284 -0
  377. package/src/handlers/entity/attrib.ts +29 -0
  378. package/src/handlers/entity/circle.ts +47 -0
  379. package/src/handlers/entity/common.ts +79 -0
  380. package/src/handlers/entity/dimension.ts +217 -0
  381. package/src/handlers/entity/ellipse.ts +55 -0
  382. package/src/handlers/entity/hatch.ts +471 -0
  383. package/src/handlers/entity/insert.ts +73 -0
  384. package/src/handlers/entity/line.ts +56 -0
  385. package/src/handlers/entity/lwpolyline.ts +54 -0
  386. package/src/handlers/entity/mtext.ts +150 -0
  387. package/src/handlers/entity/ole2Frame.ts +64 -0
  388. package/src/handlers/entity/point.ts +47 -0
  389. package/src/handlers/entity/polyline.ts +49 -0
  390. package/src/handlers/entity/solid.ts +73 -0
  391. package/src/handlers/entity/spline.ts +103 -0
  392. package/src/handlers/entity/text.ts +83 -0
  393. package/src/handlers/entity/threeDFace.ts +69 -0
  394. package/src/handlers/entity/vertex.ts +55 -0
  395. package/src/handlers/entity/viewport.ts +119 -0
  396. package/src/handlers/header.ts +73 -0
  397. package/src/handlers/objects.ts +152 -0
  398. package/src/handlers/tables.ts +581 -0
  399. package/src/index.ts +19 -0
  400. package/src/parseString.ts +97 -0
  401. package/src/toPolylines.ts +47 -0
  402. package/src/toSVG.ts +518 -0
  403. package/src/types/README.md +91 -0
  404. package/src/types/arc-entity.ts +10 -0
  405. package/src/types/base-entity.ts +25 -0
  406. package/src/types/circle-entity.ts +8 -0
  407. package/src/types/common.ts +37 -0
  408. package/src/types/dimension-entity.ts +23 -0
  409. package/src/types/dxf.ts +64 -0
  410. package/src/types/ellipse-entity.ts +13 -0
  411. package/src/types/entity.ts +32 -0
  412. package/src/types/handler-internal.ts +51 -0
  413. package/src/types/handler.ts +10 -0
  414. package/src/types/hatch-entity.ts +127 -0
  415. package/src/types/helper.ts +12 -0
  416. package/src/types/index.ts +53 -0
  417. package/src/types/insert-entity.ts +19 -0
  418. package/src/types/layer-groups.ts +8 -0
  419. package/src/types/line-entity.ts +10 -0
  420. package/src/types/mtext-entity.ts +35 -0
  421. package/src/types/ole2frame-entity.ts +35 -0
  422. package/src/types/options.ts +17 -0
  423. package/src/types/point-entity.ts +7 -0
  424. package/src/types/polyline-entity.ts +20 -0
  425. package/src/types/polylines.ts +22 -0
  426. package/src/types/solid-entity.ts +9 -0
  427. package/src/types/spline-entity.ts +12 -0
  428. package/src/types/svg.ts +31 -0
  429. package/src/types/tables.ts +414 -0
  430. package/src/types/text-entity.ts +23 -0
  431. package/src/types/util-types.ts +27 -0
  432. package/src/types/vecks.d.ts +29 -0
  433. package/src/types/viewport-entity.ts +81 -0
  434. package/src/types.ts +5 -0
  435. package/src/util/bSpline.ts +97 -0
  436. package/src/util/colors.ts +266 -0
  437. package/src/util/createArcForLWPolyline.ts +93 -0
  438. package/src/util/diagram.png +0 -0
  439. package/src/util/dxfColorToRGB.ts +106 -0
  440. package/src/util/insertKnot.ts +69 -0
  441. package/src/util/logger.ts +23 -0
  442. package/src/util/rgbToColorAttribute.ts +14 -0
  443. package/src/util/rotate.ts +14 -0
  444. package/src/util/round10.ts +24 -0
  445. package/src/util/toPiecewiseBezier.ts +70 -0
  446. package/src/util/transformBoundingBoxAndElement.ts +74 -0
  447. package/tsconfig.json +34 -0
@@ -0,0 +1,47 @@
1
+ import common from "./common";
2
+ const TYPE = "ARC";
3
+ const process = (tuples) => {
4
+ return tuples.reduce(
5
+ (entity, tuple) => {
6
+ const type = tuple[0];
7
+ const value = tuple[1];
8
+ switch (type) {
9
+ case 10:
10
+ entity.x = value;
11
+ break;
12
+ case 20:
13
+ entity.y = value;
14
+ break;
15
+ case 30:
16
+ entity.z = value;
17
+ break;
18
+ case 39:
19
+ entity.thickness = value;
20
+ break;
21
+ case 40:
22
+ entity.r = value;
23
+ break;
24
+ case 50:
25
+ entity.startAngle = value / 180 * Math.PI;
26
+ break;
27
+ case 51:
28
+ entity.endAngle = value / 180 * Math.PI;
29
+ break;
30
+ default:
31
+ Object.assign(entity, common(type, value));
32
+ break;
33
+ }
34
+ return entity;
35
+ },
36
+ {
37
+ type: TYPE
38
+ }
39
+ );
40
+ };
41
+ var arc_default = { TYPE, process };
42
+ export {
43
+ TYPE,
44
+ arc_default as default,
45
+ process
46
+ };
47
+ //# sourceMappingURL=arc.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/arc.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport common from './common'\n\nexport const TYPE = 'ARC'\n\n\ninterface ArcEntity {\n type: typeof TYPE\n x?: number\n y?: number\n z?: number\n thickness?: number\n r?: number\n startAngle?: number\n endAngle?: number\n [key: string]: unknown\n}\n\nexport const process = (tuples: DXFTuple[]): ArcEntity => {\n return tuples.reduce(\n (entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n switch (type) {\n case 10:\n entity.x = value as number\n break\n case 20:\n entity.y = value as number\n break\n case 30:\n entity.z = value as number\n break\n case 39:\n entity.thickness = value as number\n break\n case 40:\n entity.r = value as number\n break\n case 50:\n // *Someone* decided that ELLIPSE angles are in radians but\n // ARC angles are in degrees\n entity.startAngle = ((value as number) / 180) * Math.PI\n break\n case 51:\n entity.endAngle = ((value as number) / 180) * Math.PI\n break\n default:\n Object.assign(entity, common(type, value))\n break\n }\n return entity\n },\n {\n type: TYPE,\n } as ArcEntity,\n )\n}\n\nexport default { TYPE, process }\n"],
5
+ "mappings": "AAEA,OAAO,YAAY;AAEZ,MAAM,OAAO;AAeb,MAAM,UAAU,CAAC,WAAkC;AACxD,SAAO,OAAO;AAAA,IACZ,CAAC,QAAQ,UAAU;AACjB,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,QAAQ,MAAM,CAAC;AACrB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,QACF,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,QACF,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,QACF,KAAK;AACH,iBAAO,YAAY;AACnB;AAAA,QACF,KAAK;AACH,iBAAO,IAAI;AACX;AAAA,QACF,KAAK;AAGH,iBAAO,aAAe,QAAmB,MAAO,KAAK;AACrD;AAAA,QACF,KAAK;AACH,iBAAO,WAAa,QAAmB,MAAO,KAAK;AACnD;AAAA,QACF;AACE,iBAAO,OAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;AACzC;AAAA,MACJ;AACA,aAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,IAAO,cAAQ,EAAE,MAAM,QAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,318 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var attdef_exports = {};
30
+ __export(attdef_exports, {
31
+ TYPE: () => TYPE,
32
+ assign: () => assign,
33
+ default: () => attdef_default,
34
+ process: () => process
35
+ });
36
+ module.exports = __toCommonJS(attdef_exports);
37
+ var import_common = __toESM(require("./common"), 1);
38
+ var import_mtext = require("./mtext");
39
+ var import_text = require("./text");
40
+ const TYPE = "ATTDEF";
41
+ const process = (tuples) => {
42
+ return tuples.reduce(
43
+ (entity, tuple) => {
44
+ const type = tuple[0];
45
+ const value = tuple[1];
46
+ assign(entity, type, value);
47
+ return entity;
48
+ },
49
+ {
50
+ type: TYPE,
51
+ subclassMarker: "AcDbText",
52
+ thickness: 0,
53
+ scaleX: 1,
54
+ mtext: {},
55
+ text: {}
56
+ }
57
+ );
58
+ };
59
+ const assign = (entity, type, value) => {
60
+ switch (type) {
61
+ case 100: {
62
+ entity.subclassMarker = value;
63
+ break;
64
+ }
65
+ case 1:
66
+ switch (entity.subclassMarker) {
67
+ case "AcDbText":
68
+ (0, import_text.assign)(entity.text, type, value);
69
+ break;
70
+ case "AcDbMText":
71
+ (0, import_mtext.assign)(entity.mtext, type, value);
72
+ break;
73
+ }
74
+ break;
75
+ case 2:
76
+ switch (entity.subclassMarker) {
77
+ case "AcDbAttributeDefinition":
78
+ case "AcDbAttribute":
79
+ entity.tag = value;
80
+ break;
81
+ case "AcDbXrecord":
82
+ entity.attdefFlag = value;
83
+ break;
84
+ }
85
+ break;
86
+ case 3:
87
+ switch (entity.subclassMarker) {
88
+ case "AcDbAttributeDefinition":
89
+ entity.prompt = value;
90
+ break;
91
+ case "AcDbMText":
92
+ (0, import_mtext.assign)(entity.mtext, type, value);
93
+ break;
94
+ }
95
+ break;
96
+ case 7:
97
+ case 41:
98
+ case 50:
99
+ case 71:
100
+ case 72:
101
+ switch (entity.subclassMarker) {
102
+ case "AcDbAttributeDefinition":
103
+ case "AcDbAttribute":
104
+ (0, import_text.assign)(entity.text, type, value);
105
+ break;
106
+ case "AcDbMText":
107
+ (0, import_mtext.assign)(entity.mtext, type, value);
108
+ break;
109
+ }
110
+ break;
111
+ case 10:
112
+ switch (entity.subclassMarker) {
113
+ case "AcDbText":
114
+ (0, import_text.assign)(entity.text, type, value);
115
+ break;
116
+ case "AcDbMText":
117
+ (0, import_mtext.assign)(entity.mtext, type, value);
118
+ break;
119
+ case "AcDbXrecord":
120
+ entity.x = value;
121
+ break;
122
+ }
123
+ break;
124
+ case 20:
125
+ switch (entity.subclassMarker) {
126
+ case "AcDbText":
127
+ (0, import_text.assign)(entity.text, type, value);
128
+ break;
129
+ case "AcDbMText":
130
+ (0, import_mtext.assign)(entity.mtext, type, value);
131
+ break;
132
+ case "AcDbXrecord":
133
+ entity.y = value;
134
+ break;
135
+ }
136
+ break;
137
+ case 30:
138
+ switch (entity.subclassMarker) {
139
+ case "AcDbText":
140
+ (0, import_text.assign)(entity.text, type, value);
141
+ break;
142
+ case "AcDbMText":
143
+ (0, import_mtext.assign)(entity.mtext, type, value);
144
+ break;
145
+ case "AcDbXrecord":
146
+ entity.z = value;
147
+ break;
148
+ }
149
+ break;
150
+ case 11:
151
+ switch (entity.subclassMarker) {
152
+ case "AcDbAttributeDefinition":
153
+ case "AcDbAttribute":
154
+ entity.x2 = value;
155
+ break;
156
+ case "AcDbMText":
157
+ (0, import_mtext.assign)(entity.mtext, type, value);
158
+ break;
159
+ }
160
+ break;
161
+ case 21:
162
+ switch (entity.subclassMarker) {
163
+ case "AcDbAttributeDefinition":
164
+ case "AcDbAttribute":
165
+ entity.y2 = value;
166
+ break;
167
+ case "AcDbMText":
168
+ (0, import_mtext.assign)(entity.mtext, type, value);
169
+ break;
170
+ }
171
+ break;
172
+ case 31:
173
+ switch (entity.subclassMarker) {
174
+ case "AcDbAttributeDefinition":
175
+ case "AcDbAttribute":
176
+ entity.z2 = value;
177
+ break;
178
+ case "AcDbMText":
179
+ (0, import_mtext.assign)(entity.mtext, type, value);
180
+ break;
181
+ }
182
+ break;
183
+ case 39:
184
+ (0, import_text.assign)(entity.text, type, value);
185
+ break;
186
+ case 40:
187
+ switch (entity.subclassMarker) {
188
+ case "AcDbText":
189
+ (0, import_text.assign)(entity.text, type, value);
190
+ break;
191
+ case "AcDbMText":
192
+ (0, import_mtext.assign)(entity.mtext, type, value);
193
+ break;
194
+ case "AcDbXrecord":
195
+ entity.annotationScale = value;
196
+ break;
197
+ }
198
+ break;
199
+ case 42:
200
+ case 43:
201
+ case 44:
202
+ case 45:
203
+ (0, import_mtext.assign)(entity.mtext, type, value);
204
+ break;
205
+ case 46:
206
+ entity.mtext.annotationHeight = value;
207
+ break;
208
+ case 48:
209
+ case 49:
210
+ (0, import_mtext.assign)(entity.mtext, type, value);
211
+ break;
212
+ case 51:
213
+ (0, import_text.assign)(entity.text, type, value);
214
+ break;
215
+ case 63:
216
+ (0, import_mtext.assign)(entity.mtext, type, value);
217
+ break;
218
+ case 70:
219
+ switch (entity.subclassMarker) {
220
+ case "AcDbAttributeDefinition":
221
+ case "AcDbAttribute":
222
+ entity.attributeFlags = value;
223
+ break;
224
+ case "AcDbXrecord":
225
+ if (entity.mTextFlag === void 0)
226
+ entity.mTextFlag = value;
227
+ else if (entity.isReallyLocked === void 0)
228
+ entity.isReallyLocked = value;
229
+ else entity.secondaryAttdefCount = value;
230
+ break;
231
+ }
232
+ break;
233
+ case 73:
234
+ switch (entity.subclassMarker) {
235
+ case "AcDbAttributeDefinition":
236
+ case "AcDbAttribute":
237
+ entity.fieldLength = value;
238
+ break;
239
+ case "AcDbMText":
240
+ (0, import_mtext.assign)(entity.mtext, type, value);
241
+ break;
242
+ }
243
+ break;
244
+ case 74:
245
+ (0, import_text.assign)(entity.text, 73, value);
246
+ break;
247
+ case 75:
248
+ case 76:
249
+ case 78:
250
+ case 79:
251
+ (0, import_mtext.assign)(entity.mtext, type, value);
252
+ break;
253
+ case 90:
254
+ (0, import_mtext.assign)(entity.mtext, type, value);
255
+ break;
256
+ case 210:
257
+ case 220:
258
+ case 230:
259
+ switch (entity.subclassMarker) {
260
+ case "AcDbAttributeDefinition":
261
+ case "AcDbAttribute":
262
+ (0, import_text.assign)(entity.mtext, type, value);
263
+ break;
264
+ case "AcDbMText":
265
+ (0, import_mtext.assign)(entity.mtext, type, value);
266
+ break;
267
+ }
268
+ break;
269
+ case 280:
270
+ switch (entity.subclassMarker) {
271
+ case "AcDbAttributeDefinition":
272
+ case "AcDbAttribute":
273
+ entity.lock = value;
274
+ break;
275
+ case "AcDbXrecord":
276
+ entity.clone = true;
277
+ break;
278
+ }
279
+ break;
280
+ case 340:
281
+ entity.attdefHandle = value;
282
+ break;
283
+ case 420:
284
+ case 421:
285
+ case 422:
286
+ case 423:
287
+ case 424:
288
+ case 425:
289
+ case 426:
290
+ case 427:
291
+ case 428:
292
+ case 429:
293
+ case 430:
294
+ case 431:
295
+ case 432:
296
+ case 433:
297
+ case 434:
298
+ case 435:
299
+ case 436:
300
+ case 437:
301
+ case 438:
302
+ case 439:
303
+ case 441:
304
+ (0, import_mtext.assign)(entity.mtext, type, value);
305
+ break;
306
+ default:
307
+ Object.assign(entity, (0, import_common.default)(type, value));
308
+ break;
309
+ }
310
+ };
311
+ var attdef_default = { TYPE, process, assign };
312
+ // Annotate the CommonJS export names for ESM import in node:
313
+ 0 && (module.exports = {
314
+ TYPE,
315
+ assign,
316
+ process
317
+ });
318
+ //# sourceMappingURL=attdef.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/handlers/entity/attdef.ts"],
4
+ "sourcesContent": ["import type { DXFTuple } from '../../types/dxf'\n\nimport common from './common'\nimport { assign as assignMTEXT } from './mtext'\nimport { assign as assignTEXT } from './text'\n\n\nexport const TYPE = 'ATTDEF'\n\nexport const process = (tuples: DXFTuple[]): any => {\n return tuples.reduce(\n (entity, tuple) => {\n const type = tuple[0]\n const value = tuple[1]\n\n assign(entity, type, value)\n\n return entity\n },\n {\n type: TYPE,\n subclassMarker: 'AcDbText',\n thickness: 0,\n scaleX: 1,\n mtext: {},\n text: {},\n },\n )\n}\n\nexport const assign = (entity: any, type: number, value: string | number): void => {\n switch (type) {\n case 100: {\n entity.subclassMarker = value\n break\n }\n case 1:\n switch (entity.subclassMarker) {\n case 'AcDbText':\n assignTEXT(entity.text, type, value)\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n }\n break\n case 2:\n switch (entity.subclassMarker) {\n case 'AcDbAttributeDefinition':\n case 'AcDbAttribute':\n entity.tag = value\n break\n case 'AcDbXrecord':\n entity.attdefFlag = value\n break\n }\n break\n case 3:\n switch (entity.subclassMarker) {\n case 'AcDbAttributeDefinition':\n entity.prompt = value\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n }\n break\n case 7:\n case 41:\n case 50:\n case 71:\n case 72:\n switch (entity.subclassMarker) {\n case 'AcDbAttributeDefinition':\n case 'AcDbAttribute':\n assignTEXT(entity.text, type, value)\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n }\n break\n case 10:\n switch (entity.subclassMarker) {\n case 'AcDbText':\n assignTEXT(entity.text, type, value)\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n case 'AcDbXrecord':\n entity.x = value\n break\n }\n break\n case 20:\n switch (entity.subclassMarker) {\n case 'AcDbText':\n assignTEXT(entity.text, type, value)\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n case 'AcDbXrecord':\n entity.y = value\n break\n }\n break\n case 30:\n switch (entity.subclassMarker) {\n case 'AcDbText':\n assignTEXT(entity.text, type, value)\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n case 'AcDbXrecord':\n entity.z = value\n break\n }\n break\n case 11:\n switch (entity.subclassMarker) {\n case 'AcDbAttributeDefinition':\n case 'AcDbAttribute':\n entity.x2 = value\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n }\n break\n case 21:\n switch (entity.subclassMarker) {\n case 'AcDbAttributeDefinition':\n case 'AcDbAttribute':\n entity.y2 = value\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n }\n break\n case 31:\n switch (entity.subclassMarker) {\n case 'AcDbAttributeDefinition':\n case 'AcDbAttribute':\n entity.z2 = value\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n }\n break\n case 39:\n assignTEXT(entity.text, type, value)\n break\n case 40:\n switch (entity.subclassMarker) {\n case 'AcDbText':\n assignTEXT(entity.text, type, value)\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n case 'AcDbXrecord':\n entity.annotationScale = value\n break\n }\n break\n case 42:\n case 43:\n case 44:\n case 45:\n assignMTEXT(entity.mtext, type, value)\n break\n case 46:\n entity.mtext.annotationHeight = value\n break\n case 48:\n case 49:\n assignMTEXT(entity.mtext, type, value)\n break\n case 51:\n assignTEXT(entity.text, type, value)\n break\n case 63:\n assignMTEXT(entity.mtext, type, value)\n break\n case 70:\n switch (entity.subclassMarker) {\n case 'AcDbAttributeDefinition':\n case 'AcDbAttribute':\n entity.attributeFlags = value\n break\n case 'AcDbXrecord':\n if (entity.mTextFlag === undefined)\n entity.mTextFlag = value\n else if (entity.isReallyLocked === undefined)\n entity.isReallyLocked = value\n else entity.secondaryAttdefCount = value\n break\n }\n break\n case 73:\n switch (entity.subclassMarker) {\n case 'AcDbAttributeDefinition':\n case 'AcDbAttribute':\n entity.fieldLength = value\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n }\n break\n case 74:\n assignTEXT(entity.text, 73, value)\n break\n case 75:\n case 76:\n case 78:\n case 79:\n assignMTEXT(entity.mtext, type, value)\n break\n case 90:\n assignMTEXT(entity.mtext, type, value)\n break\n case 210:\n case 220:\n case 230:\n switch (entity.subclassMarker) {\n case 'AcDbAttributeDefinition':\n case 'AcDbAttribute':\n assignTEXT(entity.mtext, type, value)\n break\n case 'AcDbMText':\n assignMTEXT(entity.mtext, type, value)\n break\n }\n break\n case 280:\n switch (entity.subclassMarker) {\n case 'AcDbAttributeDefinition':\n case 'AcDbAttribute':\n entity.lock = value\n break\n case 'AcDbXrecord':\n entity.clone = true\n break\n }\n break\n case 340:\n entity.attdefHandle = value\n break\n case 420:\n case 421:\n case 422:\n case 423:\n case 424:\n case 425:\n case 426:\n case 427:\n case 428:\n case 429:\n case 430:\n case 431:\n case 432:\n case 433:\n case 434:\n case 435:\n case 436:\n case 437:\n case 438:\n case 439:\n case 441:\n assignMTEXT(entity.mtext, type, value)\n break\n default:\n Object.assign(entity, common(type, value))\n break\n }\n}\n\nexport default { TYPE, process, assign }\n"],
5
+ "mappings": "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",
6
+ "names": ["assignTEXT", "assignMTEXT", "common"]
7
+ }
@@ -0,0 +1,282 @@
1
+ import common from "./common";
2
+ import { assign as assignMTEXT } from "./mtext";
3
+ import { assign as assignTEXT } from "./text";
4
+ const TYPE = "ATTDEF";
5
+ const process = (tuples) => {
6
+ return tuples.reduce(
7
+ (entity, tuple) => {
8
+ const type = tuple[0];
9
+ const value = tuple[1];
10
+ assign(entity, type, value);
11
+ return entity;
12
+ },
13
+ {
14
+ type: TYPE,
15
+ subclassMarker: "AcDbText",
16
+ thickness: 0,
17
+ scaleX: 1,
18
+ mtext: {},
19
+ text: {}
20
+ }
21
+ );
22
+ };
23
+ const assign = (entity, type, value) => {
24
+ switch (type) {
25
+ case 100: {
26
+ entity.subclassMarker = value;
27
+ break;
28
+ }
29
+ case 1:
30
+ switch (entity.subclassMarker) {
31
+ case "AcDbText":
32
+ assignTEXT(entity.text, type, value);
33
+ break;
34
+ case "AcDbMText":
35
+ assignMTEXT(entity.mtext, type, value);
36
+ break;
37
+ }
38
+ break;
39
+ case 2:
40
+ switch (entity.subclassMarker) {
41
+ case "AcDbAttributeDefinition":
42
+ case "AcDbAttribute":
43
+ entity.tag = value;
44
+ break;
45
+ case "AcDbXrecord":
46
+ entity.attdefFlag = value;
47
+ break;
48
+ }
49
+ break;
50
+ case 3:
51
+ switch (entity.subclassMarker) {
52
+ case "AcDbAttributeDefinition":
53
+ entity.prompt = value;
54
+ break;
55
+ case "AcDbMText":
56
+ assignMTEXT(entity.mtext, type, value);
57
+ break;
58
+ }
59
+ break;
60
+ case 7:
61
+ case 41:
62
+ case 50:
63
+ case 71:
64
+ case 72:
65
+ switch (entity.subclassMarker) {
66
+ case "AcDbAttributeDefinition":
67
+ case "AcDbAttribute":
68
+ assignTEXT(entity.text, type, value);
69
+ break;
70
+ case "AcDbMText":
71
+ assignMTEXT(entity.mtext, type, value);
72
+ break;
73
+ }
74
+ break;
75
+ case 10:
76
+ switch (entity.subclassMarker) {
77
+ case "AcDbText":
78
+ assignTEXT(entity.text, type, value);
79
+ break;
80
+ case "AcDbMText":
81
+ assignMTEXT(entity.mtext, type, value);
82
+ break;
83
+ case "AcDbXrecord":
84
+ entity.x = value;
85
+ break;
86
+ }
87
+ break;
88
+ case 20:
89
+ switch (entity.subclassMarker) {
90
+ case "AcDbText":
91
+ assignTEXT(entity.text, type, value);
92
+ break;
93
+ case "AcDbMText":
94
+ assignMTEXT(entity.mtext, type, value);
95
+ break;
96
+ case "AcDbXrecord":
97
+ entity.y = value;
98
+ break;
99
+ }
100
+ break;
101
+ case 30:
102
+ switch (entity.subclassMarker) {
103
+ case "AcDbText":
104
+ assignTEXT(entity.text, type, value);
105
+ break;
106
+ case "AcDbMText":
107
+ assignMTEXT(entity.mtext, type, value);
108
+ break;
109
+ case "AcDbXrecord":
110
+ entity.z = value;
111
+ break;
112
+ }
113
+ break;
114
+ case 11:
115
+ switch (entity.subclassMarker) {
116
+ case "AcDbAttributeDefinition":
117
+ case "AcDbAttribute":
118
+ entity.x2 = value;
119
+ break;
120
+ case "AcDbMText":
121
+ assignMTEXT(entity.mtext, type, value);
122
+ break;
123
+ }
124
+ break;
125
+ case 21:
126
+ switch (entity.subclassMarker) {
127
+ case "AcDbAttributeDefinition":
128
+ case "AcDbAttribute":
129
+ entity.y2 = value;
130
+ break;
131
+ case "AcDbMText":
132
+ assignMTEXT(entity.mtext, type, value);
133
+ break;
134
+ }
135
+ break;
136
+ case 31:
137
+ switch (entity.subclassMarker) {
138
+ case "AcDbAttributeDefinition":
139
+ case "AcDbAttribute":
140
+ entity.z2 = value;
141
+ break;
142
+ case "AcDbMText":
143
+ assignMTEXT(entity.mtext, type, value);
144
+ break;
145
+ }
146
+ break;
147
+ case 39:
148
+ assignTEXT(entity.text, type, value);
149
+ break;
150
+ case 40:
151
+ switch (entity.subclassMarker) {
152
+ case "AcDbText":
153
+ assignTEXT(entity.text, type, value);
154
+ break;
155
+ case "AcDbMText":
156
+ assignMTEXT(entity.mtext, type, value);
157
+ break;
158
+ case "AcDbXrecord":
159
+ entity.annotationScale = value;
160
+ break;
161
+ }
162
+ break;
163
+ case 42:
164
+ case 43:
165
+ case 44:
166
+ case 45:
167
+ assignMTEXT(entity.mtext, type, value);
168
+ break;
169
+ case 46:
170
+ entity.mtext.annotationHeight = value;
171
+ break;
172
+ case 48:
173
+ case 49:
174
+ assignMTEXT(entity.mtext, type, value);
175
+ break;
176
+ case 51:
177
+ assignTEXT(entity.text, type, value);
178
+ break;
179
+ case 63:
180
+ assignMTEXT(entity.mtext, type, value);
181
+ break;
182
+ case 70:
183
+ switch (entity.subclassMarker) {
184
+ case "AcDbAttributeDefinition":
185
+ case "AcDbAttribute":
186
+ entity.attributeFlags = value;
187
+ break;
188
+ case "AcDbXrecord":
189
+ if (entity.mTextFlag === void 0)
190
+ entity.mTextFlag = value;
191
+ else if (entity.isReallyLocked === void 0)
192
+ entity.isReallyLocked = value;
193
+ else entity.secondaryAttdefCount = value;
194
+ break;
195
+ }
196
+ break;
197
+ case 73:
198
+ switch (entity.subclassMarker) {
199
+ case "AcDbAttributeDefinition":
200
+ case "AcDbAttribute":
201
+ entity.fieldLength = value;
202
+ break;
203
+ case "AcDbMText":
204
+ assignMTEXT(entity.mtext, type, value);
205
+ break;
206
+ }
207
+ break;
208
+ case 74:
209
+ assignTEXT(entity.text, 73, value);
210
+ break;
211
+ case 75:
212
+ case 76:
213
+ case 78:
214
+ case 79:
215
+ assignMTEXT(entity.mtext, type, value);
216
+ break;
217
+ case 90:
218
+ assignMTEXT(entity.mtext, type, value);
219
+ break;
220
+ case 210:
221
+ case 220:
222
+ case 230:
223
+ switch (entity.subclassMarker) {
224
+ case "AcDbAttributeDefinition":
225
+ case "AcDbAttribute":
226
+ assignTEXT(entity.mtext, type, value);
227
+ break;
228
+ case "AcDbMText":
229
+ assignMTEXT(entity.mtext, type, value);
230
+ break;
231
+ }
232
+ break;
233
+ case 280:
234
+ switch (entity.subclassMarker) {
235
+ case "AcDbAttributeDefinition":
236
+ case "AcDbAttribute":
237
+ entity.lock = value;
238
+ break;
239
+ case "AcDbXrecord":
240
+ entity.clone = true;
241
+ break;
242
+ }
243
+ break;
244
+ case 340:
245
+ entity.attdefHandle = value;
246
+ break;
247
+ case 420:
248
+ case 421:
249
+ case 422:
250
+ case 423:
251
+ case 424:
252
+ case 425:
253
+ case 426:
254
+ case 427:
255
+ case 428:
256
+ case 429:
257
+ case 430:
258
+ case 431:
259
+ case 432:
260
+ case 433:
261
+ case 434:
262
+ case 435:
263
+ case 436:
264
+ case 437:
265
+ case 438:
266
+ case 439:
267
+ case 441:
268
+ assignMTEXT(entity.mtext, type, value);
269
+ break;
270
+ default:
271
+ Object.assign(entity, common(type, value));
272
+ break;
273
+ }
274
+ };
275
+ var attdef_default = { TYPE, process, assign };
276
+ export {
277
+ TYPE,
278
+ assign,
279
+ attdef_default as default,
280
+ process
281
+ };
282
+ //# sourceMappingURL=attdef.js.map