@mlightcad/cad-simple-viewer 1.4.7 → 1.4.8

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 (177) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +88 -88
  3. package/dist/index.js +6014 -5042
  4. package/dist/index.umd.cjs +22 -22
  5. package/lib/app/AcApAnnotation.d.ts +46 -0
  6. package/lib/app/AcApAnnotation.d.ts.map +1 -0
  7. package/lib/app/AcApAnnotation.js +134 -0
  8. package/lib/app/AcApAnnotation.js.map +1 -0
  9. package/lib/app/AcApDocManager.d.ts +118 -6
  10. package/lib/app/AcApDocManager.d.ts.map +1 -1
  11. package/lib/app/AcApDocManager.js +162 -6
  12. package/lib/app/AcApDocManager.js.map +1 -1
  13. package/lib/app/AcApDocument.d.ts +16 -14
  14. package/lib/app/AcApDocument.d.ts.map +1 -1
  15. package/lib/app/AcApDocument.js +48 -31
  16. package/lib/app/AcApDocument.js.map +1 -1
  17. package/lib/app/AcDbOpenDatabaseOptions.d.ts +28 -0
  18. package/lib/app/AcDbOpenDatabaseOptions.d.ts.map +1 -0
  19. package/lib/app/AcDbOpenDatabaseOptions.js +2 -0
  20. package/lib/app/AcDbOpenDatabaseOptions.js.map +1 -0
  21. package/lib/app/index.d.ts +2 -0
  22. package/lib/app/index.d.ts.map +1 -1
  23. package/lib/app/index.js +2 -0
  24. package/lib/app/index.js.map +1 -1
  25. package/lib/command/AcApBaseRevCmd.d.ts +36 -0
  26. package/lib/command/AcApBaseRevCmd.d.ts.map +1 -0
  27. package/lib/command/AcApBaseRevCmd.js +68 -0
  28. package/lib/command/AcApBaseRevCmd.js.map +1 -0
  29. package/lib/command/AcApCircleCmd.d.ts +1 -0
  30. package/lib/command/AcApCircleCmd.d.ts.map +1 -1
  31. package/lib/command/AcApCircleCmd.js +4 -2
  32. package/lib/command/AcApCircleCmd.js.map +1 -1
  33. package/lib/command/AcApConvertToSvgCmd.d.ts +1 -1
  34. package/lib/command/AcApConvertToSvgCmd.d.ts.map +1 -1
  35. package/lib/command/AcApConvertToSvgCmd.js +44 -2
  36. package/lib/command/AcApConvertToSvgCmd.js.map +1 -1
  37. package/lib/command/AcApDimLinearCmd.d.ts +1 -0
  38. package/lib/command/AcApDimLinearCmd.d.ts.map +1 -1
  39. package/lib/command/AcApDimLinearCmd.js +4 -2
  40. package/lib/command/AcApDimLinearCmd.js.map +1 -1
  41. package/lib/command/AcApEraseCmd.d.ts +1 -0
  42. package/lib/command/AcApEraseCmd.d.ts.map +1 -1
  43. package/lib/command/AcApEraseCmd.js +14 -4
  44. package/lib/command/AcApEraseCmd.js.map +1 -1
  45. package/lib/command/AcApLineCmd.d.ts +1 -0
  46. package/lib/command/AcApLineCmd.d.ts.map +1 -1
  47. package/lib/command/AcApLineCmd.js +4 -2
  48. package/lib/command/AcApLineCmd.js.map +1 -1
  49. package/lib/command/AcApLogCmd.d.ts +1 -1
  50. package/lib/command/AcApLogCmd.d.ts.map +1 -1
  51. package/lib/command/AcApLogCmd.js +44 -3
  52. package/lib/command/AcApLogCmd.js.map +1 -1
  53. package/lib/command/AcApOpenCmd.d.ts +1 -1
  54. package/lib/command/AcApOpenCmd.d.ts.map +1 -1
  55. package/lib/command/AcApOpenCmd.js +42 -1
  56. package/lib/command/AcApOpenCmd.js.map +1 -1
  57. package/lib/command/AcApPanCmd.d.ts +1 -1
  58. package/lib/command/AcApPanCmd.d.ts.map +1 -1
  59. package/lib/command/AcApPanCmd.js +43 -2
  60. package/lib/command/AcApPanCmd.js.map +1 -1
  61. package/lib/command/AcApQNewCmd.d.ts +1 -1
  62. package/lib/command/AcApQNewCmd.d.ts.map +1 -1
  63. package/lib/command/AcApQNewCmd.js +44 -2
  64. package/lib/command/AcApQNewCmd.js.map +1 -1
  65. package/lib/command/AcApRectCmd.d.ts +23 -0
  66. package/lib/command/AcApRectCmd.d.ts.map +1 -0
  67. package/lib/command/AcApRectCmd.js +134 -0
  68. package/lib/command/AcApRectCmd.js.map +1 -0
  69. package/lib/command/AcApRegenCmd.d.ts +1 -1
  70. package/lib/command/AcApRegenCmd.d.ts.map +1 -1
  71. package/lib/command/AcApRegenCmd.js +42 -1
  72. package/lib/command/AcApRegenCmd.js.map +1 -1
  73. package/lib/command/AcApRevCircleCmd.d.ts +10 -0
  74. package/lib/command/AcApRevCircleCmd.d.ts.map +1 -0
  75. package/lib/command/AcApRevCircleCmd.js +83 -0
  76. package/lib/command/AcApRevCircleCmd.js.map +1 -0
  77. package/lib/command/AcApRevCloudCmd.d.ts +26 -0
  78. package/lib/command/AcApRevCloudCmd.d.ts.map +1 -0
  79. package/lib/command/AcApRevCloudCmd.js +234 -0
  80. package/lib/command/AcApRevCloudCmd.js.map +1 -0
  81. package/lib/command/AcApRevRectCmd.d.ts +10 -0
  82. package/lib/command/AcApRevRectCmd.d.ts.map +1 -0
  83. package/lib/command/AcApRevRectCmd.js +83 -0
  84. package/lib/command/AcApRevRectCmd.js.map +1 -0
  85. package/lib/command/AcApRevVisibilityCmd.d.ts +15 -0
  86. package/lib/command/AcApRevVisibilityCmd.d.ts.map +1 -0
  87. package/lib/command/AcApRevVisibilityCmd.js +90 -0
  88. package/lib/command/AcApRevVisibilityCmd.js.map +1 -0
  89. package/lib/command/AcApSelectCmd.d.ts +1 -1
  90. package/lib/command/AcApSelectCmd.d.ts.map +1 -1
  91. package/lib/command/AcApSelectCmd.js +43 -2
  92. package/lib/command/AcApSelectCmd.js.map +1 -1
  93. package/lib/command/AcApSketchCmd.d.ts +32 -0
  94. package/lib/command/AcApSketchCmd.d.ts.map +1 -0
  95. package/lib/command/AcApSketchCmd.js +171 -0
  96. package/lib/command/AcApSketchCmd.js.map +1 -0
  97. package/lib/command/AcApSwitchBgCmd.d.ts +15 -0
  98. package/lib/command/AcApSwitchBgCmd.d.ts.map +1 -0
  99. package/lib/command/AcApSwitchBgCmd.js +88 -0
  100. package/lib/command/AcApSwitchBgCmd.js.map +1 -0
  101. package/lib/command/AcApSysVarCmd.d.ts +2 -1
  102. package/lib/command/AcApSysVarCmd.d.ts.map +1 -1
  103. package/lib/command/AcApSysVarCmd.js +6 -5
  104. package/lib/command/AcApSysVarCmd.js.map +1 -1
  105. package/lib/command/AcApZoomCmd.d.ts +1 -1
  106. package/lib/command/AcApZoomCmd.d.ts.map +1 -1
  107. package/lib/command/AcApZoomCmd.js +42 -1
  108. package/lib/command/AcApZoomCmd.js.map +1 -1
  109. package/lib/command/index.d.ts +8 -0
  110. package/lib/command/index.d.ts.map +1 -1
  111. package/lib/command/index.js +8 -0
  112. package/lib/command/index.js.map +1 -1
  113. package/lib/editor/command/AcEdCommand.d.ts +81 -22
  114. package/lib/editor/command/AcEdCommand.d.ts.map +1 -1
  115. package/lib/editor/command/AcEdCommand.js +157 -15
  116. package/lib/editor/command/AcEdCommand.js.map +1 -1
  117. package/lib/editor/command/AcEdCommandIterator.d.ts +1 -1
  118. package/lib/editor/command/AcEdCommandIterator.d.ts.map +1 -1
  119. package/lib/editor/command/AcEdCommandStack.d.ts +31 -6
  120. package/lib/editor/command/AcEdCommandStack.d.ts.map +1 -1
  121. package/lib/editor/command/AcEdCommandStack.js +55 -11
  122. package/lib/editor/command/AcEdCommandStack.js.map +1 -1
  123. package/lib/editor/input/AcEditor.d.ts +14 -0
  124. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  125. package/lib/editor/input/AcEditor.js +5 -1
  126. package/lib/editor/input/AcEditor.js.map +1 -1
  127. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  128. package/lib/editor/input/ui/AcEdCommandLine.js +2 -2
  129. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  130. package/lib/editor/view/AcEdOpenMode.d.ts +26 -0
  131. package/lib/editor/view/AcEdOpenMode.d.ts.map +1 -0
  132. package/lib/editor/view/AcEdOpenMode.js +27 -0
  133. package/lib/editor/view/AcEdOpenMode.js.map +1 -0
  134. package/lib/editor/view/index.d.ts +2 -0
  135. package/lib/editor/view/index.d.ts.map +1 -1
  136. package/lib/editor/view/index.js +2 -0
  137. package/lib/editor/view/index.js.map +1 -1
  138. package/lib/i18n/en/command.d.ts +18 -0
  139. package/lib/i18n/en/command.d.ts.map +1 -1
  140. package/lib/i18n/en/command.js +19 -1
  141. package/lib/i18n/en/command.js.map +1 -1
  142. package/lib/i18n/en/jig.d.ts +8 -0
  143. package/lib/i18n/en/jig.d.ts.map +1 -1
  144. package/lib/i18n/en/jig.js +8 -0
  145. package/lib/i18n/en/jig.js.map +1 -1
  146. package/lib/i18n/zh/command.d.ts +18 -0
  147. package/lib/i18n/zh/command.d.ts.map +1 -1
  148. package/lib/i18n/zh/command.js +18 -0
  149. package/lib/i18n/zh/command.js.map +1 -1
  150. package/lib/i18n/zh/jig.d.ts +8 -0
  151. package/lib/i18n/zh/jig.d.ts.map +1 -1
  152. package/lib/i18n/zh/jig.js +8 -0
  153. package/lib/i18n/zh/jig.js.map +1 -1
  154. package/lib/index.d.ts +1 -0
  155. package/lib/index.d.ts.map +1 -1
  156. package/lib/index.js +1 -0
  157. package/lib/index.js.map +1 -1
  158. package/lib/plugin/AcApPlugin.d.ts +83 -0
  159. package/lib/plugin/AcApPlugin.d.ts.map +1 -0
  160. package/lib/plugin/AcApPlugin.js +2 -0
  161. package/lib/plugin/AcApPlugin.js.map +1 -0
  162. package/lib/plugin/AcApPluginExample.d.ts +23 -0
  163. package/lib/plugin/AcApPluginExample.d.ts.map +1 -0
  164. package/lib/plugin/AcApPluginExample.js +160 -0
  165. package/lib/plugin/AcApPluginExample.js.map +1 -0
  166. package/lib/plugin/AcApPluginManager.d.ts +206 -0
  167. package/lib/plugin/AcApPluginManager.d.ts.map +1 -0
  168. package/lib/plugin/AcApPluginManager.js +499 -0
  169. package/lib/plugin/AcApPluginManager.js.map +1 -0
  170. package/lib/plugin/index.d.ts +4 -0
  171. package/lib/plugin/index.d.ts.map +1 -0
  172. package/lib/plugin/index.js +4 -0
  173. package/lib/plugin/index.js.map +1 -0
  174. package/lib/view/AcTrView2d.d.ts.map +1 -1
  175. package/lib/view/AcTrView2d.js +8 -1
  176. package/lib/view/AcTrView2d.js.map +1 -1
  177. package/package.json +5 -5
