@maqiuyao/dxf-viewer 0.1.0

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 (227) hide show
  1. package/README.md +79 -0
  2. package/dist/assets/vite-project.css +1 -0
  3. package/dist/dxf-viewer.cjs +1533 -0
  4. package/dist/dxf-viewer.js +33490 -0
  5. package/dist/src/dxfViewer/core/Configs.d.ts +250 -0
  6. package/dist/src/dxfViewer/core/Constants.d.ts +76 -0
  7. package/dist/src/dxfViewer/core/Units.d.ts +16 -0
  8. package/dist/src/dxfViewer/core/VersionManager.d.ts +14 -0
  9. package/dist/src/dxfViewer/core/camera/CameraManager.d.ts +81 -0
  10. package/dist/src/dxfViewer/core/camera/index.d.ts +1 -0
  11. package/dist/src/dxfViewer/core/camera-controls/CameraControls.d.ts +744 -0
  12. package/dist/src/dxfViewer/core/camera-controls/Constants.d.ts +2 -0
  13. package/dist/src/dxfViewer/core/camera-controls/EventDispatcher.d.ts +42 -0
  14. package/dist/src/dxfViewer/core/camera-controls/index.d.ts +2 -0
  15. package/dist/src/dxfViewer/core/camera-controls/types.d.ts +112 -0
  16. package/dist/src/dxfViewer/core/camera-controls/utils/extractClientCoordFromEvent.d.ts +7 -0
  17. package/dist/src/dxfViewer/core/camera-controls/utils/math-utils.d.ts +14 -0
  18. package/dist/src/dxfViewer/core/camera-controls/utils/notSupportedInOrthographicCamera.d.ts +2 -0
  19. package/dist/src/dxfViewer/core/canvas/CanvasRender.d.ts +49 -0
  20. package/dist/src/dxfViewer/core/canvas/Constants.d.ts +28 -0
  21. package/dist/src/dxfViewer/core/canvas/Drawable.d.ts +87 -0
  22. package/dist/src/dxfViewer/core/canvas/DrawableList.d.ts +40 -0
  23. package/dist/src/dxfViewer/core/canvas/index.d.ts +4 -0
  24. package/dist/src/dxfViewer/core/compare/BaseDxfCompareHelper.d.ts +104 -0
  25. package/dist/src/dxfViewer/core/compare/CompareDrawable.d.ts +30 -0
  26. package/dist/src/dxfViewer/core/compare/DxfCompareHelper.d.ts +76 -0
  27. package/dist/src/dxfViewer/core/compare/DxfCompareMarkupManager.d.ts +11 -0
  28. package/dist/src/dxfViewer/core/compare/index.d.ts +4 -0
  29. package/dist/src/dxfViewer/core/components/Container.d.ts +38 -0
  30. package/dist/src/dxfViewer/core/components/ProgressBar.d.ts +31 -0
  31. package/dist/src/dxfViewer/core/components/Spinner.d.ts +13 -0
  32. package/dist/src/dxfViewer/core/components/index.d.ts +3 -0
  33. package/dist/src/dxfViewer/core/controls/CameraControlsEx.d.ts +33 -0
  34. package/dist/src/dxfViewer/core/controls/Control.d.ts +17 -0
  35. package/dist/src/dxfViewer/core/controls/OrbitControls.d.ts +13 -0
  36. package/dist/src/dxfViewer/core/controls/PlanControls.d.ts +13 -0
  37. package/dist/src/dxfViewer/core/controls/index.d.ts +3 -0
  38. package/dist/src/dxfViewer/core/dxf/DxfCompare.d.ts +170 -0
  39. package/dist/src/dxfViewer/core/dxf/DxfConstants.d.ts +24 -0
  40. package/dist/src/dxfViewer/core/dxf/DxfLoader.d.ts +569 -0
  41. package/dist/src/dxfViewer/core/dxf/DxfObject.d.ts +44 -0
  42. package/dist/src/dxfViewer/core/dxf/DxfUtils.d.ts +79 -0
  43. package/dist/src/dxfViewer/core/dxf/HatchPatternShaders.d.ts +12 -0
  44. package/dist/src/dxfViewer/core/dxf/LinePatternShaders.d.ts +12 -0
  45. package/dist/src/dxfViewer/core/dxf/bspline.d.ts +7 -0
  46. package/dist/src/dxfViewer/core/dxf/dxfom-mtext.d.ts +46 -0
  47. package/dist/src/dxfViewer/core/dxf/dxfom-text.d.ts +16 -0
  48. package/dist/src/dxfViewer/core/dxf/index.d.ts +10 -0
  49. package/dist/src/dxfViewer/core/dxf/round10.d.ts +1 -0
  50. package/dist/src/dxfViewer/core/dxf-parser/AutoCadColorIndex.d.ts +8 -0
  51. package/dist/src/dxfViewer/core/dxf-parser/DxfBaseReader.d.ts +13 -0
  52. package/dist/src/dxfViewer/core/dxf-parser/DxfBinaryReader.d.ts +14 -0
  53. package/dist/src/dxfViewer/core/dxf-parser/DxfParser.d.ts +321 -0
  54. package/dist/src/dxfViewer/core/dxf-parser/DxfTextReader.d.ts +30 -0
  55. package/dist/src/dxfViewer/core/dxf-parser/ParseHelpers.d.ts +18 -0
  56. package/dist/src/dxfViewer/core/dxf-parser/entities/3dface.d.ts +11 -0
  57. package/dist/src/dxfViewer/core/dxf-parser/entities/arc.d.ts +16 -0
  58. package/dist/src/dxfViewer/core/dxf-parser/entities/attdef.d.ts +31 -0
  59. package/dist/src/dxfViewer/core/dxf-parser/entities/attrib.d.ts +31 -0
  60. package/dist/src/dxfViewer/core/dxf-parser/entities/circle.d.ts +13 -0
  61. package/dist/src/dxfViewer/core/dxf-parser/entities/dimension.d.ts +22 -0
  62. package/dist/src/dxfViewer/core/dxf-parser/entities/ellipse.d.ts +15 -0
  63. package/dist/src/dxfViewer/core/dxf-parser/entities/geomtry.d.ts +40 -0
  64. package/dist/src/dxfViewer/core/dxf-parser/entities/hatch.d.ts +104 -0
  65. package/dist/src/dxfViewer/core/dxf-parser/entities/image.d.ts +37 -0
  66. package/dist/src/dxfViewer/core/dxf-parser/entities/insert.d.ts +21 -0
  67. package/dist/src/dxfViewer/core/dxf-parser/entities/leader.d.ts +20 -0
  68. package/dist/src/dxfViewer/core/dxf-parser/entities/line.d.ts +10 -0
  69. package/dist/src/dxfViewer/core/dxf-parser/entities/lwpolyline.d.ts +17 -0
  70. package/dist/src/dxfViewer/core/dxf-parser/entities/mleader.d.ts +97 -0
  71. package/dist/src/dxfViewer/core/dxf-parser/entities/mtext.d.ts +18 -0
  72. package/dist/src/dxfViewer/core/dxf-parser/entities/ole2frame.d.ts +18 -0
  73. package/dist/src/dxfViewer/core/dxf-parser/entities/point.d.ts +11 -0
  74. package/dist/src/dxfViewer/core/dxf-parser/entities/polyline.d.ts +19 -0
  75. package/dist/src/dxfViewer/core/dxf-parser/entities/ray.d.ts +10 -0
  76. package/dist/src/dxfViewer/core/dxf-parser/entities/region.d.ts +10 -0
  77. package/dist/src/dxfViewer/core/dxf-parser/entities/seqend.d.ts +8 -0
  78. package/dist/src/dxfViewer/core/dxf-parser/entities/solid.d.ts +10 -0
  79. package/dist/src/dxfViewer/core/dxf-parser/entities/spline.d.ts +23 -0
  80. package/dist/src/dxfViewer/core/dxf-parser/entities/table.d.ts +44 -0
  81. package/dist/src/dxfViewer/core/dxf-parser/entities/text.d.ts +18 -0
  82. package/dist/src/dxfViewer/core/dxf-parser/entities/vertex.d.ts +23 -0
  83. package/dist/src/dxfViewer/core/dxf-parser/entities/viewport.d.ts +46 -0
  84. package/dist/src/dxfViewer/core/dxf-parser/entities/xline.d.ts +10 -0
  85. package/dist/src/dxfViewer/core/dxf-parser/index.d.ts +27 -0
  86. package/dist/src/dxfViewer/core/dxf-parser/objects/common.d.ts +15 -0
  87. package/dist/src/dxfViewer/core/dxf-parser/objects/dictionary.d.ts +19 -0
  88. package/dist/src/dxfViewer/core/dxf-parser/objects/imagedef.d.ts +24 -0
  89. package/dist/src/dxfViewer/core/dxf-parser/objects/layout.d.ts +26 -0
  90. package/dist/src/dxfViewer/core/dxf-parser/objects/sortentstable.d.ts +12 -0
  91. package/dist/src/dxfViewer/core/dxf-parser/objects/spatialfilter.d.ts +22 -0
  92. package/dist/src/dxfViewer/core/dxf-parser/objects/xrecord.d.ts +11 -0
  93. package/dist/src/dxfViewer/core/effect/EffectManager.d.ts +43 -0
  94. package/dist/src/dxfViewer/core/effect/index.d.ts +1 -0
  95. package/dist/src/dxfViewer/core/font/BaseFont.d.ts +41 -0
  96. package/dist/src/dxfViewer/core/font/FontManager.d.ts +52 -0
  97. package/dist/src/dxfViewer/core/font/MeshFont.d.ts +14 -0
  98. package/dist/src/dxfViewer/core/font/ShxFont.d.ts +49 -0
  99. package/dist/src/dxfViewer/core/font/index.d.ts +1 -0
  100. package/dist/src/dxfViewer/core/font/shx/ExtraLettersTemplate.d.ts +4 -0
  101. package/dist/src/dxfViewer/core/font/shx/Shx.constants.d.ts +20 -0
  102. package/dist/src/dxfViewer/core/font/shx/ShxParser.d.ts +18 -0
  103. package/dist/src/dxfViewer/core/font/shx/TextShape.d.ts +24 -0
  104. package/dist/src/dxfViewer/core/font/shx/gbk/index.d.ts +3 -0
  105. package/dist/src/dxfViewer/core/font/shx/index.d.ts +1 -0
  106. package/dist/src/dxfViewer/core/font/shx/util/BitConverter.d.ts +21 -0
  107. package/dist/src/dxfViewer/core/geometry-offset/Edge.d.ts +27 -0
  108. package/dist/src/dxfViewer/core/geometry-offset/Offset.d.ts +46 -0
  109. package/dist/src/dxfViewer/core/geometry-offset/index.d.ts +1 -0
  110. package/dist/src/dxfViewer/core/helpers/BinaryReader.d.ts +23 -0
  111. package/dist/src/dxfViewer/core/helpers/BoxSelectHelper.d.ts +44 -0
  112. package/dist/src/dxfViewer/core/helpers/InstantiateHelper.d.ts +26 -0
  113. package/dist/src/dxfViewer/core/helpers/LoadingHelper.d.ts +59 -0
  114. package/dist/src/dxfViewer/core/helpers/MeshBvhHelper.d.ts +15 -0
  115. package/dist/src/dxfViewer/core/helpers/MobileTouchHelperDrawable.d.ts +26 -0
  116. package/dist/src/dxfViewer/core/helpers/OSnapHelper.d.ts +158 -0
  117. package/dist/src/dxfViewer/core/helpers/ObjectPixelSizeHelper.d.ts +13 -0
  118. package/dist/src/dxfViewer/core/helpers/PickMarkupHelper.d.ts +29 -0
  119. package/dist/src/dxfViewer/core/helpers/RafHelper.d.ts +18 -0
  120. package/dist/src/dxfViewer/core/helpers/ZoomToRectHelper.d.ts +24 -0
  121. package/dist/src/dxfViewer/core/helpers/index.d.ts +11 -0
  122. package/dist/src/dxfViewer/core/index.d.ts +19 -0
  123. package/dist/src/dxfViewer/core/indexeddb/BaseTable.d.ts +36 -0
  124. package/dist/src/dxfViewer/core/indexeddb/DxfDataTable.d.ts +22 -0
  125. package/dist/src/dxfViewer/core/indexeddb/FontDataTable.d.ts +32 -0
  126. package/dist/src/dxfViewer/core/indexeddb/IndexedDbManager.d.ts +50 -0
  127. package/dist/src/dxfViewer/core/indexeddb/index.d.ts +4 -0
  128. package/dist/src/dxfViewer/core/input-manager/InputManager.d.ts +146 -0
  129. package/dist/src/dxfViewer/core/input-manager/index.d.ts +2 -0
  130. package/dist/src/dxfViewer/core/materials/BimTilesHighlightMaterial.d.ts +21 -0
  131. package/dist/src/dxfViewer/core/materials/BimTilesMaterial.d.ts +32 -0
  132. package/dist/src/dxfViewer/core/materials/BimTilesPickMaterial.d.ts +14 -0
  133. package/dist/src/dxfViewer/core/materials/BimTilesTransparentMaterial.d.ts +20 -0
  134. package/dist/src/dxfViewer/core/materials/StandardMaterialEx.d.ts +29 -0
  135. package/dist/src/dxfViewer/core/materials/constants.d.ts +4 -0
  136. package/dist/src/dxfViewer/core/materials/index.d.ts +5 -0
  137. package/dist/src/dxfViewer/core/model/Constants.d.ts +58 -0
  138. package/dist/src/dxfViewer/core/model/Model.d.ts +18 -0
  139. package/dist/src/dxfViewer/core/model/Model2d.d.ts +144 -0
  140. package/dist/src/dxfViewer/core/model/Model3d.d.ts +111 -0
  141. package/dist/src/dxfViewer/core/model/bimtiles/BatchedMeshesParser.d.ts +26 -0
  142. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesConfigParser.d.ts +43 -0
  143. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesData.d.ts +280 -0
  144. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesMaterialManager.d.ts +139 -0
  145. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesModel.d.ts +70 -0
  146. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesPropertyParser.d.ts +45 -0
  147. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesRenderer.d.ts +59 -0
  148. package/dist/src/dxfViewer/core/model/bimtiles/InstancedMeshesParser.d.ts +41 -0
  149. package/dist/src/dxfViewer/core/model/bimtiles/TileParser.d.ts +14 -0
  150. package/dist/src/dxfViewer/core/model/bimtiles/Utils.d.ts +29 -0
  151. package/dist/src/dxfViewer/core/model/index.d.ts +6 -0
  152. package/dist/src/dxfViewer/core/patches/Constants.d.ts +6 -0
  153. package/dist/src/dxfViewer/core/patches/Line.d.ts +3 -0
  154. package/dist/src/dxfViewer/core/patches/Mesh.d.ts +2 -0
  155. package/dist/src/dxfViewer/core/patches/Points.d.ts +3 -0
  156. package/dist/src/dxfViewer/core/patches/index.d.ts +4 -0
  157. package/dist/src/dxfViewer/core/patches/shaders/ShaderChunk.d.ts +143 -0
  158. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/common_ex.glsl.d.ts +2 -0
  159. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/id_pars_vertex.glsl.d.ts +2 -0
  160. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/id_vertex.glsl.d.ts +2 -0
  161. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outine_bc_vertex.glsl.d.ts +2 -0
  162. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outline_bc_fragment.glsl.d.ts +2 -0
  163. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outline_bc_pars_fragment.glsl.d.ts +2 -0
  164. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outline_bc_pars_vertex.glsl.d.ts +2 -0
  165. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_fragment.glsl.d.ts +2 -0
  166. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_highlight_fragment.glsl.d.ts +2 -0
  167. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_pars_fragment.glsl.d.ts +2 -0
  168. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_transparent_fragment.glsl.d.ts +2 -0
  169. package/dist/src/dxfViewer/core/patches/shaders/shaderLib/pick_ex.glsl.d.ts +2 -0
  170. package/dist/src/dxfViewer/core/patches/shaders/shaderLib/standard_ex.glsl.d.ts +2 -0
  171. package/dist/src/dxfViewer/core/pick/PickManager.d.ts +54 -0
  172. package/dist/src/dxfViewer/core/pick/index.d.ts +1 -0
  173. package/dist/src/dxfViewer/core/scene/SceneManager.d.ts +43 -0
  174. package/dist/src/dxfViewer/core/scene/index.d.ts +1 -0
  175. package/dist/src/dxfViewer/core/shp-js/BitView.d.ts +12 -0
  176. package/dist/src/dxfViewer/core/shp-js/SHPLoader.d.ts +12 -0
  177. package/dist/src/dxfViewer/core/shp-js/Shp.d.ts +10 -0
  178. package/dist/src/dxfViewer/core/shp-js/ShpThree.d.ts +24 -0
  179. package/dist/src/dxfViewer/core/shp-js/index.d.ts +4 -0
  180. package/dist/src/dxfViewer/core/text-texture/TextTexture.d.ts +45 -0
  181. package/dist/src/dxfViewer/core/undo/Command.d.ts +6 -0
  182. package/dist/src/dxfViewer/core/undo/UndoManager.d.ts +24 -0
  183. package/dist/src/dxfViewer/core/undo/index.d.ts +2 -0
  184. package/dist/src/dxfViewer/core/utils/CSS2DObjectUtils.d.ts +14 -0
  185. package/dist/src/dxfViewer/core/utils/CancelablePromise.d.ts +6 -0
  186. package/dist/src/dxfViewer/core/utils/ColorUtils.d.ts +21 -0
  187. package/dist/src/dxfViewer/core/utils/CommonUtils.d.ts +129 -0
  188. package/dist/src/dxfViewer/core/utils/CoordinateUtils.d.ts +81 -0
  189. package/dist/src/dxfViewer/core/utils/DecimalPrecisionUtils.d.ts +10 -0
  190. package/dist/src/dxfViewer/core/utils/DeviceUtils.d.ts +15 -0
  191. package/dist/src/dxfViewer/core/utils/EdgeUtils.d.ts +14 -0
  192. package/dist/src/dxfViewer/core/utils/Event.d.ts +34 -0
  193. package/dist/src/dxfViewer/core/utils/ExportUtils.d.ts +61 -0
  194. package/dist/src/dxfViewer/core/utils/FpsUtils.d.ts +13 -0
  195. package/dist/src/dxfViewer/core/utils/GeometryUtils.d.ts +78 -0
  196. package/dist/src/dxfViewer/core/utils/Locale.d.ts +22 -0
  197. package/dist/src/dxfViewer/core/utils/LogUtils.d.ts +7 -0
  198. package/dist/src/dxfViewer/core/utils/MaterialUtils.d.ts +40 -0
  199. package/dist/src/dxfViewer/core/utils/MathUtils.d.ts +41 -0
  200. package/dist/src/dxfViewer/core/utils/MergeUtils.d.ts +120 -0
  201. package/dist/src/dxfViewer/core/utils/ObjectUtils.d.ts +215 -0
  202. package/dist/src/dxfViewer/core/utils/PolygonUtils.d.ts +9 -0
  203. package/dist/src/dxfViewer/core/utils/SVGObjectUtils.d.ts +22 -0
  204. package/dist/src/dxfViewer/core/utils/SceneUtils.d.ts +26 -0
  205. package/dist/src/dxfViewer/core/utils/SectionUtils.d.ts +11 -0
  206. package/dist/src/dxfViewer/core/utils/SimplifyUtils.d.ts +15 -0
  207. package/dist/src/dxfViewer/core/utils/TextUtils.d.ts +37 -0
  208. package/dist/src/dxfViewer/core/utils/TextureUtils.d.ts +16 -0
  209. package/dist/src/dxfViewer/core/utils/UnitConversionUtils.d.ts +31 -0
  210. package/dist/src/dxfViewer/core/utils/Viewer3dUtils.d.ts +25 -0
  211. package/dist/src/dxfViewer/core/utils/index.d.ts +26 -0
  212. package/dist/src/dxfViewer/core/viewers/BaseViewer.d.ts +248 -0
  213. package/dist/src/dxfViewer/core/viewers/BimTilesViewer.d.ts +126 -0
  214. package/dist/src/dxfViewer/core/viewers/Constants.d.ts +9 -0
  215. package/dist/src/dxfViewer/core/viewers/Plugin.d.ts +29 -0
  216. package/dist/src/dxfViewer/core/viewers/Viewer2d.d.ts +405 -0
  217. package/dist/src/dxfViewer/core/viewers/Viewer3d.d.ts +130 -0
  218. package/dist/src/dxfViewer/core/viewers/Viewer3dLite.d.ts +143 -0
  219. package/dist/src/dxfViewer/core/viewers/ViewerEvent.d.ts +96 -0
  220. package/dist/src/dxfViewer/core/viewers/index.d.ts +8 -0
  221. package/dist/src/dxfViewer/core/webcam/WebCam.d.ts +27 -0
  222. package/dist/src/dxfViewer/core/webcam/index.d.ts +1 -0
  223. package/dist/src/dxfViewer/core/workers/CreateMeshBvh.worker.d.ts +1 -0
  224. package/dist/src/dxfViewer/core/workers/GenerateMeshBvhWorker.d.ts +17 -0
  225. package/dist/src/dxfViewer/core/workers/index.d.ts +1 -0
  226. package/dist/src/dxfViewer/lib.d.ts +1 -0
  227. package/package.json +62 -0
