gs-cae-design 1.1.59 → 1.1.61
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/README.md +24 -0
- package/lib/.gz +0 -0
- package/lib/CAEDesign.common-report.html +2 -2
- package/lib/CAEDesign.common.js +32 -32
- package/lib/CAEDesign.umd-report.html +2 -2
- package/lib/CAEDesign.umd.js +32 -32
- package/lib/CAEDesign.umd.min-report.html +2 -2
- package/lib/CAEDesign.umd.min.js +32 -32
- package/package.json +1 -1
- package/src/gsDevFx/managers/caeRenderObjectTreeManager.ts +1 -1
- package/src/gsDevFx/managers/datReaderManager.ts +85 -50
- package/src/gsDevFx/objects/caeObjects/grupObject.ts +22 -20
- package/src/gsDevFx/objects/caeObjects/jointObject.ts +4 -2
- package/src/gsDevFx/objects/caeObjects/memberObject.ts +10 -7
- package/src/gsDevFx/objects/caeObjects/pGrupObject.ts +9 -8
- package/src/gsDevFx/objects/caeObjects/plateObject.ts +96 -32
- package/src/gsDevFx/objects/caeObjects/sectionObject.ts +47 -25
- package/src/gsDevFx/objects/pretreatmentObjects/cutlineBaseObject.ts +13 -12
- package/src/gsDevFx/process.ts +64 -22
- package/src/gsDevFx/viewer.ts +4 -4
- package/src/viewerWrapper/commands/aftertreatment/postResultCloud/commandPostResultCloud.ts +9 -2
- package/src/viewerWrapper/commands/commandUtilities/commandUtilities.ts +99 -91
- package/src/viewerWrapper/commands/editGrup/commandEditGrup.ts +22 -35
- package/src/viewerWrapper/commands/editSection/commandEditSection.ts +2 -0
- package/src/viewerWrapper/commands/mergeMember/commandMergeMember.ts +3 -0
- package/src/viewerWrapper/commands/pretreatment/importBoreholes/commandImportBoreholes.ts +19 -3
- package/src/viewerWrapper/commands/pretreatment/importBoreholes/importBoreholesConfig.ts +4 -0
- package/src/viewerWrapper/commands/showJointProperty/commandShowJointProperty.ts +18 -15
- package/types/caeDesign/src/gsDevFx/managers/commandManager.d.ts.map +1 -1
- package/types/caeDesign/src/gsDevFx/objects/caeObjects/grupObject.d.ts.map +1 -1
- package/types/caeDesign/src/gsDevFx/objects/caeObjects/jointObject.d.ts.map +1 -1
- package/types/caeDesign/src/gsDevFx/objects/caeObjects/memberObject.d.ts.map +1 -1
- package/types/caeDesign/src/gsDevFx/objects/caeObjects/pGrupObject.d.ts.map +1 -1
- package/types/caeDesign/src/gsDevFx/objects/caeObjects/plateObject.d.ts.map +1 -1
- package/types/caeDesign/src/gsDevFx/objects/caeObjects/sectionObject.d.ts.map +1 -1
- package/types/caeDesign/src/gsDevFx/objects/pretreatmentObjects/cutlineBaseObject.d.ts.map +1 -1
- package/types/caeDesign/src/gsDevFx/process.d.ts.map +1 -1
- package/types/caeDesign/src/gsDevFx/propertyComponents/propertyComponent.vue.d.ts +0 -13
- package/types/caeDesign/src/gsDevFx/viewer.d.ts.map +1 -1
- package/types/caeDesign/src/viewerWrapper/commands/aftertreatment/postResultCloud/commandPostResultCloud.d.ts.map +1 -1
- package/types/caeDesign/src/viewerWrapper/commands/commandUtilities/commandUtilities.d.ts.map +1 -1
- package/types/caeDesign/src/viewerWrapper/commands/editGrup/commandEditGrup.d.ts.map +1 -1
- package/types/caeDesign/src/viewerWrapper/commands/mergeMember/commandMergeMember.d.ts.map +1 -1
- package/types/caeDesign/src/viewerWrapper/commands/showJointProperty/commandShowJointProperty.d.ts.map +1 -1
- package/types/caeDesign/src/viewerWrapper/module/createMenu.d.ts.map +1 -0
- package/types/caeDesign/src/viewerWrapper/panel/viewPoint/viewPointPanel.d.ts +36 -0
- package/types/ceecDesign/src/api/renderObjectServices.d.ts +0 -15
- package/types/ceecDesign/src/api/renderObjectServices.d.ts.map +0 -1
- package/types/ceecDesign/src/gsDevFx/objects/designLightObject/designLightObject.d.ts +0 -18
- package/types/ceecDesign/src/gsDevFx/objects/designLightObject/designLightObject.d.ts.map +0 -1
- package/types/ceecDesign/src/utils/cookie.d.ts +38 -0
- package/types/ceecDesign/src/utils/cookie.d.ts.map +1 -0
|
@@ -15,7 +15,6 @@ import { Process } from "../../../gsDevFx/process";
|
|
|
15
15
|
import { Viewer } from "gs-ceec-design";
|
|
16
16
|
import { ColorDivComponentGroupObject } from "../pretreatmentObjects/colorDivComponentGroupObject";
|
|
17
17
|
|
|
18
|
-
|
|
19
18
|
export enum ViewOption {
|
|
20
19
|
Line,
|
|
21
20
|
Body,
|
|
@@ -97,12 +96,14 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
97
96
|
override get name() {
|
|
98
97
|
return this._name;
|
|
99
98
|
}
|
|
100
|
-
|
|
99
|
+
|
|
101
100
|
override set name(value) {
|
|
102
|
-
(Process.activeProcess as Process).nameMapPlate.
|
|
101
|
+
if ((Process.activeProcess as Process).nameMapPlate.get(this.name)) {
|
|
102
|
+
(Process.activeProcess as Process).nameMapPlate.delete(this.name);
|
|
103
|
+
(Process.activeProcess as Process).nameMapPlate.set(value, this);
|
|
104
|
+
}
|
|
103
105
|
|
|
104
106
|
this._name = value;
|
|
105
|
-
(Process.activeProcess as Process).nameMapPlate.set(value, this);
|
|
106
107
|
}
|
|
107
108
|
|
|
108
109
|
get additionalProperty() {
|
|
@@ -124,25 +125,42 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
124
125
|
if (property.offsetOption !== null && property.overriedPlateOffset) {
|
|
125
126
|
this.offsetOption = Longan.deepClone(property.offsetOption);
|
|
126
127
|
}
|
|
127
|
-
if(property.offsetOption && property.offsetOption !== "0") {
|
|
128
|
-
this.offsets = [0,0,0,0,0,0,0,0,0];
|
|
128
|
+
if (property.offsetOption && property.offsetOption !== "0") {
|
|
129
|
+
this.offsets = [0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
129
130
|
}
|
|
130
|
-
if (
|
|
131
|
+
if (
|
|
132
|
+
property.offsetOption &&
|
|
133
|
+
property.offsetOption !== "0" &&
|
|
134
|
+
property.overriedJointA
|
|
135
|
+
) {
|
|
131
136
|
this.offsets[0] = property.jointA[0];
|
|
132
137
|
this.offsets[1] = property.jointA[1];
|
|
133
138
|
this.offsets[2] = property.jointA[2];
|
|
134
139
|
}
|
|
135
|
-
if (
|
|
140
|
+
if (
|
|
141
|
+
property.offsetOption &&
|
|
142
|
+
property.offsetOption !== "0" &&
|
|
143
|
+
property.overriedJointB
|
|
144
|
+
) {
|
|
136
145
|
this.offsets[3] = property.jointB[0];
|
|
137
146
|
this.offsets[4] = property.jointB[1];
|
|
138
147
|
this.offsets[5] = property.jointB[2];
|
|
139
148
|
}
|
|
140
|
-
if (
|
|
149
|
+
if (
|
|
150
|
+
property.offsetOption &&
|
|
151
|
+
property.offsetOption !== "0" &&
|
|
152
|
+
property.overriedJointC
|
|
153
|
+
) {
|
|
141
154
|
this.offsets[6] = property.jointC[0];
|
|
142
155
|
this.offsets[7] = property.jointC[1];
|
|
143
156
|
this.offsets[8] = property.jointC[2];
|
|
144
157
|
}
|
|
145
|
-
if (
|
|
158
|
+
if (
|
|
159
|
+
property.offsetOption &&
|
|
160
|
+
property.offsetOption !== "0" &&
|
|
161
|
+
property.overriedJointD &&
|
|
162
|
+
this.joints.length > 3
|
|
163
|
+
) {
|
|
146
164
|
this.offsets[9] = property.jointD[0];
|
|
147
165
|
this.offsets[10] = property.jointD[1];
|
|
148
166
|
this.offsets[11] = property.jointD[2];
|
|
@@ -200,8 +218,8 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
200
218
|
public set offsetOption(value: string) {
|
|
201
219
|
this._offsetOption = value;
|
|
202
220
|
if (!value) {
|
|
203
|
-
if(this.offsets) {
|
|
204
|
-
for(let i = 0; i < this.offsets.length; i++) {
|
|
221
|
+
if (this.offsets) {
|
|
222
|
+
for (let i = 0; i < this.offsets.length; i++) {
|
|
205
223
|
this.offsets[i] = 0;
|
|
206
224
|
}
|
|
207
225
|
}
|
|
@@ -294,7 +312,7 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
294
312
|
if (this.joints) {
|
|
295
313
|
let ids = new Array<string>();
|
|
296
314
|
for (let i = 0; i < this.joints.length; i++) {
|
|
297
|
-
if(this.joints[i].typeName) {
|
|
315
|
+
if (this.joints[i].typeName) {
|
|
298
316
|
ids.push(this.joints[i].id);
|
|
299
317
|
} else {
|
|
300
318
|
ids.push(this.joints[i] as any);
|
|
@@ -439,18 +457,36 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
439
457
|
cardPlateOffset1.firstJoint_XOffset.value = this.offsets[0].toString();
|
|
440
458
|
cardPlateOffset1.firstJoint_YOffset.value = this.offsets[1].toString();
|
|
441
459
|
cardPlateOffset1.firstJoint_ZOffset.value = this.offsets[2].toString();
|
|
442
|
-
cardPlateOffset1.secondJoint_XOffset.value =
|
|
443
|
-
|
|
444
|
-
|
|
460
|
+
cardPlateOffset1.secondJoint_XOffset.value =
|
|
461
|
+
this.offsets[3] !== null && this.offsets[3] !== undefined
|
|
462
|
+
? this.offsets[3].toString()
|
|
463
|
+
: "";
|
|
464
|
+
cardPlateOffset1.secondJoint_YOffset.value =
|
|
465
|
+
this.offsets[4] !== null && this.offsets[3] !== undefined
|
|
466
|
+
? this.offsets[4].toString()
|
|
467
|
+
: "";
|
|
468
|
+
cardPlateOffset1.secondJoint_ZOffset.value =
|
|
469
|
+
this.offsets[5] !== null && this.offsets[3] !== undefined
|
|
470
|
+
? this.offsets[5].toString()
|
|
471
|
+
: "";
|
|
445
472
|
|
|
446
473
|
result += cardPlateOffset1.getLine() + "\n";
|
|
447
474
|
|
|
448
475
|
let cardPlateOffset2 = new CardPlateOffsets();
|
|
449
476
|
cardPlateOffset2.lineLabel.value = "PLATE OFFSETS";
|
|
450
477
|
cardPlateOffset2.comments.value = "";
|
|
451
|
-
cardPlateOffset2.firstJoint_XOffset.value =
|
|
452
|
-
|
|
453
|
-
|
|
478
|
+
cardPlateOffset2.firstJoint_XOffset.value =
|
|
479
|
+
this.offsets[6] !== null && this.offsets[3] !== undefined
|
|
480
|
+
? this.offsets[6].toString()
|
|
481
|
+
: "";
|
|
482
|
+
cardPlateOffset2.firstJoint_YOffset.value =
|
|
483
|
+
this.offsets[7] !== null && this.offsets[3] !== undefined
|
|
484
|
+
? this.offsets[7].toString()
|
|
485
|
+
: "";
|
|
486
|
+
cardPlateOffset2.firstJoint_ZOffset.value =
|
|
487
|
+
this.offsets[8] !== null && this.offsets[3] !== undefined
|
|
488
|
+
? this.offsets[8].toString()
|
|
489
|
+
: "";
|
|
454
490
|
if (this.offsets.length > 9) {
|
|
455
491
|
if (this.offsets[9] !== null && this.offsets[9] !== undefined) {
|
|
456
492
|
cardPlateOffset2.secondJoint_XOffset.value =
|
|
@@ -590,7 +626,10 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
590
626
|
this.pGrup.plateZOffset !== null
|
|
591
627
|
) {
|
|
592
628
|
let normal = this.getNormal();
|
|
593
|
-
let offset = Longan.Vector.multiply(
|
|
629
|
+
let offset = Longan.Vector.multiply(
|
|
630
|
+
normal,
|
|
631
|
+
this.pGrup.plateZOffset / 100
|
|
632
|
+
);
|
|
594
633
|
|
|
595
634
|
let p0 = new Float32Array([positions[0], positions[1], positions[2]]);
|
|
596
635
|
let p1 = new Float32Array([positions[3], positions[4], positions[5]]);
|
|
@@ -639,7 +678,7 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
639
678
|
positions.push(this.joints[i].position[2]);
|
|
640
679
|
}
|
|
641
680
|
|
|
642
|
-
return positions
|
|
681
|
+
return positions;
|
|
643
682
|
}
|
|
644
683
|
|
|
645
684
|
// 有限元网格处理.
|
|
@@ -695,7 +734,10 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
695
734
|
let m1 = Longan.Vector.module(v1);
|
|
696
735
|
let result = Longan.Point.add(
|
|
697
736
|
center,
|
|
698
|
-
Longan.Vector.multiply(
|
|
737
|
+
Longan.Vector.multiply(
|
|
738
|
+
Longan.Vector.normalizeVector(v1),
|
|
739
|
+
m1 * this.finiteElementCoeff
|
|
740
|
+
)
|
|
699
741
|
);
|
|
700
742
|
return result;
|
|
701
743
|
}
|
|
@@ -868,7 +910,7 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
868
910
|
|
|
869
911
|
// 判断输入点是否都共面.
|
|
870
912
|
|
|
871
|
-
|
|
913
|
+
static checkPlateLegal(positions: number[]): boolean {
|
|
872
914
|
// 先判断p0,p1,p2是否在同一直线上
|
|
873
915
|
// 是---若不存在第4个点---绘制失败.
|
|
874
916
|
// ---存在第4个点---判断p0,p1,p2是否在同一直线上.
|
|
@@ -905,7 +947,12 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
905
947
|
normal
|
|
906
948
|
);
|
|
907
949
|
let vector = Longan.Point.subtract(projectPoint, p3);
|
|
908
|
-
if (
|
|
950
|
+
if (
|
|
951
|
+
Longan.GeometryOperators.sameVector(
|
|
952
|
+
vector,
|
|
953
|
+
new Float32Array([0, 0, 0])
|
|
954
|
+
)
|
|
955
|
+
) {
|
|
909
956
|
// p3在面内,isLegal = true
|
|
910
957
|
} else {
|
|
911
958
|
isLegal = false;
|
|
@@ -920,7 +967,10 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
920
967
|
}
|
|
921
968
|
|
|
922
969
|
static isPlate(p0: Float32Array, p1: Float32Array, p2: Float32Array) {
|
|
923
|
-
if
|
|
970
|
+
if (
|
|
971
|
+
Longan.GeometryOperators.samePoint(p1, p2) &&
|
|
972
|
+
Longan.GeometryOperators.samePoint(p1, p2)
|
|
973
|
+
) {
|
|
924
974
|
return false;
|
|
925
975
|
}
|
|
926
976
|
let axis1 = Longan.Point.subtract(p1, p0);
|
|
@@ -944,18 +994,28 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
944
994
|
let p2 = new Float32Array(positions.slice(6, 9));
|
|
945
995
|
let p3 = new Float32Array(positions.slice(9, 12));
|
|
946
996
|
|
|
947
|
-
let inter0 = Longan.GeometryOperators.intersectionLineSegmentLineSegment(
|
|
948
|
-
|
|
997
|
+
let inter0 = Longan.GeometryOperators.intersectionLineSegmentLineSegment(
|
|
998
|
+
p0,
|
|
999
|
+
p1,
|
|
1000
|
+
p2,
|
|
1001
|
+
p3
|
|
1002
|
+
);
|
|
1003
|
+
let inter1 = Longan.GeometryOperators.intersectionLineSegmentLineSegment(
|
|
1004
|
+
p0,
|
|
1005
|
+
p2,
|
|
1006
|
+
p1,
|
|
1007
|
+
p3
|
|
1008
|
+
);
|
|
949
1009
|
// let inter2 = Longan.GeometryOperators.intersectionLineSegmentLineSegment(p0, p3, p1, p2);
|
|
950
|
-
if(inter1) {
|
|
1010
|
+
if (inter1) {
|
|
951
1011
|
let points1 = positions.slice(0, 9);
|
|
952
1012
|
let points2 = positions.slice(6, 12).concat(positions.slice(0, 3));
|
|
953
1013
|
this.segment.insertTriangularShell(points1, indices1);
|
|
954
1014
|
this.segment.insertTriangularShell(points2, indices1);
|
|
955
|
-
|
|
1015
|
+
|
|
956
1016
|
this.segment.insertTriangularShell(points1, indices2);
|
|
957
1017
|
this.segment.insertTriangularShell(points2, indices2);
|
|
958
|
-
} else if(inter0) {
|
|
1018
|
+
} else if (inter0) {
|
|
959
1019
|
let points1 = positions.slice(0, 9);
|
|
960
1020
|
let points2 = positions.slice(0, 6).concat(positions.slice(9, 12));
|
|
961
1021
|
this.segment.insertTriangularShell(points1, indices1);
|
|
@@ -1103,7 +1163,11 @@ export class PlateObject extends PolylineObject implements IReferencedObject {
|
|
|
1103
1163
|
let zPoint = Longan.Point.add(origin, axis.zAxis);
|
|
1104
1164
|
|
|
1105
1165
|
let matrix = Longan.Matrix4.identity();
|
|
1106
|
-
if (
|
|
1166
|
+
if (
|
|
1167
|
+
this.segment.attributes.indexOf(
|
|
1168
|
+
Longan.LonganCore.ObjectType.TYPE_ModellingMatrix
|
|
1169
|
+
)
|
|
1170
|
+
) {
|
|
1107
1171
|
if (this.segment.modellingMatrix.matrix) {
|
|
1108
1172
|
matrix = new Float32Array(this.segment.modellingMatrix.matrix);
|
|
1109
1173
|
}
|
|
@@ -1344,7 +1408,7 @@ export class PlateAdditionalProperty {
|
|
|
1344
1408
|
jointB = [0, 0, 0];
|
|
1345
1409
|
jointC = [0, 0, 0];
|
|
1346
1410
|
jointD = [0, 0, 0];
|
|
1347
|
-
|
|
1411
|
+
|
|
1348
1412
|
overriedStreeReport: boolean = false;
|
|
1349
1413
|
overriedPlateOffset: boolean = false;
|
|
1350
1414
|
overriedJointA: boolean = false;
|
|
@@ -56,16 +56,18 @@ export class SectionObject
|
|
|
56
56
|
stiffnessPro_IZ: string = null;
|
|
57
57
|
|
|
58
58
|
standardSize: string = null;
|
|
59
|
-
|
|
59
|
+
|
|
60
60
|
override get name() {
|
|
61
61
|
return this._name;
|
|
62
62
|
}
|
|
63
|
-
|
|
63
|
+
|
|
64
64
|
override set name(value) {
|
|
65
|
-
(Process.activeProcess as Process).nameMapSection.
|
|
65
|
+
if ((Process.activeProcess as Process).nameMapSection.get(this.name)) {
|
|
66
|
+
(Process.activeProcess as Process).nameMapSection.delete(this.name);
|
|
67
|
+
(Process.activeProcess as Process).nameMapSection.set(value, this);
|
|
68
|
+
}
|
|
66
69
|
|
|
67
70
|
this._name = value;
|
|
68
|
-
(Process.activeProcess as Process).nameMapSection.set(value, this);
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
get disable() {
|
|
@@ -137,7 +139,7 @@ export class SectionObject
|
|
|
137
139
|
*/
|
|
138
140
|
public deserializeFormParams(params) {}
|
|
139
141
|
|
|
140
|
-
public checkParameter(params): boolean{
|
|
142
|
+
public checkParameter(params): boolean {
|
|
141
143
|
return true;
|
|
142
144
|
}
|
|
143
145
|
|
|
@@ -382,8 +384,14 @@ export class SectionObject
|
|
|
382
384
|
// console.log("lineAngel:", lineAngel / Math.PI * 180);
|
|
383
385
|
let distance = radius / Math.tan(lineAngel / 2);
|
|
384
386
|
|
|
385
|
-
let pointA = Longan.Point.add(
|
|
386
|
-
|
|
387
|
+
let pointA = Longan.Point.add(
|
|
388
|
+
point1,
|
|
389
|
+
Longan.Vector.multiply(p1p0, distance)
|
|
390
|
+
);
|
|
391
|
+
let pointB = Longan.Point.add(
|
|
392
|
+
point1,
|
|
393
|
+
Longan.Vector.multiply(p1p2, distance)
|
|
394
|
+
);
|
|
387
395
|
|
|
388
396
|
let tempZAxis = Longan.Vector.cross(p1p0, p1p2);
|
|
389
397
|
Longan.Vector.normalize(tempZAxis);
|
|
@@ -393,8 +401,14 @@ export class SectionObject
|
|
|
393
401
|
let tempPBAxis = Longan.Vector.cross(tempZAxis, p1p2);
|
|
394
402
|
Longan.Vector.normalize(tempPBAxis);
|
|
395
403
|
|
|
396
|
-
let pointA2 = Longan.Point.add(
|
|
397
|
-
|
|
404
|
+
let pointA2 = Longan.Point.add(
|
|
405
|
+
pointA,
|
|
406
|
+
Longan.Vector.multiply(tempPAAxis, 1)
|
|
407
|
+
);
|
|
408
|
+
let pointB2 = Longan.Point.add(
|
|
409
|
+
pointB,
|
|
410
|
+
Longan.Vector.multiply(tempPBAxis, 1)
|
|
411
|
+
);
|
|
398
412
|
|
|
399
413
|
// 求出中心点.
|
|
400
414
|
let crossPoint = Longan.GeometryOperators.intersectionLineLine(
|
|
@@ -483,42 +497,41 @@ export class SectionObject
|
|
|
483
497
|
if (this.typeName !== section.typeName) {
|
|
484
498
|
isSame = false;
|
|
485
499
|
} else {
|
|
486
|
-
switch(this.typeName) {
|
|
500
|
+
switch (this.typeName) {
|
|
487
501
|
case "AngSectionObject":
|
|
488
502
|
isSame = this.checkAngSectionEqual(this, section);
|
|
489
|
-
|
|
503
|
+
break;
|
|
490
504
|
case "BlbSectionObject":
|
|
491
505
|
isSame = this.checkBlbSectionEqual(this, section);
|
|
492
|
-
|
|
506
|
+
break;
|
|
493
507
|
case "BoxSectionObject":
|
|
494
508
|
isSame = this.checkBoxSectionEqual(this, section);
|
|
495
|
-
|
|
509
|
+
break;
|
|
496
510
|
case "ChlSectionObject":
|
|
497
511
|
isSame = this.checkChlSectionEqual(this, section);
|
|
498
|
-
|
|
512
|
+
break;
|
|
499
513
|
case "ConSectionObject":
|
|
500
514
|
isSame = this.checkConSectionEqual(this, section);
|
|
501
|
-
|
|
515
|
+
break;
|
|
502
516
|
case "DtbSectionObject":
|
|
503
517
|
isSame = this.checkDtbSectionEqual(this, section);
|
|
504
|
-
|
|
518
|
+
break;
|
|
505
519
|
case "PriSectionObject":
|
|
506
520
|
isSame = this.checkPriSectionEqual(this, section);
|
|
507
|
-
|
|
521
|
+
break;
|
|
508
522
|
case "RtbSectionObject":
|
|
509
523
|
isSame = this.checkRtbSectionEqual(this, section);
|
|
510
|
-
|
|
524
|
+
break;
|
|
511
525
|
case "TeeSectionObject":
|
|
512
526
|
isSame = this.checkTeeSectionEqual(this, section);
|
|
513
|
-
|
|
527
|
+
break;
|
|
514
528
|
case "TubSectionObject":
|
|
515
529
|
isSame = this.checkTubSectionEqual(this, section);
|
|
516
|
-
|
|
530
|
+
break;
|
|
517
531
|
case "WFSectionObject":
|
|
518
532
|
isSame = this.checkWFSectionEqual(this, section);
|
|
519
|
-
|
|
533
|
+
break;
|
|
520
534
|
}
|
|
521
|
-
|
|
522
535
|
}
|
|
523
536
|
return isSame;
|
|
524
537
|
}
|
|
@@ -572,8 +585,14 @@ export class SectionObject
|
|
|
572
585
|
let e1 = this.checkNumberEqual(sec1.outerDiameter, sec2.outerDiameter);
|
|
573
586
|
let e2 = this.checkNumberEqual(sec1.wallThick, sec2.wallThick);
|
|
574
587
|
let e3 = this.checkNumberEqual(sec1.dentDepth, sec2.dentDepth);
|
|
575
|
-
let e4 = this.checkNumberEqual(
|
|
576
|
-
|
|
588
|
+
let e4 = this.checkNumberEqual(
|
|
589
|
+
sec1.groutFilledRatio,
|
|
590
|
+
sec2.groutFilledRatio
|
|
591
|
+
);
|
|
592
|
+
let e5 = this.checkNumberEqual(
|
|
593
|
+
sec1.outOfStraightness,
|
|
594
|
+
sec2.outOfStraightness
|
|
595
|
+
);
|
|
577
596
|
|
|
578
597
|
return e1 && e2 && e3 && e4 && e5;
|
|
579
598
|
}
|
|
@@ -608,7 +627,10 @@ export class SectionObject
|
|
|
608
627
|
|
|
609
628
|
private checkTubSectionEqual(sec1, sec2) {
|
|
610
629
|
let e1 = this.checkNumberEqual(sec1.outsideRadius, sec2.outsideRadius);
|
|
611
|
-
let e2 = this.checkNumberEqual(
|
|
630
|
+
let e2 = this.checkNumberEqual(
|
|
631
|
+
sec1.outsideWallThick,
|
|
632
|
+
sec2.outsideWallThick
|
|
633
|
+
);
|
|
612
634
|
let e3 = this.checkNumberEqual(sec1.insideRadius, sec2.insideRadius);
|
|
613
635
|
let e4 = this.checkNumberEqual(sec1.insideWallThick, sec2.insideWallThick);
|
|
614
636
|
|
|
@@ -68,19 +68,20 @@ export class CutlineBaseObject extends DesignBaseObject {
|
|
|
68
68
|
// 在图例范围内
|
|
69
69
|
for (let i = 0; i < ucRanges.length - 1; i++) {
|
|
70
70
|
if (ucRanges[i] <= data && ucRanges[i + 1] >= data) {
|
|
71
|
+
color = this.getColorByIndex(ucRangesColors, i);
|
|
71
72
|
//
|
|
72
|
-
let bottom = ucRanges[i];
|
|
73
|
-
let top = ucRanges[i + 1];
|
|
74
|
-
let colorBottom = this.getColorByIndex(ucRangesColors, i);
|
|
75
|
-
let colorTop = this.getColorByIndex(ucRangesColors, i + 1);
|
|
76
|
-
|
|
77
|
-
color = this.colorInterpolation(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
);
|
|
73
|
+
// let bottom = ucRanges[i];
|
|
74
|
+
// let top = ucRanges[i + 1];
|
|
75
|
+
// let colorBottom = this.getColorByIndex(ucRangesColors, i);
|
|
76
|
+
// let colorTop = this.getColorByIndex(ucRangesColors, i + 1);
|
|
77
|
+
|
|
78
|
+
// color = this.colorInterpolation(
|
|
79
|
+
// bottom,
|
|
80
|
+
// colorBottom,
|
|
81
|
+
// top,
|
|
82
|
+
// colorTop,
|
|
83
|
+
// data
|
|
84
|
+
// );
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
}
|
package/src/gsDevFx/process.ts
CHANGED
|
@@ -20,10 +20,22 @@ export class Process extends CEECProcess {
|
|
|
20
20
|
private _caeRenderObjectTreeManager: CAERenderObjectTreeManager = null;
|
|
21
21
|
persistenceManager: PersistenceManager;
|
|
22
22
|
|
|
23
|
-
public jointMapReleativeMembers = new Map<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
public jointMapReleativeMembers = new Map<
|
|
24
|
+
JointObject,
|
|
25
|
+
Longan.List<MemberObject>
|
|
26
|
+
>();
|
|
27
|
+
public jointMapReleativePlates = new Map<
|
|
28
|
+
JointObject,
|
|
29
|
+
Longan.List<PlateObject>
|
|
30
|
+
>();
|
|
31
|
+
public grupMapReleativeMembers = new Map<
|
|
32
|
+
GrupObject,
|
|
33
|
+
Longan.List<MemberObject>
|
|
34
|
+
>();
|
|
35
|
+
public pgrupMapReleativePlates = new Map<
|
|
36
|
+
PGrupObject,
|
|
37
|
+
Longan.List<PlateObject>
|
|
38
|
+
>();
|
|
27
39
|
|
|
28
40
|
public nameMapSection = new Map<string, SectionObject>();
|
|
29
41
|
public nameMapJoint = new Map<string, JointObject>();
|
|
@@ -79,7 +91,7 @@ export class Process extends CEECProcess {
|
|
|
79
91
|
* 杆件坐标系
|
|
80
92
|
*/
|
|
81
93
|
memberAxisVisible = false;
|
|
82
|
-
|
|
94
|
+
|
|
83
95
|
get svgManager() {
|
|
84
96
|
return this._svgManager;
|
|
85
97
|
}
|
|
@@ -87,7 +99,7 @@ export class Process extends CEECProcess {
|
|
|
87
99
|
set svgManager(value: SvgManager) {
|
|
88
100
|
this._svgManager = value;
|
|
89
101
|
}
|
|
90
|
-
|
|
102
|
+
|
|
91
103
|
get cloudMemberTransformManager() {
|
|
92
104
|
if (this._cloudMemberTransformManager) {
|
|
93
105
|
return this._cloudMemberTransformManager;
|
|
@@ -105,7 +117,7 @@ export class Process extends CEECProcess {
|
|
|
105
117
|
}
|
|
106
118
|
|
|
107
119
|
public get activeViewer() {
|
|
108
|
-
return this._activeViewer as any
|
|
120
|
+
return this._activeViewer as any;
|
|
109
121
|
}
|
|
110
122
|
|
|
111
123
|
public set activeViewer(vi) {
|
|
@@ -113,12 +125,12 @@ export class Process extends CEECProcess {
|
|
|
113
125
|
let svgManaer = this.svgManager;
|
|
114
126
|
let tempObjects = new Longan.List<DesignBaseObject>();
|
|
115
127
|
|
|
116
|
-
for(let i = 0; i < svgManaer.drawingSvgObjects.count(); i++) {
|
|
128
|
+
for (let i = 0; i < svgManaer.drawingSvgObjects.count(); i++) {
|
|
117
129
|
let svgObject = svgManaer.drawingSvgObjects.items[i];
|
|
118
130
|
tempObjects.add(svgObject);
|
|
119
131
|
}
|
|
120
132
|
|
|
121
|
-
for(let i = 0; i < tempObjects.count(); i++) {
|
|
133
|
+
for (let i = 0; i < tempObjects.count(); i++) {
|
|
122
134
|
let svgObject = tempObjects.items[i];
|
|
123
135
|
svgObject.isDrawSvg = false;
|
|
124
136
|
}
|
|
@@ -127,24 +139,54 @@ export class Process extends CEECProcess {
|
|
|
127
139
|
// 应该是这个能修复切换视口标签页时页面没激活的问题.
|
|
128
140
|
this._activeViewer.makeContextCurrent();
|
|
129
141
|
this._activeViewer.updateSize();
|
|
130
|
-
console.log("activeViewer Id:", vi.canvas.id)
|
|
142
|
+
console.log("activeViewer Id:", vi.canvas.id);
|
|
131
143
|
|
|
132
144
|
// 切换actviewer之后,重新drawSvg
|
|
133
|
-
for(let i = 0; i < tempObjects.count(); i++) {
|
|
145
|
+
for (let i = 0; i < tempObjects.count(); i++) {
|
|
134
146
|
let svgObject = tempObjects.items[i];
|
|
135
147
|
svgObject.isDrawSvg = true;
|
|
136
148
|
}
|
|
137
149
|
|
|
138
|
-
(
|
|
139
|
-
|
|
150
|
+
(
|
|
151
|
+
this._activeViewer as Viewer
|
|
152
|
+
).viewInterfaceManager?.setMemberLocalAxisVisible(!this.memberAxisVisible);
|
|
153
|
+
(
|
|
154
|
+
this._activeViewer as Viewer
|
|
155
|
+
).viewInterfaceManager?.setMemberLocalAxisVisible(!this.memberAxisVisible);
|
|
140
156
|
this._activeViewer.updateDisplay();
|
|
141
157
|
}
|
|
142
158
|
|
|
143
|
-
|
|
144
159
|
constructor() {
|
|
145
160
|
super();
|
|
146
161
|
|
|
147
162
|
this.svgManager = new SvgManager(this);
|
|
163
|
+
this.clearMapDatas();
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
clearMapDatas() {
|
|
167
|
+
this.jointMapReleativeMembers = new Map<
|
|
168
|
+
JointObject,
|
|
169
|
+
Longan.List<MemberObject>
|
|
170
|
+
>();
|
|
171
|
+
this.jointMapReleativePlates = new Map<
|
|
172
|
+
JointObject,
|
|
173
|
+
Longan.List<PlateObject>
|
|
174
|
+
>();
|
|
175
|
+
this.grupMapReleativeMembers = new Map<
|
|
176
|
+
GrupObject,
|
|
177
|
+
Longan.List<MemberObject>
|
|
178
|
+
>();
|
|
179
|
+
this.pgrupMapReleativePlates = new Map<
|
|
180
|
+
PGrupObject,
|
|
181
|
+
Longan.List<PlateObject>
|
|
182
|
+
>();
|
|
183
|
+
|
|
184
|
+
this.nameMapSection = new Map<string, SectionObject>();
|
|
185
|
+
this.nameMapJoint = new Map<string, JointObject>();
|
|
186
|
+
this.nameMapGrup = new Map<string, GrupObject>();
|
|
187
|
+
this.nameMapPGrup = new Map<string, PGrupObject>();
|
|
188
|
+
this.nameMapMember = new Map<string, MemberObject>();
|
|
189
|
+
this.nameMapPlate = new Map<string, PlateObject>();
|
|
148
190
|
}
|
|
149
191
|
|
|
150
192
|
public initManagers(): void {
|
|
@@ -183,22 +225,22 @@ export class Process extends CEECProcess {
|
|
|
183
225
|
|
|
184
226
|
return result;
|
|
185
227
|
}
|
|
186
|
-
|
|
228
|
+
|
|
187
229
|
protected internalAddRo(self: Process, ro: Longan.RenderObject) {
|
|
188
230
|
super.internalAddRo(self, ro);
|
|
189
231
|
|
|
190
|
-
if(ro instanceof SectionObject) {
|
|
232
|
+
if (ro instanceof SectionObject) {
|
|
191
233
|
this.nameMapSection.set(ro.name, ro);
|
|
192
|
-
} else if(ro instanceof JointObject) {
|
|
234
|
+
} else if (ro instanceof JointObject) {
|
|
193
235
|
this.nameMapJoint.set(ro.name, ro);
|
|
194
|
-
} else if(ro instanceof GrupObject) {
|
|
236
|
+
} else if (ro instanceof GrupObject) {
|
|
195
237
|
this.nameMapGrup.set(ro.name, ro);
|
|
196
|
-
} else if(ro instanceof PGrupObject) {
|
|
238
|
+
} else if (ro instanceof PGrupObject) {
|
|
197
239
|
this.nameMapPGrup.set(ro.name, ro);
|
|
198
|
-
} else if(ro instanceof MemberObject) {
|
|
240
|
+
} else if (ro instanceof MemberObject) {
|
|
199
241
|
this.nameMapMember.set(ro.name, ro);
|
|
200
|
-
} else if(ro instanceof PlateObject) {
|
|
201
|
-
this.nameMapPlate.set(ro.name, ro)
|
|
242
|
+
} else if (ro instanceof PlateObject) {
|
|
243
|
+
this.nameMapPlate.set(ro.name, ro);
|
|
202
244
|
}
|
|
203
245
|
}
|
|
204
246
|
|
package/src/gsDevFx/viewer.ts
CHANGED
|
@@ -89,6 +89,9 @@ export class Viewer extends CEECViewer {
|
|
|
89
89
|
constructor(options, process = null) {
|
|
90
90
|
// super(options.elementId);
|
|
91
91
|
super(options);
|
|
92
|
+
if (!process) {
|
|
93
|
+
this.createProcess(true);
|
|
94
|
+
}
|
|
92
95
|
|
|
93
96
|
this.initViewerOptions();
|
|
94
97
|
this.setViewerOptions(options, options);
|
|
@@ -838,10 +841,7 @@ export class Viewer extends CEECViewer {
|
|
|
838
841
|
value.delete();
|
|
839
842
|
});
|
|
840
843
|
|
|
841
|
-
|
|
842
|
-
"clear all renderObjects---count:",
|
|
843
|
-
this.process.renderObjects.count()
|
|
844
|
-
);
|
|
844
|
+
process.clearMapDatas();
|
|
845
845
|
}
|
|
846
846
|
|
|
847
847
|
dispose(): void {
|
|
@@ -113,8 +113,11 @@ export default class CommandPostResultCloud extends CommandComponent {
|
|
|
113
113
|
this.cutlineObject.title = "最大合成应力比";
|
|
114
114
|
this.cutlineObject.ucRanges = [0, 0.4, 0.6, 0.8, 1.0];
|
|
115
115
|
this.cutlineObject.ucRangesColors = [
|
|
116
|
-
0.82, 0.82, 0.82, 1,
|
|
117
|
-
1,
|
|
116
|
+
0.82, 0.82, 0.82, 1,
|
|
117
|
+
0.5, 0.5, 0.5, 1,
|
|
118
|
+
0, 1, 0, 1,
|
|
119
|
+
1, 1, 0, 1,
|
|
120
|
+
1, 0, 0, 1,
|
|
118
121
|
];
|
|
119
122
|
// this.cutlineObject.stressLevelsActual = [
|
|
120
123
|
// 10, 20, 40, 50, 75, 100, 133, 148,
|
|
@@ -482,6 +485,10 @@ export default class CommandPostResultCloud extends CommandComponent {
|
|
|
482
485
|
for (let i = 0; i < members.length; i++) {
|
|
483
486
|
let member = members[i] as MemberObject;
|
|
484
487
|
|
|
488
|
+
if(!member.checkBusinessStateIsActive()) {
|
|
489
|
+
continue;
|
|
490
|
+
}
|
|
491
|
+
|
|
485
492
|
// 如果是需要从ElementUC表获取最危险工况的后处理效果,则需要更新获取的工况数据.
|
|
486
493
|
switch (data.resultParameter.value) {
|
|
487
494
|
case ResultParameterType.TotalShearUC:
|