@@ -0,0 +1,134 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
27
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ import { AcDbPolyline, AcGePoint2d } from '@mlightcad/data-model';
53
+ import { AcApDocManager } from '../app';
54
+ import { AcEdCommand, AcEdOpenMode, AcEdPreviewJig, AcEdPromptPointOptions } from '../editor';
55
+ import { AcApI18n } from '../i18n';
56
+ function updateRect(rect, firstPoint, secondPoint) {
57
+ rect.reset(false);
58
+ // Add four vertices to form a rectangle
59
+ // First vertex: the first point (one corner)
60
+ rect.addVertexAt(0, new AcGePoint2d(firstPoint));
61
+ // Second vertex: same Y as first point, X from current point
62
+ rect.addVertexAt(1, new AcGePoint2d(secondPoint.x, firstPoint.y));
63
+ // Third vertex: the current point (opposite corner)
64
+ rect.addVertexAt(2, new AcGePoint2d(secondPoint));
65
+ // Fourth vertex: same X as first point, Y from current point
66
+ rect.addVertexAt(3, new AcGePoint2d(firstPoint.x, secondPoint.y));
67
+ rect.closed = true;
68
+ }
69
+ var AcApRectJig = /** @class */ (function (_super) {
70
+ __extends(AcApRectJig, _super);
71
+ /**
72
+ * Creates a line jig.
73
+ *
74
+ * @param view - The associated view
75
+ */
76
+ function AcApRectJig(view, start) {
77
+ var _this = _super.call(this, view) || this;
78
+ _this._rect = new AcDbPolyline();
79
+ _this._firstPoint = new AcGePoint2d(start);
80
+ return _this;
81
+ }
82
+ Object.defineProperty(AcApRectJig.prototype, "entity", {
83
+ get: function () {
84
+ return this._rect;
85
+ },
86
+ enumerable: false,
87
+ configurable: true
88
+ });
89
+ AcApRectJig.prototype.update = function (secondPoint) {
90
+ updateRect(this._rect, this._firstPoint, secondPoint);
91
+ };
92
+ return AcApRectJig;
93
+ }(AcEdPreviewJig));
94
+ export { AcApRectJig };
95
+ /**
96
+ * Command to create one rectangle.
97
+ */
98
+ var AcApRectCmd = /** @class */ (function (_super) {
99
+ __extends(AcApRectCmd, _super);
100
+ function AcApRectCmd() {
101
+ var _this = _super.call(this) || this;
102
+ _this.mode = AcEdOpenMode.Write;
103
+ return _this;
104
+ }
105
+ AcApRectCmd.prototype.execute = function (context) {
106
+ return __awaiter(this, void 0, void 0, function () {
107
+ var firstPointPrompt, firstPoint, secondPointPrompt, secondPoint, db, rect;
108
+ return __generator(this, function (_a) {
109
+ switch (_a.label) {
110
+ case 0:
111
+ firstPointPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.rect.firstPoint'));
112
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(firstPointPrompt)];
113
+ case 1:
114
+ firstPoint = _a.sent();
115
+ secondPointPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.rect.nextPoint'));
116
+ secondPointPrompt.jig = new AcApRectJig(context.view, firstPoint);
117
+ secondPointPrompt.useDashedLine = false;
118
+ secondPointPrompt.useBasePoint = true;
119
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(secondPointPrompt)];
120
+ case 2:
121
+ secondPoint = _a.sent();
122
+ db = context.doc.database;
123
+ rect = new AcDbPolyline();
124
+ updateRect(rect, firstPoint, secondPoint);
125
+ db.tables.blockTable.modelSpace.appendEntity(rect);
126
+ return [2 /*return*/];
127
+ }
128
+ });
129
+ });
130
+ };
131
+ return AcApRectCmd;
132
+ }(AcEdCommand));
133
+ export { AcApRectCmd };
134
+ //# sourceMappingURL=AcApRectCmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApRectCmd.js","sourceRoot":"","sources":["../../src/command/AcApRectCmd.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,6 @@ export declare class AcApRegenCmd extends AcEdCommand {
16
16
  /**
17
17
  * Executes the regen command to redraw the current drawing
18
18
  */