@@ -0,0 +1,12 @@
1
+ import * as THREE from "three";
2
+ export declare class LinePatternShaders {
3
+ /**
4
+ * Creates line shader by given pattern.
5
+ * Note: remember to call line.computeLineDistances() in order to make it work!
6
+ */
7
+ static createLineShaderMaterial(pattern: number[], color: number, scale: number, viewportScaleUniform: {
8
+ value: number;
9
+ }, cameraZoomUniform: {
10
+ value: number;
11
+ }): THREE.Material;
12
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copied and ported to code standard as the b-spline library is not maintained any longer.
3
+ * Source:
4
+ * https://github.com/thibauts/b-spline
5
+ * Copyright (c) 2015 Thibaut Séguy <thibaut.seguy@gmail.com>
6
+ */
7
+ export declare const bspline: (t: number, degree: number, points: number[][], knots: number[], weights?: number[]) => number[];
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export type DxfMTextContentElement = DxfMTextContentElement[] | string | {
5
+ /** font family */
6
+ f?: string;
7
+ /** bold */
8
+ b?: 0 | 1;
9
+ /** italic */
10
+ i?: 0 | 1;
11
+ /** code page */
12
+ c?: number;
13
+ /** pitch */
14
+ p?: number;
15
+ /** angle in degrees */
16
+ Q?: number;
17
+ /** character height (with unit) */
18
+ H?: [number, string];
19
+ /** character width (with unit) */
20
+ W?: [number, string];
21
+ /** stacking */
22
+ S?: [string, "^" | "/" | "#", string];
23
+ /** alignment (0: bottom, 1: center, 2: top) */
24
+ A?: 0 | 1 | 2;
25
+ /** color index */
26
+ C?: number;
27
+ /** character spacing */
28
+ T?: number;
29
+ /** underscore */
30
+ L?: 0 | 1;
31
+ /** overscore */
32
+ O?: 0 | 1;
33
+ /** strike through */
34
+ K?: 0 | 1;
35
+ };
36
+ /**
37
+ * @internal
38
+ * [{f:""},
39
+ * {W:[,]},
40
+ * {C:number},
41
+ * ...
42
+ * ""] // The last one must be the test string
43
+ */
44
+ export declare const parseDxfMTextContent: (s: string, options?: {
45
+ readonly encoding?: string | TextDecoder | undefined;
46
+ }) => DxfMTextContentElement[];
@@ -0,0 +1,16 @@
1
+ export interface DxfTextContentElement {
2
+ /** text content */
3
+ text: string;
4
+ /** strike-through */
5
+ k?: 1;
6
+ /** overscore */
7
+ o?: 1;
8
+ /** underscore */
9
+ u?: 1;
10
+ }
11
+ export declare const decodeDxfTextCharacterCodes: (text: string, mbcsEncoding?: string | TextDecoder) => string;
12
+ export declare const decodeDxfTextUnicodeCodePoints: (text: string) => string;
13
+ export declare const decodeDxfTextMbcsCharacterCodes: (text: string, encoding: string | TextDecoder) => string;
14
+ export declare const parseDxfTextContent: (text: string, options?: {
15
+ readonly encoding?: string | TextDecoder;
16
+ }) => DxfTextContentElement[];
@@ -0,0 +1,10 @@
1
+ export * from './DxfCompare';
2
+ export * from './DxfLoader';
3
+ export * from './bspline';
4
+ export * from './dxfom-mtext';
5
+ export * from './round10';
6
+ export * from './DxfConstants';
7
+ export * from './DxfUtils';
8
+ export * from './HatchPatternShaders';
9
+ export * from './LinePatternShaders';
10
+ export * from './dxfom-text';
@@ -0,0 +1 @@
1
+ export declare const round10: (value: number, exp: number) => number;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * AutoCad files sometimes use an indexed color value between 1 and 255 inclusive.
3
+ * Each value corresponds to a color. index 1 is red, that is 16711680 or 0xFF0000.
4
+ * index 0 and 256, while included in this array, are actually reserved for inheritance
5
+ * values in AutoCad so they should not be used for index color lookups.
6
+ */
7
+ declare const AutoCadColorIndex: number[];
8
+ export default AutoCadColorIndex;
@@ -0,0 +1,13 @@
1
+ export interface IGroup {
2
+ code: number;
3
+ value: number | string | boolean;
4
+ }
5
+ export declare abstract class DxfBaseReader {
6
+ protected pointer: number;
7
+ protected eof: boolean;
8
+ lastReadGroup: IGroup | undefined;
9
+ constructor();
10
+ abstract next(): IGroup;
11
+ abstract hasNext(): boolean;
12
+ abstract isEOF(): boolean;
13
+ }
@@ -0,0 +1,14 @@
1
+ import { DxfBaseReader, IGroup } from './DxfBaseReader';
2
+ export default class DxfBinaryReader extends DxfBaseReader {
3
+ private reader;
4
+ private decoder;
5
+ private int8Array;
6
+ private caches;
7
+ constructor(data: ArrayBuffer);
8
+ next(): IGroup;
9
+ hasNext(): boolean;
10
+ isEOF(): boolean;
11
+ private parseGroupValue;
12
+ private readNullTerminatedString;
13
+ private ReadBinaryData;
14
+ }
@@ -0,0 +1,321 @@
1
+ import { default as IGeometry, IEntity, IPoint } from './entities/geomtry';
2
+ import { IObject, IObjectParser } from './objects/common';
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare enum BlockTypeFlags {
7
+ None = 0,
8
+ AnonymousBlock = 1,
9
+ NonConstantAttributeDefinitions = 2,
10
+ XRef = 4,
11
+ XRefOverlay = 8,
12
+ ExternallyDependent = 16,
13
+ ResolvedExternalReference = 32,
14
+ DefinitionExternalReference = 64
15
+ }
16
+ /**
17
+ * Definition of a block. Which contains entities, name, handle, etc.
18
+ * @internal
19
+ */
20
+ export interface IBlock {
21
+ entities: IEntity[];
22
+ ownerHandle: string;
23
+ xrefPath: string;
24
+ name: string;
25
+ name2: string;
26
+ handle: string;
27
+ layer: string;
28
+ position: IPoint;
29
+ paperSpace: boolean;
30
+ blockType: BlockTypeFlags;
31
+ description?: string;
32
+ }
33
+ /**
34
+ * Definition of a viewport.
35
+ * @internal
36
+ */
37
+ export interface IViewport {
38
+ name: string;
39
+ lowerLeftCorner: IPoint;
40
+ upperRightCorner: IPoint;
41
+ center: IPoint;
42
+ snapBasePoint: IPoint;
43
+ snapSpacing: IPoint;
44
+ gridSpacing: IPoint;
45
+ viewDirectionFromTarget: IPoint;
46
+ viewTarget: IPoint;
47
+ aspectRatio: number;
48
+ lensLength: number;
49
+ frontClippingPlane: string | number | boolean;
50
+ backClippingPlane: string | number | boolean;
51
+ viewHeight: number;
52
+ snapRotationAngle: number;
53
+ viewTwistAngle: number;
54
+ orthographicType: string;
55
+ ucsOrigin: IPoint;
56
+ ucsXAxis: IPoint;
57
+ ucsYAxis: IPoint;
58
+ renderMode: string;
59
+ defaultLightingType: string;
60
+ defaultLightingOn: string;
61
+ ownerHandle: string;
62
+ ambientColor: number;
63
+ }
64
+ /**
65
+ * Viewport table definition.
66
+ * @internal
67
+ */
68
+ export interface IViewportTableDefinition {
69
+ tableRecordsProperty: "viewports";
70
+ tableName: "viewport";
71
+ dxfSymbolName: "VPORT";
72
+ parseTableRecords(): IViewport[];
73
+ }
74
+ /**
75
+ * Line type.
76
+ * @internal
77
+ */
78
+ export interface ILineType {
79
+ name: string;
80
+ description: string;
81
+ pattern: number[];
82
+ patternLength: number;
83
+ }
84
+ /**
85
+ * Line type table definition.
86
+ * @internal
87
+ */
88
+ export interface ILineTypeTableDefinition {
89
+ tableRecordsProperty: "lineTypes";
90
+ tableName: "lineType";
91
+ dxfSymbolName: "LTYPE";
92
+ parseTableRecords(): Record<string, ILineType>;
93
+ }
94
+ /**
95
+ * Definition of a layer.
96
+ */
97
+ export interface ILayer {
98
+ /**
99
+ * Unique layer name with the dxf/dwg file.
100
+ */
101
+ name: string;
102
+ /**
103
+ * @internal
104
+ */
105
+ handle: string;
106
+ visible: boolean;
107
+ /**
108
+ * @internal
109
+ */
110
+ colorIndex: number;
111
+ /**
112
+ * color in decimal
113
+ */
114
+ color: number;
115
+ /**
116
+ * @internal
117
+ */
118
+ frozen: boolean;
119
+ /**
120
+ * @internal
121
+ */
122
+ flag: number;
123
+ /**
124
+ * @internal
125
+ */
126
+ lineType: string;
127
+ /**
128
+ * @internal
129
+ */
130
+ lineweight: 0 | 5 | 9 | 13 | 15 | 18 | 20 | 25 | 30 | 35 | 40 | 50 | 53 | 60 | 70 | 80 | 90 | 100 | 106 | 120 | 140 | 158 | 200 | 211 | -3 | -2 | -1;
131
+ }
132
+ /**
133
+ * Layer table definition.
134
+ * @internal
135
+ */
136
+ export interface ILayerTableDefinition {
137
+ tableRecordsProperty: "layers";
138
+ tableName: "layer";
139
+ dxfSymbolName: "LAYER";
140
+ parseTableRecords(): Record<string, ILayer>;
141
+ }
142
+ /**
143
+ * BlockRecord
144
+ * @internal
145
+ */
146
+ export interface IBlockRecord {
147
+ handle: string;
148
+ ownerHandle: string;
149
+ blockName: string;
150
+ layoutHandle: string;
151
+ blockInsertUnits: number;
152
+ blockExplodability: number;
153
+ blockScalability: number;
154
+ bitmap?: string;
155
+ }
156
+ /**
157
+ * @internal
158
+ */
159
+ export interface IBlockRecordTableDefinition {
160
+ tableRecordsProperty: "blockRecords";
161
+ tableName: "blockRecord";
162
+ dxfSymbolName: "BLOCK_RECORD";
163
+ parseTableRecords(): Record<string, IBlockRecord>;
164
+ }
165
+ /**
166
+ * Definition of a style.
167
+ * @internal
168
+ */
169
+ export interface IStyle {
170
+ handle: string;
171
+ ownerHandle: string;
172
+ styleName: string;
173
+ priorTextHeight: number;
174
+ textHeight: number;
175
+ xScale: number;
176
+ rotation: number;
177
+ mirrorType: number;
178
+ fontFile: string;
179
+ bigFontFile: string;
180
+ }
181
+ /**
182
+ * Style table definition.
183
+ * @internal
184
+ */
185
+ export interface IStyleTableDefinition {
186
+ tableRecordsProperty: "styles";
187
+ tableName: "style";
188
+ dxfSymbolName: "STYLE";
189
+ parseTableRecords(): Record<string, IStyle>;
190
+ }
191
+ /**
192
+ * Dim style.
193
+ * @internal
194
+ */
195
+ export interface IDimStyle {
196
+ styleName: string;
197
+ DIMSCALE: number;
198
+ DIMASZ: number;
199
+ DIMEXO: string;
200
+ DIMEXE: string;
201
+ DIMSE1: string;
202
+ DIMSE2: string;
203
+ DIMTAD: string;
204
+ DIMTXT: string;
205
+ DIMGAP: number;
206
+ DIMCLRD: number;
207
+ DIMCLRT: number;
208
+ DIMLFAC: number;
209
+ DIMDEC: string;
210
+ DIMLDRBLK: string;
211
+ }
212
+ /**
213
+ * Dim style table definition
214
+ * @internal
215
+ */
216
+ export interface IDimStyleTableDefinition {
217
+ tableRecordsProperty: "dimStyles";
218
+ tableName: "dimStyle";
219
+ dxfSymbolName: "DIMSTYLE";
220
+ parseTableRecords(): Record<string, IDimStyle>;
221
+ }
222
+ /**
223
+ * Table definitions.
224
+ * @internal
225
+ */
226
+ export interface ITableDefinitions {
227
+ VPORT: IViewportTableDefinition;
228
+ LTYPE: ILineTypeTableDefinition;
229
+ LAYER: ILayerTableDefinition;
230
+ BLOCK_RECORD: IBlockRecordTableDefinition;
231
+ STYLE: IStyleTableDefinition;
232
+ DIMSTYLE: IDimStyleTableDefinition;
233
+ }
234
+ /**
235
+ * Base table
236
+ * @internal
237
+ */
238
+ export interface IBaseTable {
239
+ handle: string;
240
+ ownerHandle: string;
241
+ }
242
+ /**
243
+ * Viewport table
244
+ * @internal
245
+ */
246
+ export interface IViewportTable extends IBaseTable {
247
+ viewports: IViewport[];
248
+ }
249
+ /**
250
+ * @internal
251
+ */
252
+ export interface ILayerTypesTable extends IBaseTable {
253
+ lineTypes: Record<string, ILineType>;
254
+ }
255
+ /**
256
+ * @internal
257
+ */
258
+ export interface ILayersTable extends IBaseTable {
259
+ layers: Record<string, ILayer>;
260
+ }
261
+ /**
262
+ * @internal
263
+ */
264
+ export interface IStylesTable extends IBaseTable {
265
+ styles: Record<string, IStyle>;
266
+ }
267
+ /**
268
+ * @internal
269
+ */
270
+ export interface IDimStyleTable extends IBaseTable {
271
+ dimStyles: Record<string, IDimStyle>;
272
+ }
273
+ /**
274
+ * @internal
275
+ */
276
+ export interface IBlockRecordsTable extends IBaseTable {
277
+ blockRecords: Record<string, IBlockRecord>;
278
+ }
279
+ /**
280
+ * @internal
281
+ */
282
+ export interface ITables {
283
+ viewport: IViewportTable;
284
+ lineType: ILayerTypesTable;
285
+ layer: ILayersTable;
286
+ blockRecord: IBlockRecordsTable;
287
+ style: IStylesTable;
288
+ dimStyle: IDimStyleTable;
289
+ }
290
+ /**
291
+ * @internal
292
+ */
293
+ export type ITable = IViewportTable | ILayerTypesTable | ILayersTable | IBlockRecordsTable | IStylesTable | IDimStyleTable;
294
+ /**
295
+ * @internal
296
+ */
297
+ export interface IDxf {
298
+ header: Record<string, IPoint | number>;
299
+ entities: IEntity[];
300
+ blocks: Record<string, IBlock>;
301
+ tables: ITables;
302
+ objects: Record<string, IObject[]>;
303
+ }
304
+ export default class DxfParser {
305
+ private _entityHandlers;
306
+ private _objectHandlers;
307
+ private _layoutBlocks;
308
+ unhandledSections: Record<string, number>;
309
+ unhandledObjects: Record<string, number>;
310
+ unhandledEntities: Record<string, number>;
311
+ unsupportedLineTypes: Record<string, number>;
312
+ encoding: string;
313
+ constructor(encoding: string);
314
+ parse(data: string | ArrayBuffer): any;
315
+ registerEntityHandler(HandlerClass: new () => IGeometry): void;
316
+ registerObjectHandler(HandlerClass: new () => IObjectParser): void;
317
+ parseSync(data: string | ArrayBuffer): any;
318
+ parseStream(stream: any): Promise<any>;
319
+ private _parse;
320
+ private splitByLineSeparator;
321
+ }
@@ -0,0 +1,30 @@
1
+ import { IGroup, DxfBaseReader } from './DxfBaseReader';
2
+ /**
3
+ * Based off the AutoCad 2012 DXF Reference
4
+ * http://images.autodesk.com/adsk/files/autocad_2012_pdf_dxf-reference_enu.pdf
5
+ *
6
+ * Reads through an array representing lines of a dxf file. Takes an array and
7
+ * provides an easy interface to extract group code and value pairs.
8
+ * @param data - an array where each element represents a line in the dxf file
9
+ * @constructor
10
+ */
11
+ export default class DxfTextRender extends DxfBaseReader {
12
+ private data;
13
+ constructor(data: string[]);
14
+ /**
15
+ * Gets the next group (code, value) from the array. A group is two consecutive elements
16
+ * in the array. The first is the code, the second is the value.
17
+ * @returns {{code: Number}|*}
18
+ */
19
+ next(): IGroup;
20
+ /**
21
+ * Returns true if there is another code/value pair (2 elements in the array).
22
+ * @returns {boolean}
23
+ */
24
+ hasNext(): boolean;
25
+ /**
26
+ * Returns true if the scanner is at the end of the array
27
+ * @returns {boolean}
28
+ */
29
+ isEOF(): boolean;
30
+ }
@@ -0,0 +1,18 @@
1
+ import { DxfBaseReader, IGroup } from './DxfBaseReader';
2
+ import { IPoint } from './entities/geomtry';
3
+ /**
4
+ * Some entities may have their type hidden, and be replaced by an insert (in dwg2dxf tool),
5
+ * in this case, we need to know its original type.
6
+ */
7
+ export declare const OriginalTypes: string[];
8
+ export declare function getAcadColor(colorIndex: number): number;
9
+ export declare function parsePoint(scanner: DxfBaseReader): IPoint;
10
+ export declare function parseMatrix(scanner: DxfBaseReader, expectedCode: number): number[];
11
+ /**
12
+ * 解析 DXF 实体的通用属性(适用于所有实体类型)
13
+ * @param entity - 当前实体对象
14
+ * @param group - 当前组码 { code: number, value: any }
15
+ * @returns 是否处理了该组码
16
+ */
17
+ export declare function checkCommonEntityProperties(entity: any, group: IGroup): boolean;
18
+ export declare function checkCommonObjectProperties(object: any, group: IGroup): boolean;
@@ -0,0 +1,11 @@
1
+ import { DxfBaseReader, IGroup } from '../DxfBaseReader';
2
+ import { default as IGeometry, IEntity, IPoint } from './geomtry';
3
+ export interface I3DfaceEntity extends IEntity {
4
+ shape: boolean;
5
+ hasContinuousLinetypePattern: boolean;
6
+ vertices: IPoint[];
7
+ }
8
+ export default class ThreeDface implements IGeometry {
9
+ ForEntityName: "3DFACE";
10
+ parseEntity(scanner: DxfBaseReader, curr: IGroup): I3DfaceEntity;
11
+ }
@@ -0,0 +1,16 @@
1
+ import { DxfBaseReader, IGroup } from '../DxfBaseReader';
2
+ import { default as IGeometry, IEntity, IPoint } from './geomtry';
3
+ export interface IArcEntity extends IEntity {
4
+ center: IPoint;
5
+ radius: number;
6
+ startAngle: number;
7
+ endAngle: number;
8
+ angleLength: number;
9
+ extrusionDirectionX: number;
10
+ extrusionDirectionY: number;
11
+ extrusionDirectionZ: number;
12
+ }
13
+ export default class Arc implements IGeometry {
14
+ ForEntityName: "ARC";
15
+ parseEntity(scanner: DxfBaseReader, curr: IGroup): IArcEntity;
16
+ }
@@ -0,0 +1,31 @@
1
+ import { DxfBaseReader, IGroup } from '../DxfBaseReader';
2
+ import { default as IGeometry, IEntity, IPoint } from './geomtry';
3
+ export interface IAttdefEntity extends IEntity {
4
+ text: string;
5
+ tag: string;
6
+ prompt: string;
7
+ textStyle: string;
8
+ startPoint: IPoint;
9
+ endPoint: IPoint;
10
+ thickness: number;
11
+ textHeight: number;
12
+ xScale: number;
13
+ rotation: number;
14
+ obliqueAngle: number;
15
+ invisible: boolean;
16
+ constant: boolean;
17
+ verificationRequired: boolean;
18
+ preset: boolean;
19
+ backwards: boolean;
20
+ mirrored: boolean;
21
+ horizontalJustification: number;
22
+ fieldLength: number;
23
+ verticalJustification: number;
24
+ extrusionDirectionX: number;
25
+ extrusionDirectionY: number;
26
+ extrusionDirectionZ: number;
27
+ }
28
+ export default class Attdef implements IGeometry {
29
+ ForEntityName: "ATTDEF";
30
+ parseEntity(scanner: DxfBaseReader, curr: IGroup): IAttdefEntity;
31
+ }
@@ -0,0 +1,31 @@
1
+ import { DxfBaseReader, IGroup } from '../DxfBaseReader';
2
+ import { default as IGeometry, IEntity, IPoint } from './geomtry';
3
+ export interface IAttribEntity extends IEntity {
4
+ text: string;
5
+ tag: string;
6
+ prompt: string;
7
+ textStyle: string;
8
+ startPoint: IPoint;
9
+ endPoint: IPoint;
10
+ thickness: number;
11
+ textHeight: number;
12
+ xScale: number;
13
+ rotation: number;
14
+ obliqueAngle: number;
15
+ invisible: boolean;
16
+ constant: boolean;
17
+ verificationRequired: boolean;
18
+ preset: boolean;
19
+ backwards: boolean;
20
+ mirrored: boolean;
21
+ horizontalJustification: number;
22
+ fieldLength: number;
23
+ verticalJustification: number;
24
+ extrusionDirectionX: number;
25
+ extrusionDirectionY: number;
26
+ extrusionDirectionZ: number;
27
+ }
28
+ export default class Attrib implements IGeometry {
29
+ ForEntityName: "ATTRIB";
30
+ parseEntity(scanner: DxfBaseReader, curr: IGroup): IAttribEntity;
31
+ }
@@ -0,0 +1,13 @@
1
+ import { DxfBaseReader, IGroup } from '../DxfBaseReader';
2
+ import { default as IGeometry, IEntity, IPoint } from './geomtry';
3
+ export interface ICircleEntity extends IEntity {
4
+ center: IPoint;
5
+ radius: number;
6
+ startAngle: number;
7
+ endAngle: number;
8
+ angleLength: number;
9
+ }
10
+ export default class Circle implements IGeometry {
11
+ ForEntityName: "CIRCLE";
12
+ parseEntity(scanner: DxfBaseReader, curr: IGroup): ICircleEntity;
13
+ }
@@ -0,0 +1,22 @@
1
+ import { DxfBaseReader, IGroup } from '../DxfBaseReader';
2
+ import { default as IGeometry, IEntity, IPoint } from './geomtry';
3
+ export interface IDimensionEntity extends IEntity {
4
+ block: string;
5
+ dimStyleName: string;
6
+ anchorPoint: IPoint;
7
+ middleOfText: IPoint;
8
+ insertionPoint: IPoint;
9
+ linearOrAngularPoint1: IPoint;
10
+ linearOrAngularPoint2: IPoint;
11
+ diameterOrRadiusPoint: IPoint;
12
+ arcPoint: IPoint;
13
+ dimensionType: number;
14
+ attachmentPoint: number;
15
+ actualMeasurement: number;
16
+ text: string;
17
+ angle: number;
18
+ }
19
+ export default class Dimension implements IGeometry {
20
+ ForEntityName: "DIMENSION";
21
+ parseEntity(scanner: DxfBaseReader, curr: IGroup): IDimensionEntity;
22
+ }
@@ -0,0 +1,15 @@
1
+ import { DxfBaseReader, IGroup } from '../DxfBaseReader';
2
+ import { default as IGeometry, IEntity, IPoint } from './geomtry';
3
+ export interface IEllipseEntity extends IEntity {
4
+ center: IPoint;
5
+ majorAxisEndPoint: IPoint;
6
+ axisRatio: number;
7
+ startAngle: number;
8
+ endAngle: number;
9
+ extrusionDirection: IPoint;
10
+ name: string;
11
+ }
12
+ export default class Ellipse implements IGeometry {
13
+ ForEntityName: "ELLIPSE";
14
+ parseEntity(scanner: DxfBaseReader, curr: IGroup): IEllipseEntity;
15
+ }