gs-cae-design 1.1.63 → 1.1.64

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gs-cae-design",
3
- "version": "1.1.63",
3
+ "version": "1.1.64",
4
4
  "description": "广州图石科技有限公司发布的基于gs-longan的CAE图形控件",
5
5
  "main": "lib/CAEDesign.umd.min.js",
6
6
  "types": "./types/caeDesign/src/index.d.ts",
@@ -113,9 +113,9 @@ export class CAERenderObjectTreeManager extends Longan.ProcessManagerBase {
113
113
  "临时节点"
114
114
  );
115
115
 
116
- if(!this._tempNode) {
116
+ if (!this._tempNode) {
117
117
  let tempNode = new DesignBaseObject();
118
- tempNode.name = "临时节点"
118
+ tempNode.name = "临时节点";
119
119
  this.process.addRenderObject(jiheRO, tempNode);
120
120
  this._tempNode = tempNode;
121
121
  }
@@ -524,18 +524,22 @@ export class CAERenderObjectTreeManager extends Longan.ProcessManagerBase {
524
524
  // }
525
525
 
526
526
  public checkNodeChildNameRepeat(
527
- map: Map<string, any>,
528
- name: string
529
- ): boolean {
530
- let isRepeat = false;
531
- let obj = map.get(name);
532
- if(obj && obj instanceof DesignBaseObject && obj.checkBusinessStateIsActive()) {
533
- isRepeat = true;
534
- }
535
-
536
- return isRepeat;
527
+ map: Map<string, any>,
528
+ name: string
529
+ ): boolean {
530
+ let isRepeat = false;
531
+ let obj = map.get(name);
532
+ if (
533
+ obj &&
534
+ obj instanceof DesignBaseObject &&
535
+ obj.checkBusinessStateIsActive()
536
+ ) {
537
+ isRepeat = true;
537
538
  }
538
539
 
540
+ return isRepeat;
541
+ }
542
+
539
543
  checkNameRepeat_JointObject(
540
544
  targetName: string,
541
545
  joint?: JointObject
@@ -137,119 +137,13 @@ export class PostInterfaceManager extends Longan.ViewerManagerBase {
137
137
  let viewer = this.viewer as Viewer;
138
138
  let projectId = viewer.structureTreeManager.rootNode.obj.renderObject.id;
139
139
 
140
- //POSTMEMBER
141
- {
142
- let table = "R_POSTMEMBERRESULTS";
143
- let group = "LoadConditionName";
144
-
145
- let columns = [
146
- // 内力
147
- "MemberName",
148
- "MemberID",
149
- "Distance",
150
- "MomentUnits",
151
- "DistanceUnits",
152
- "YYBendingMoment",
153
- "ZZBendingMoment",
154
- "YShear",
155
- "ZShear",
156
- "AxialLoad",
157
- // UC
158
- "AxialUC",
159
- "YYBendingUC",
160
- "ZZBendingUC",
161
- "TotalShearUC",
162
- "MaxUC",
163
- // 杆件结果
164
- "ForceUnits",
165
- "AXStress",
166
- "YYBendingStress",
167
- "ZZBendingStress",
168
- "YShearStress",
169
- "ZShearStress",
170
- ];
171
-
172
- let promises = [];
173
- let promise1 = renderObjectService
174
- .postData(projectId, table, columns, group)
175
- .then((result: any) => {
176
- this.event_bendingMoment.forEach((item: () => void) => {
177
- item();
178
- });
179
-
180
- this.event_ucDiagram.forEach((item: () => void) => {
181
- item();
182
- });
183
-
184
- this.getFinish_bendingMoment = true;
185
- this.getFinish_ucDiagram = true;
186
-
187
- if (this.tip_bendingMoment) {
188
- if (this.message_bendingMoment) {
189
- this.message_bendingMoment.close();
190
- this.message_bendingMoment = null;
191
- }
192
- Message.info("内力图后处理数据请求完成.");
193
- this.tip_bendingMoment = false;
194
- }
195
- if (result) {
196
- this.bendingMoment = result.groups;
197
-
198
- if (this.requested_bendingMoment) {
199
- this.requested_bendingMoment();
200
- this.requested_bendingMoment = null;
201
- }
202
- }
203
-
204
- if (this.tip_ucDiagram) {
205
- if (this.message_ucDiagram) {
206
- this.message_ucDiagram.close();
207
- this.message_ucDiagram = null;
208
- }
209
- Message.info("UC图后处理数据请求完成.");
210
- this.tip_ucDiagram = false;
211
- }
212
- if (result) {
213
- this.ucDiagram = result.groups;
214
- }
215
- });
216
-
217
- let table1 = "ElementUC";
218
- let columns1 = ["MemberName", "LoadCondition"];
219
-
220
- let promise2 = renderObjectService
221
- .postData(projectId, table1, columns1, "")
222
- .then((result: any) => {
223
- if (result) {
224
- this.post_jointCanSummaryUC = result.rows;
225
- }
226
- });
227
- promises.push(promise1);
228
- promises.push(promise2);
229
-
230
- Promise.all(promises).then(() => {
231
- this.event_postResult.forEach((item: () => void) => {
232
- item();
233
- });
234
-
235
- this.getFinish_postResult = true;
236
- if (this.tip_postResult) {
237
- if (this.message_postResult) {
238
- this.message_postResult.close();
239
- this.message_postResult = null;
240
- }
241
- Message.info("杆件结果后处理数据请求完成.");
242
- this.tip_postResult = false;
243
- }
244
- });
245
- }
246
-
247
- // // 内力图
140
+ // //POSTMEMBER
248
141
  // {
249
142
  // let table = "R_POSTMEMBERRESULTS";
250
143
  // let group = "LoadConditionName";
251
144
 
252
145
  // let columns = [
146
+ // // 内力
253
147
  // "MemberName",
254
148
  // "MemberID",
255
149
  // "Distance",
@@ -260,16 +154,36 @@ export class PostInterfaceManager extends Longan.ViewerManagerBase {
260
154
  // "YShear",
261
155
  // "ZShear",
262
156
  // "AxialLoad",
157
+ // // UC
158
+ // "AxialUC",
159
+ // "YYBendingUC",
160
+ // "ZZBendingUC",
161
+ // "TotalShearUC",
162
+ // "MaxUC",
163
+ // // 杆件结果
164
+ // "ForceUnits",
165
+ // "AXStress",
166
+ // "YYBendingStress",
167
+ // "ZZBendingStress",
168
+ // "YShearStress",
169
+ // "ZShearStress",
263
170
  // ];
264
171
 
265
- // renderObjectService
172
+ // let promises = [];
173
+ // let promise1 = renderObjectService
266
174
  // .postData(projectId, table, columns, group)
267
175
  // .then((result: any) => {
268
176
  // this.event_bendingMoment.forEach((item: () => void) => {
269
177
  // item();
270
178
  // });
271
179
 
180
+ // this.event_ucDiagram.forEach((item: () => void) => {
181
+ // item();
182
+ // });
183
+
272
184
  // this.getFinish_bendingMoment = true;
185
+ // this.getFinish_ucDiagram = true;
186
+
273
187
  // if (this.tip_bendingMoment) {
274
188
  // if (this.message_bendingMoment) {
275
189
  // this.message_bendingMoment.close();
@@ -286,35 +200,7 @@ export class PostInterfaceManager extends Longan.ViewerManagerBase {
286
200
  // this.requested_bendingMoment = null;
287
201
  // }
288
202
  // }
289
- // });
290
- // }
291
-
292
- // // UC图
293
- // {
294
- // let table = "R_POSTMEMBERRESULTS";
295
- // let group = "LoadConditionName";
296
203
 
297
- // let columns = [
298
- // "MemberName",
299
- // "MemberID",
300
- // "Distance",
301
- // "MomentUnits",
302
- // "DistanceUnits",
303
- // "AxialUC",
304
- // "YYBendingUC",
305
- // "ZZBendingUC",
306
- // "TotalShearUC",
307
- // "MaxUC",
308
- // ];
309
-
310
- // renderObjectService
311
- // .postData(projectId, table, columns, group)
312
- // .then((result: any) => {
313
- // this.event_ucDiagram.forEach((item: () => void) => {
314
- // item();
315
- // });
316
-
317
- // this.getFinish_ucDiagram = true;
318
204
  // if (this.tip_ucDiagram) {
319
205
  // if (this.message_ucDiagram) {
320
206
  // this.message_ucDiagram.close();
@@ -326,41 +212,8 @@ export class PostInterfaceManager extends Longan.ViewerManagerBase {
326
212
  // if (result) {
327
213
  // this.ucDiagram = result.groups;
328
214
  // }
329
- // });
330
- // }
331
-
332
- // // 杆件结果
333
- // {
334
- // let table = "R_POSTMEMBERRESULTS";
335
- // let group = "LoadConditionName";
336
-
337
- // let columns = [
338
- // "MemberName",
339
- // "MemberID",
340
- // "Distance",
341
- // "ForceUnits",
342
- // "MomentUnits",
343
- // "DistanceUnits",
344
- // "MaxUC",
345
- // "AxialUC",
346
- // "YYBendingUC",
347
- // "ZZBendingUC",
348
- // "TotalShearUC",
349
- // "AXStress",
350
- // "YYBendingStress",
351
- // "ZZBendingStress",
352
- // "YShearStress",
353
- // "ZShearStress",
354
- // "AxialLoad",
355
- // "YYBendingMoment",
356
- // "ZZBendingMoment",
357
- // ];
358
215
 
359
- // let promises = [];
360
- // let promise1 = renderObjectService
361
- // .postData(projectId, table, columns, group)
362
- // .then((result: any) => {
363
- // if (result) {
216
+ // if(result) {
364
217
  // this.postResult = result.groups;
365
218
  // }
366
219
  // });
@@ -395,6 +248,157 @@ export class PostInterfaceManager extends Longan.ViewerManagerBase {
395
248
  // });
396
249
  // }
397
250
 
251
+ // 内力图
252
+ {
253
+ let table = "R_POSTMEMBERRESULTS";
254
+ let group = "LoadConditionName";
255
+
256
+ let columns = [
257
+ "MemberName",
258
+ "MemberID",
259
+ "Distance",
260
+ "MomentUnits",
261
+ "DistanceUnits",
262
+ "YYBendingMoment",
263
+ "ZZBendingMoment",
264
+ "YShear",
265
+ "ZShear",
266
+ "AxialLoad",
267
+ ];
268
+
269
+ renderObjectService
270
+ .postData(projectId, table, columns, group)
271
+ .then((result: any) => {
272
+ this.event_bendingMoment.forEach((item: () => void) => {
273
+ item();
274
+ });
275
+
276
+ this.getFinish_bendingMoment = true;
277
+ if (this.tip_bendingMoment) {
278
+ if (this.message_bendingMoment) {
279
+ this.message_bendingMoment.close();
280
+ this.message_bendingMoment = null;
281
+ }
282
+ Message.info("内力图后处理数据请求完成.");
283
+ this.tip_bendingMoment = false;
284
+ }
285
+ if (result) {
286
+ this.bendingMoment = result.groups;
287
+
288
+ if (this.requested_bendingMoment) {
289
+ this.requested_bendingMoment();
290
+ this.requested_bendingMoment = null;
291
+ }
292
+ }
293
+ });
294
+ }
295
+
296
+ // UC图
297
+ {
298
+ let table = "R_POSTMEMBERRESULTS";
299
+ let group = "LoadConditionName";
300
+
301
+ let columns = [
302
+ "MemberName",
303
+ "MemberID",
304
+ "Distance",
305
+ "MomentUnits",
306
+ "DistanceUnits",
307
+ "AxialUC",
308
+ "YYBendingUC",
309
+ "ZZBendingUC",
310
+ "TotalShearUC",
311
+ "MaxUC",
312
+ ];
313
+
314
+ renderObjectService
315
+ .postData(projectId, table, columns, group)
316
+ .then((result: any) => {
317
+ this.event_ucDiagram.forEach((item: () => void) => {
318
+ item();
319
+ });
320
+
321
+ this.getFinish_ucDiagram = true;
322
+ if (this.tip_ucDiagram) {
323
+ if (this.message_ucDiagram) {
324
+ this.message_ucDiagram.close();
325
+ this.message_ucDiagram = null;
326
+ }
327
+ Message.info("UC图后处理数据请求完成.");
328
+ this.tip_ucDiagram = false;
329
+ }
330
+ if (result) {
331
+ this.ucDiagram = result.groups;
332
+ }
333
+ });
334
+ }
335
+
336
+ // 杆件结果
337
+ {
338
+ let table = "R_POSTMEMBERRESULTS";
339
+ let group = "LoadConditionName";
340
+
341
+ let columns = [
342
+ "MemberName",
343
+ "MemberID",
344
+ "Distance",
345
+ "ForceUnits",
346
+ "MomentUnits",
347
+ "DistanceUnits",
348
+ "MaxUC",
349
+ "AxialUC",
350
+ "YYBendingUC",
351
+ "ZZBendingUC",
352
+ "TotalShearUC",
353
+ "AXStress",
354
+ "YYBendingStress",
355
+ "ZZBendingStress",
356
+ "YShearStress",
357
+ "ZShearStress",
358
+ "AxialLoad",
359
+ "YYBendingMoment",
360
+ "ZZBendingMoment",
361
+ ];
362
+
363
+ let promises = [];
364
+ let promise1 = renderObjectService
365
+ .postData(projectId, table, columns, group)
366
+ .then((result: any) => {
367
+ if (result) {
368
+ this.postResult = result.groups;
369
+ }
370
+ });
371
+
372
+ let table1 = "ElementUC";
373
+ let columns1 = ["MemberName", "LoadCondition"];
374
+
375
+ let promise2 = renderObjectService
376
+ .postData(projectId, table1, columns1, "")
377
+ .then((result: any) => {
378
+ if (result) {
379
+ this.post_jointCanSummaryUC = result.rows;
380
+ }
381
+ });
382
+ promises.push(promise1);
383
+ promises.push(promise2);
384
+
385
+ Promise.all(promises).then(() => {
386
+ this.event_postResult.forEach((item: () => void) => {
387
+ item();
388
+ });
389
+
390
+ this.getFinish_postResult = true;
391
+ if (this.tip_postResult) {
392
+ if (this.message_postResult) {
393
+ this.message_postResult.close();
394
+ this.message_postResult = null;
395
+ }
396
+ Message.info("杆件结果后处理数据请求完成.");
397
+ this.tip_postResult = false;
398
+ }
399
+ });
400
+ }
401
+
398
402
  // 结构变形
399
403
  {
400
404
  let table = "R_POSTJOINTDISPLACEMENTRESULTS";
@@ -1,6 +1,7 @@
1
1
  import { Longan } from "gs-bim-air";
2
2
  import { CAEObjectSelector } from "../../operators/caeObjectSelector";
3
3
  import { Viewer } from "../../viewer";
4
+ import { RenderObject } from "gs-longan";
4
5
 
5
6
  /**
6
7
  * 设置CAE对象的选择过滤
@@ -51,6 +52,14 @@ export class SelectionInterfaceManager extends Longan.ViewerManagerBase {
51
52
  this.jointSelection = true;
52
53
  this.memberSelection = true;
53
54
  this.plateSelection = true;
55
+
56
+ let viewer = this.viewer as Viewer;
57
+ let tempNode = viewer.process.caeRenderObjectTreeManager.tempNode;
58
+ let node = viewer.findInstanceObject(tempNode);
59
+ if (node) {
60
+ let segment = node.segment;
61
+ segment.selectability.unset();
62
+ }
54
63
  } else if (value === SelectorFiliter.Joint) {
55
64
  this.jointSelection = true;
56
65
  this.memberSelection = false;
@@ -72,18 +81,19 @@ export class SelectionInterfaceManager extends Longan.ViewerManagerBase {
72
81
  this._jointSelection = onoff;
73
82
  let viewer = this.viewer as Viewer;
74
83
  let ro = viewer.process.caeRenderObjectTreeManager.jointNode;
75
- let node = viewer.findInstanceObject(ro);
76
- if (node) {
77
- let segment = node.segment;
84
+ this.setROSelectability(ro, onoff);
78
85
 
79
- if (onoff) {
80
- segment.selectability.unset();
81
- } else {
86
+ if(onoff) {
87
+ let tempNode = viewer.process.caeRenderObjectTreeManager.tempNode;
88
+
89
+ let node = viewer.findInstanceObject(tempNode);
90
+ if (node) {
91
+ let segment = node.segment;
82
92
  segment.selectability
83
- .setVertex(Longan.SelectabilityType.Off)
93
+ .setVertex(Longan.SelectabilityType.On)
94
+ .setMarker(Longan.SelectabilityType.On)
84
95
  .setFace(Longan.SelectabilityType.Off)
85
96
  .setLine(Longan.SelectabilityType.Off)
86
- .setMarker(Longan.SelectabilityType.Off);
87
97
  }
88
98
  }
89
99
  }
@@ -97,34 +107,22 @@ export class SelectionInterfaceManager extends Longan.ViewerManagerBase {
97
107
  let viewer = this.viewer as Viewer;
98
108
 
99
109
  let ro = viewer.process.caeRenderObjectTreeManager.memberNode;
100
- let node = viewer.findInstanceObject(ro);
101
- if (node) {
102
- let segment = node.segment;
103
-
104
- if (onoff) {
105
- segment.selectability.unset();
106
- } else {
107
- segment.selectability
108
- .setVertex(Longan.SelectabilityType.Off)
109
- .setFace(Longan.SelectabilityType.Off)
110
- .setLine(Longan.SelectabilityType.Off)
111
- .setMarker(Longan.SelectabilityType.Off);
112
- }
113
- }
110
+ this.setROSelectability(ro, onoff);
114
111
 
115
112
  let pile = viewer.process.caeRenderObjectTreeManager.pileNode;
116
- let pileNode = viewer.findInstanceObject(pile);
117
- if (pileNode) {
118
- let segment = pileNode.segment;
113
+ this.setROSelectability(pile, onoff);
119
114
 
120
- if (onoff) {
121
- segment.selectability.unset();
122
- } else {
115
+ if(onoff) {
116
+ let tempNode = viewer.process.caeRenderObjectTreeManager.tempNode;
117
+
118
+ let node = viewer.findInstanceObject(tempNode);
119
+ if (node) {
120
+ let segment = node.segment;
123
121
  segment.selectability
124
122
  .setVertex(Longan.SelectabilityType.Off)
125
- .setFace(Longan.SelectabilityType.Off)
126
- .setLine(Longan.SelectabilityType.Off)
127
- .setMarker(Longan.SelectabilityType.Off);
123
+ .setMarker(Longan.SelectabilityType.Off)
124
+ .setFace(Longan.SelectabilityType.On)
125
+ .setLine(Longan.SelectabilityType.On)
128
126
  }
129
127
  }
130
128
  }
@@ -137,17 +135,19 @@ export class SelectionInterfaceManager extends Longan.ViewerManagerBase {
137
135
  this._plateSelection = onoff;
138
136
  let viewer = this.viewer as Viewer;
139
137
  let ro = viewer.process.caeRenderObjectTreeManager.plateNode;
140
- let node = viewer.findInstanceObject(ro);
141
- if (node) {
142
- let segment = node.segment;
143
- if (onoff) {
144
- segment.selectability.unset();
145
- } else {
138
+ this.setROSelectability(ro, onoff);
139
+
140
+ if(onoff) {
141
+ let tempNode = viewer.process.caeRenderObjectTreeManager.tempNode;
142
+
143
+ let node = viewer.findInstanceObject(tempNode);
144
+ if (node) {
145
+ let segment = node.segment;
146
146
  segment.selectability
147
147
  .setVertex(Longan.SelectabilityType.Off)
148
+ .setMarker(Longan.SelectabilityType.Off)
148
149
  .setFace(Longan.SelectabilityType.Off)
149
150
  .setLine(Longan.SelectabilityType.Off)
150
- .setMarker(Longan.SelectabilityType.Off);
151
151
  }
152
152
  }
153
153
  }
@@ -156,6 +156,26 @@ export class SelectionInterfaceManager extends Longan.ViewerManagerBase {
156
156
  return this._plateSelection;
157
157
  }
158
158
 
159
+ private setROSelectability(ro: RenderObject, onoff: boolean) {
160
+ let viewer = this.viewer as Viewer;
161
+ if (ro) {
162
+ let node = viewer.findInstanceObject(ro);
163
+ if (node) {
164
+ let segment = node.segment;
165
+
166
+ if (onoff) {
167
+ segment.selectability.unset();
168
+ } else {
169
+ segment.selectability
170
+ .setVertex(Longan.SelectabilityType.Off)
171
+ .setFace(Longan.SelectabilityType.Off)
172
+ .setLine(Longan.SelectabilityType.Off)
173
+ .setMarker(Longan.SelectabilityType.Off);
174
+ }
175
+ }
176
+ }
177
+ }
178
+
159
179
  /**
160
180
  * SelectionInterfaceManager
161
181
  * 清除当前选择与高亮.
@@ -889,24 +889,60 @@ export class MemberObject extends LineObject implements IReferencedObject {
889
889
 
890
890
  let result = cardMember.getLine();
891
891
  if (this.startOffset || this.endOffset) {
892
- if (
893
- !this.arrayEqual(this.startOffset, [0, 0, 0]) ||
894
- !this.arrayEqual(this.endOffset, [0, 0, 0])
895
- ) {
896
- result += "\n";
897
-
898
- let cardMemberOffsets = new CardMemberOffsets();
899
- cardMemberOffsets.lineLabel.value = "MEMBER OFFSETS";
900
- cardMemberOffsets.comments.value = "";
901
- cardMemberOffsets.jointA_XOffset.value = this.startOffset[0];
902
- cardMemberOffsets.jointA_YOffset.value = this.startOffset[1];
903
- cardMemberOffsets.jointA_ZOffset.value = this.startOffset[2];
904
-
905
- cardMemberOffsets.jointB_XOffset.value = this.endOffset[0];
906
- cardMemberOffsets.jointB_YOffset.value = this.endOffset[1];
907
- cardMemberOffsets.jointB_ZOffset.value = this.endOffset[2];
908
-
909
- result += cardMemberOffsets.getLine();
892
+ if (!this.startOffset) {
893
+ if (!this.arrayEqual(this.endOffset, [0, 0, 0])) {
894
+ result += "\n";
895
+
896
+ let cardMemberOffsets = new CardMemberOffsets();
897
+ cardMemberOffsets.lineLabel.value = "MEMBER OFFSETS";
898
+ cardMemberOffsets.comments.value = "";
899
+ cardMemberOffsets.jointA_XOffset.value = 0;
900
+ cardMemberOffsets.jointA_YOffset.value = 0;
901
+ cardMemberOffsets.jointA_ZOffset.value = 0;
902
+
903
+ cardMemberOffsets.jointB_XOffset.value = this.endOffset[0];
904
+ cardMemberOffsets.jointB_YOffset.value = this.endOffset[1];
905
+ cardMemberOffsets.jointB_ZOffset.value = this.endOffset[2];
906
+
907
+ result += cardMemberOffsets.getLine();
908
+ }
909
+ } else if (!this.endOffset) {
910
+ if (!this.arrayEqual(this.startOffset, [0, 0, 0])) {
911
+ result += "\n";
912
+
913
+ let cardMemberOffsets = new CardMemberOffsets();
914
+ cardMemberOffsets.lineLabel.value = "MEMBER OFFSETS";
915
+ cardMemberOffsets.comments.value = "";
916
+ cardMemberOffsets.jointA_XOffset.value = this.startOffset[0];
917
+ cardMemberOffsets.jointA_YOffset.value = this.startOffset[1];
918
+ cardMemberOffsets.jointA_ZOffset.value = this.startOffset[2];
919
+
920
+ cardMemberOffsets.jointB_XOffset.value = 0;
921
+ cardMemberOffsets.jointB_YOffset.value = 0;
922
+ cardMemberOffsets.jointB_ZOffset.value = 0;
923
+
924
+ result += cardMemberOffsets.getLine();
925
+ }
926
+ } else {
927
+ if (
928
+ !this.arrayEqual(this.startOffset, [0, 0, 0]) ||
929
+ !this.arrayEqual(this.endOffset, [0, 0, 0])
930
+ ) {
931
+ result += "\n";
932
+
933
+ let cardMemberOffsets = new CardMemberOffsets();
934
+ cardMemberOffsets.lineLabel.value = "MEMBER OFFSETS";
935
+ cardMemberOffsets.comments.value = "";
936
+ cardMemberOffsets.jointA_XOffset.value = this.startOffset[0];
937
+ cardMemberOffsets.jointA_YOffset.value = this.startOffset[1];
938
+ cardMemberOffsets.jointA_ZOffset.value = this.startOffset[2];
939
+
940
+ cardMemberOffsets.jointB_XOffset.value = this.endOffset[0];
941
+ cardMemberOffsets.jointB_YOffset.value = this.endOffset[1];
942
+ cardMemberOffsets.jointB_ZOffset.value = this.endOffset[2];
943
+
944
+ result += cardMemberOffsets.getLine();
945
+ }
910
946
  }
911
947
  }
912
948
 
@@ -1702,7 +1738,7 @@ export class MemberObject extends LineObject implements IReferencedObject {
1702
1738
  }
1703
1739
  }
1704
1740
 
1705
- if(length < 0) {
1741
+ if (length < 0) {
1706
1742
  length = 0;
1707
1743
  }
1708
1744