19
- execute(): void;
19
+ execute(): Promise<void>;
20
20
  }
21
21
  //# sourceMappingURL=AcApRegenCmd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcApRegenCmd.d.ts","sourceRoot":"","sources":["../../src/command/AcApRegenCmd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAA;AAE/B;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;OAEG;IACH,OAAO;CAGR"}
1
+ {"version":3,"file":"AcApRegenCmd.d.ts","sourceRoot":"","sources":["../../src/command/AcApRegenCmd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAA;AAE/B;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;OAEG;IACG,OAAO;CAGd"}
@@ -13,6 +13,42 @@ var __extends = (this && this.__extends) || (function () {
13
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
14
  };
15
15
  })();
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
27
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
16
52
  import { AcApDocManager } from '../app';
17
53
  import { AcEdCommand } from '.';
18
54
  /**
@@ -37,7 +73,12 @@ var AcApRegenCmd = /** @class */ (function (_super) {
37
73
  * Executes the regen command to redraw the current drawing
38
74
  */
39
75
  AcApRegenCmd.prototype.execute = function () {
40
- AcApDocManager.instance.regen();
76
+ return __awaiter(this, void 0, void 0, function () {
77
+ return __generator(this, function (_a) {
78
+ AcApDocManager.instance.regen();
79
+ return [2 /*return*/];
80
+ });
81
+ });
41
82
  };
42
83
  return AcApRegenCmd;
43
84
  }(AcEdCommand));
@@ -1 +1 @@
1
- {"version":3,"file":"AcApRegenCmd.js","sourceRoot":"","sources":["../../src/command/AcApRegenCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAA;AAE/B;;;;;;;;;;;;GAYG;AACH;IAAkC,gCAAW;IAA7C;;IAOA,CAAC;IANC;;OAEG;IACH,8BAAO,GAAP;QACE,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACjC,CAAC;IACH,mBAAC;AAAD,CAAC,AAPD,CAAkC,WAAW,GAO5C"}
1
+ {"version":3,"file":"AcApRegenCmd.js","sourceRoot":"","sources":["../../src/command/AcApRegenCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAA;AAE/B;;;;;;;;;;;;GAYG;AACH;IAAkC,gCAAW;IAA7C;;IAOA,CAAC;IANC;;OAEG;IACG,8BAAO,GAAb;;;gBACE,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;;;;KAChC;IACH,mBAAC;AAAD,CAAC,AAPD,CAAkC,WAAW,GAO5C"}
@@ -0,0 +1,10 @@
1
+ import { AcApContext } from '../app';
2
+ import { AcApBaseRevCmd } from './AcApBaseRevCmd';
3
+ /**
4
+ * Command to create one revision circle.
5
+ */
6
+ export declare class AcApRevCircleCmd extends AcApBaseRevCmd {
7
+ constructor();
8
+ execute(context: AcApContext): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=AcApRevCircleCmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApRevCircleCmd.d.ts","sourceRoot":"","sources":["../../src/command/AcApRevCircleCmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;;IAM5C,OAAO,CAAC,OAAO,EAAE,WAAW;CAInC"}
@@ -0,0 +1,83 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
27
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ import { AcEdOpenMode } from '../editor';
53
+ import { AcApBaseRevCmd } from './AcApBaseRevCmd';
54
+ import { AcApCircleCmd } from './AcApCircleCmd';
55
+ /**
56
+ * Command to create one revision circle.
57
+ */
58
+ var AcApRevCircleCmd = /** @class */ (function (_super) {
59
+ __extends(AcApRevCircleCmd, _super);
60
+ function AcApRevCircleCmd() {
61
+ var _this = _super.call(this) || this;
62
+ _this.mode = AcEdOpenMode.Review;
63
+ return _this;
64
+ }
65
+ AcApRevCircleCmd.prototype.execute = function (context) {
66
+ return __awaiter(this, void 0, void 0, function () {
67
+ var cmd;
68
+ return __generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0:
71
+ cmd = new AcApCircleCmd();
72
+ return [4 /*yield*/, cmd.execute(context)];
73
+ case 1:
74
+ _a.sent();
75
+ return [2 /*return*/];
76
+ }
77
+ });
78
+ });
79
+ };
80
+ return AcApRevCircleCmd;
81
+ }(AcApBaseRevCmd));
82
+ export { AcApRevCircleCmd };
83
+ //# sourceMappingURL=AcApRevCircleCmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApRevCircleCmd.js","sourceRoot":"","sources":["../../src/command/AcApRevCircleCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C;;GAEG;AACH;IAAsC,oCAAc;IAClD;QACE,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAA;;IACjC,CAAC;IAEK,kCAAO,GAAb,UAAc,OAAoB;;;;;;wBAC1B,GAAG,GAAG,IAAI,aAAa,EAAE,CAAA;wBAC/B,qBAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAA;;wBAA1B,SAA0B,CAAA;;;;;KAC3B;IACH,uBAAC;AAAD,CAAC,AAVD,CAAsC,cAAc,GAUnD"}
@@ -0,0 +1,26 @@
1
+ import { AcDbPolyline, AcGePoint2dLike } from '@mlightcad/data-model';
2
+ import { AcApContext } from '../app';
3
+ import { AcEdBaseView, AcEdPreviewJig } from '../editor';
4
+ import { AcApBaseRevCmd } from './AcApBaseRevCmd';
5
+ export declare class AcApRevCloudJig extends AcEdPreviewJig<AcGePoint2dLike> {
6
+ private _cloud;
7
+ private _firstPoint;
8
+ private _view;
9
+ /**
10
+ * Creates a cloud line jig.
11
+ *
12
+ * @param view - The associated view
13
+ * @param start - The first corner point
14
+ */
15
+ constructor(view: AcEdBaseView, start: AcGePoint2dLike);
16
+ get entity(): AcDbPolyline;
17
+ update(secondPoint: AcGePoint2dLike): void;
18
+ }
19
+ /**
20
+ * Command to create a revision cloud (cloud line) in rectangular shape.
21
+ */
22
+ export declare class AcApRevCloudCmd extends AcApBaseRevCmd {
23
+ constructor();
24
+ execute(context: AcApContext): Promise<void>;
25
+ }
26
+ //# sourceMappingURL=AcApRevCloudCmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApRevCloudCmd.d.ts","sourceRoot":"","sources":["../../src/command/AcApRevCloudCmd.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,WAAW,EAAkB,MAAM,QAAQ,CAAA;AACpD,OAAO,EACL,YAAY,EAEZ,cAAc,EAEf,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAgJjD,qBAAa,eAAgB,SAAQ,cAAc,CAAC,eAAe,CAAC;IAClE,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,KAAK,CAAc;IAE3B;;;;;OAKG;gBACS,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe;IAOtD,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED,MAAM,CAAC,WAAW,EAAE,eAAe;CAGpC;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,cAAc;;IAM3C,OAAO,CAAC,OAAO,EAAE,WAAW;CAqBnC"}
@@ -0,0 +1,234 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
27
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ import { AcDbPolyline, AcGePoint2d } from '@mlightcad/data-model';
53
+ import { AcApDocManager } from '../app';
54
+ import { AcEdOpenMode, AcEdPreviewJig, AcEdPromptPointOptions } from '../editor';
55
+ import { AcApI18n } from '../i18n';
56
+ import { AcApBaseRevCmd } from './AcApBaseRevCmd';
57
+ // Cloud line diameter in pixels
58
+ var CLOUD_DIAMETER_PIXELS = 8;
59
+ /**
60
+ * Converts pixel distance to world distance using view transformation
61
+ */
62
+ function pixelToWorldDistance(view, pixelDistance, referencePoint) {
63
+ var screenPoint1 = view.worldToScreen(referencePoint);
64
+ var screenPoint2 = new AcGePoint2d(screenPoint1.x + pixelDistance, screenPoint1.y);
65
+ var worldPoint2 = view.screenToWorld(screenPoint2);
66
+ return Math.abs(worldPoint2.x - referencePoint.x);
67
+ }
68
+ /**
69
+ * Creates a cloud line (revision cloud) along a rectangular path
70
+ */
71
+ function updateCloud(cloud, firstPoint, secondPoint, view) {
72
+ // Reset the polyline (using type assertion as reset may not be in type definitions)
73
+ cloud.reset(false);
74
+ // Calculate rectangle dimensions
75
+ var minX = Math.min(firstPoint.x, secondPoint.x);
76
+ var maxX = Math.max(firstPoint.x, secondPoint.x);
77
+ var minY = Math.min(firstPoint.y, secondPoint.y);
78
+ var maxY = Math.max(firstPoint.y, secondPoint.y);
79
+ var width = maxX - minX;
80
+ var height = maxY - minY;
81
+ // Convert cloud diameter from pixels to world coordinates
82
+ var centerPoint = new AcGePoint2d((minX + maxX) / 2, (minY + maxY) / 2);
83
+ var cloudDiameter = pixelToWorldDistance(view, CLOUD_DIAMETER_PIXELS, centerPoint);
84
+ // Calculate chord length for each arc segment
85
+ // Each arc segment should span approximately the cloud diameter
86
+ var chordLength = cloudDiameter;
87
+ // Calculate the number of segments needed along each edge
88
+ var numSegmentsX = Math.max(4, Math.ceil(width / chordLength) * 2);
89
+ var numSegmentsY = Math.max(4, Math.ceil(height / chordLength) * 2);
90
+ // Generate points along the rectangle path with arcs
91
+ var points = [];
92
+ var bulges = [];
93
+ var segmentIndex = 0;
94
+ // Helper function to calculate bulge for a small arc
95
+ // For cloud effect, use a small bulge value to create gentle arcs
96
+ // A bulge of 0.3-0.5 creates nice cloud-like arcs
97
+ var calculateBulge = function (outward) {
98
+ return outward ? 0.4 : -0.4;
99
+ };
100
+ // Bottom edge (left to right)
101
+ for (var i = 0; i <= numSegmentsX; i++) {
102
+ var t = i / numSegmentsX;
103
+ var x = minX + width * t;
104
+ var y = minY;
105
+ points.push(new AcGePoint2d(x, y));
106
+ if (i < numSegmentsX) {
107
+ var outward = segmentIndex % 2 === 0;
108
+ bulges.push(calculateBulge(outward));
109
+ segmentIndex++;
110
+ }
111
+ else {
112
+ bulges.push(undefined);
113
+ }
114
+ }
115
+ // Right edge (bottom to top)
116
+ for (var i = 1; i <= numSegmentsY; i++) {
117
+ var t = i / numSegmentsY;
118
+ var x = maxX;
119
+ var y = minY + height * t;
120
+ points.push(new AcGePoint2d(x, y));
121
+ if (i < numSegmentsY) {
122
+ var outward = segmentIndex % 2 === 0;
123
+ bulges.push(calculateBulge(outward));
124
+ segmentIndex++;
125
+ }
126
+ else {
127
+ bulges.push(undefined);
128
+ }
129
+ }
130
+ // Top edge (right to left)
131
+ for (var i = 1; i <= numSegmentsX; i++) {
132
+ var t = 1 - i / numSegmentsX;
133
+ var x = minX + width * t;
134
+ var y = maxY;
135
+ points.push(new AcGePoint2d(x, y));
136
+ if (i < numSegmentsX) {
137
+ var outward = segmentIndex % 2 === 0;
138
+ bulges.push(calculateBulge(outward));
139
+ segmentIndex++;
140
+ }
141
+ else {
142
+ bulges.push(undefined);
143
+ }
144
+ }
145
+ // Left edge (top to bottom)
146
+ for (var i = 1; i < numSegmentsY; i++) {
147
+ var t = 1 - i / numSegmentsY;
148
+ var x = minX;
149
+ var y = minY + height * t;
150
+ points.push(new AcGePoint2d(x, y));
151
+ if (i < numSegmentsY - 1) {
152
+ var outward = segmentIndex % 2 === 0;
153
+ bulges.push(calculateBulge(outward));
154
+ segmentIndex++;
155
+ }
156
+ else {
157
+ bulges.push(undefined);
158
+ }
159
+ }
160
+ // Add vertices to polyline with bulge values
161
+ for (var i = 0; i < points.length; i++) {
162
+ var bulge = bulges[i];
163
+ cloud.addVertexAt(i, points[i], bulge);
164
+ }
165
+ cloud.closed = true;
166
+ }
167
+ var AcApRevCloudJig = /** @class */ (function (_super) {
168
+ __extends(AcApRevCloudJig, _super);
169
+ /**
170
+ * Creates a cloud line jig.
171
+ *
172
+ * @param view - The associated view
173
+ * @param start - The first corner point
174
+ */
175
+ function AcApRevCloudJig(view, start) {
176
+ var _this = _super.call(this, view) || this;
177
+ _this._cloud = new AcDbPolyline();
178
+ _this._firstPoint = new AcGePoint2d(start);
179
+ _this._view = view;
180
+ return _this;
181
+ }
182
+ Object.defineProperty(AcApRevCloudJig.prototype, "entity", {
183
+ get: function () {
184
+ return this._cloud;
185
+ },
186
+ enumerable: false,
187
+ configurable: true
188
+ });
189
+ AcApRevCloudJig.prototype.update = function (secondPoint) {
190
+ updateCloud(this._cloud, this._firstPoint, secondPoint, this._view);
191
+ };
192
+ return AcApRevCloudJig;
193
+ }(AcEdPreviewJig));
194
+ export { AcApRevCloudJig };
195
+ /**
196
+ * Command to create a revision cloud (cloud line) in rectangular shape.
197
+ */
198
+ var AcApRevCloudCmd = /** @class */ (function (_super) {
199
+ __extends(AcApRevCloudCmd, _super);
200
+ function AcApRevCloudCmd() {
201
+ var _this = _super.call(this) || this;
202
+ _this.mode = AcEdOpenMode.Review;
203
+ return _this;
204
+ }
205
+ AcApRevCloudCmd.prototype.execute = function (context) {
206
+ return __awaiter(this, void 0, void 0, function () {
207
+ var firstPointPrompt, firstPoint, secondPointPrompt, secondPoint, db, cloud;
208
+ return __generator(this, function (_a) {
209
+ switch (_a.label) {
210
+ case 0:
211
+ firstPointPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.line.firstPoint'));
212
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(firstPointPrompt)];
213
+ case 1:
214
+ firstPoint = _a.sent();
215
+ secondPointPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.line.nextPoint'));
216
+ secondPointPrompt.jig = new AcApRevCloudJig(context.view, firstPoint);
217
+ secondPointPrompt.useDashedLine = false;
218
+ secondPointPrompt.useBasePoint = true;
219
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(secondPointPrompt)];
220
+ case 2:
221
+ secondPoint = _a.sent();
222
+ db = context.doc.database;
223
+ cloud = new AcDbPolyline();
224
+ updateCloud(cloud, firstPoint, secondPoint, context.view);
225
+ db.tables.blockTable.modelSpace.appendEntity(cloud);
226
+ return [2 /*return*/];
227
+ }
228
+ });
229
+ });
230
+ };
231
+ return AcApRevCloudCmd;
232
+ }(AcApBaseRevCmd));
233
+ export { AcApRevCloudCmd };
234
+ //# sourceMappingURL=AcApRevCloudCmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApRevCloudCmd.js","sourceRoot":"","sources":["../../src/command/AcApRevCloudCmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { AcApContext } from '../app';
2
+ import { AcApBaseRevCmd } from './AcApBaseRevCmd';
3
+ /**
4
+ * Command to create one revision rectangle.
5
+ */
6
+ export declare class AcApRevRectCmd extends AcApBaseRevCmd {
7
+ constructor();
8
+ execute(context: AcApContext): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=AcApRevRectCmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApRevRectCmd.d.ts","sourceRoot":"","sources":["../../src/command/AcApRevRectCmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;GAEG;AACH,qBAAa,cAAe,SAAQ,cAAc;;IAM1C,OAAO,CAAC,OAAO,EAAE,WAAW;CAInC"}