gs-cae-design 1.1.59 → 1.1.60
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 +12 -0
- package/lib/.gz +0 -0
- package/lib/CAEDesign.common-report.html +2 -2
- package/lib/CAEDesign.common.js +28 -28
- package/lib/CAEDesign.umd-report.html +2 -2
- package/lib/CAEDesign.umd.js +28 -28
- package/lib/CAEDesign.umd.min-report.html +2 -2
- package/lib/CAEDesign.umd.min.js +28 -28
- package/package.json +1 -1
- package/src/gsDevFx/managers/datReaderManager.ts +1 -1
- 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 +6 -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 +61 -22
- package/src/gsDevFx/viewer.ts +3 -0
- 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 +12 -7
- package/src/viewerWrapper/commands/mergeMember/commandMergeMember.ts +3 -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
package/package.json
CHANGED
|
@@ -1750,7 +1750,7 @@ export class DatReaderManager extends Longan.ViewerManagerBase {
|
|
|
1750
1750
|
private checkNameRepeatAndGetNewName(map: Map<string, any>, name: string) {
|
|
1751
1751
|
let process = this.viewer.process as Process;
|
|
1752
1752
|
|
|
1753
|
-
let isRepeat =
|
|
1753
|
+
let isRepeat = map.get(name);
|
|
1754
1754
|
if (isRepeat) {
|
|
1755
1755
|
// 添加一个重名后处理列表.
|
|
1756
1756
|
let newName = process.caeRenderObjectTreeManager.nameAscendingOrder(
|
|
@@ -10,7 +10,6 @@ import { SectionObject } from "./sectionObject";
|
|
|
10
10
|
import { CaeNumber, CaeNumberToCard } from "../../../utility/utility";
|
|
11
11
|
import { Process } from "../../../gsDevFx/process";
|
|
12
12
|
|
|
13
|
-
|
|
14
13
|
//杆件截面组对象
|
|
15
14
|
export class GrupObject extends DesignBaseObject implements IReferenceObject {
|
|
16
15
|
typeName = "GrupObject";
|
|
@@ -27,10 +26,12 @@ export class GrupObject extends DesignBaseObject implements IReferenceObject {
|
|
|
27
26
|
}
|
|
28
27
|
|
|
29
28
|
override set name(value) {
|
|
30
|
-
(Process.activeProcess as Process).nameMapGrup.
|
|
29
|
+
if ((Process.activeProcess as Process).nameMapGrup.get(this.name)) {
|
|
30
|
+
(Process.activeProcess as Process).nameMapGrup.delete(this.name);
|
|
31
|
+
(Process.activeProcess as Process).nameMapGrup.set(value, this);
|
|
32
|
+
}
|
|
31
33
|
|
|
32
34
|
this._name = value;
|
|
33
|
-
(Process.activeProcess as Process).nameMapGrup.set(value, this);
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
public get viewer() {
|
|
@@ -156,22 +157,26 @@ export class GrupObject extends DesignBaseObject implements IReferenceObject {
|
|
|
156
157
|
cardGrup.grupLabel.value = this.name;
|
|
157
158
|
cardGrup.taperOption.value = grupSeg.taperOption;
|
|
158
159
|
cardGrup.sectionLabel.value = grupSeg.section ? grupSeg.section.name : "";
|
|
159
|
-
cardGrup.tubOuterDiameter.value = CaeNumberToCard(
|
|
160
|
-
|
|
160
|
+
cardGrup.tubOuterDiameter.value = CaeNumberToCard(
|
|
161
|
+
grupSeg.tubOuterDiameter
|
|
162
|
+
);
|
|
163
|
+
cardGrup.tubWallThickness.value = CaeNumberToCard(
|
|
164
|
+
grupSeg.tubWallThickness
|
|
165
|
+
);
|
|
161
166
|
if (grupSeg.section) {
|
|
162
167
|
cardGrup.tubOuterDiameter.value = "";
|
|
163
168
|
cardGrup.tubWallThickness.value = "";
|
|
164
169
|
}
|
|
165
|
-
cardGrup.elastic_E.value = grupSeg.elastic_E
|
|
166
|
-
cardGrup.elastic_G.value = grupSeg.elastic_G
|
|
167
|
-
cardGrup.elastic_SY.value = grupSeg.elastic_SY
|
|
170
|
+
cardGrup.elastic_E.value = grupSeg.elastic_E;
|
|
171
|
+
cardGrup.elastic_G.value = grupSeg.elastic_G;
|
|
172
|
+
cardGrup.elastic_SY.value = grupSeg.elastic_SY;
|
|
168
173
|
cardGrup.memberClass.value = grupSeg.memberClass;
|
|
169
174
|
cardGrup.kFactors_KY.value = grupSeg.kFactors_KY;
|
|
170
175
|
cardGrup.kFactors_KZ.value = grupSeg.kFactors_KZ;
|
|
171
|
-
cardGrup.tubShearAreaModifier.value = grupSeg.tubShearAreaModifier
|
|
176
|
+
cardGrup.tubShearAreaModifier.value = grupSeg.tubShearAreaModifier;
|
|
172
177
|
cardGrup.flooding.value = grupSeg.flooding;
|
|
173
|
-
cardGrup.weightDensity.value = grupSeg.weightDensity
|
|
174
|
-
cardGrup.segmentLength.value = CaeNumberToCard(grupSeg.segmentLength)
|
|
178
|
+
cardGrup.weightDensity.value = grupSeg.weightDensity;
|
|
179
|
+
cardGrup.segmentLength.value = CaeNumberToCard(grupSeg.segmentLength);
|
|
175
180
|
|
|
176
181
|
result += cardGrup.getLine();
|
|
177
182
|
if (i !== this.grupSegments.length - 1) {
|
|
@@ -196,12 +201,10 @@ export class GrupObject extends DesignBaseObject implements IReferenceObject {
|
|
|
196
201
|
// 更新全部用到该截面组的杆件.
|
|
197
202
|
render(viewer?: Longan.Viewer) {
|
|
198
203
|
// console.log("GrupObject render");
|
|
199
|
-
|
|
200
204
|
// if (!viewer) {
|
|
201
205
|
// viewer = Process.activeProcess.activeViewer as any;
|
|
202
206
|
// }
|
|
203
207
|
// let selectedMemberObjects = this.getReleatedMembers(viewer);
|
|
204
|
-
|
|
205
208
|
// for (let i = 0; i < selectedMemberObjects.length; i++) {
|
|
206
209
|
// selectedMemberObjects[i].render();
|
|
207
210
|
// }
|
|
@@ -213,29 +216,28 @@ export class GrupObject extends DesignBaseObject implements IReferenceObject {
|
|
|
213
216
|
|
|
214
217
|
drawSvg() {}
|
|
215
218
|
|
|
216
|
-
|
|
219
|
+
/**
|
|
217
220
|
* 获取引用了该截面组的杆件对象列表.
|
|
218
221
|
* @param viewer
|
|
219
222
|
* @returns
|
|
220
223
|
*/
|
|
221
|
-
|
|
224
|
+
getReleatedMembers(viewer: Longan.Viewer): MemberObject[] {
|
|
222
225
|
let result = new Array<MemberObject>();
|
|
223
226
|
|
|
224
227
|
let members = (viewer.process as Process).grupMapReleativeMembers.get(this);
|
|
225
|
-
if(members) {
|
|
226
|
-
for(let i = 0; i < members.count(); i++) {
|
|
228
|
+
if (members) {
|
|
229
|
+
for (let i = 0; i < members.count(); i++) {
|
|
227
230
|
result.push(members.items[i]);
|
|
228
231
|
}
|
|
229
232
|
}
|
|
230
|
-
|
|
233
|
+
|
|
231
234
|
return result;
|
|
232
235
|
}
|
|
233
236
|
|
|
234
237
|
tempDelete(viewer) {
|
|
235
|
-
|
|
236
238
|
let plates = this.getReleatedMembers(viewer);
|
|
237
239
|
plates.forEach((item) => {
|
|
238
|
-
if(item instanceof MemberObject) {
|
|
240
|
+
if (item instanceof MemberObject) {
|
|
239
241
|
item.grup = null;
|
|
240
242
|
item.setNeedUpdate();
|
|
241
243
|
}
|
|
@@ -74,9 +74,11 @@ export class JointObject extends PointObject implements IReferenceObject {
|
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
(Process.activeProcess as Process).nameMapJoint.
|
|
77
|
+
if ((Process.activeProcess as Process).nameMapJoint.get(this.name)) {
|
|
78
|
+
(Process.activeProcess as Process).nameMapJoint.delete(this.name);
|
|
79
|
+
(Process.activeProcess as Process).nameMapJoint.set(na, this);
|
|
80
|
+
}
|
|
78
81
|
this._name = na;
|
|
79
|
-
(Process.activeProcess as Process).nameMapJoint.set(na, this);
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
public get fixity() {
|
|
@@ -179,10 +179,12 @@ export class MemberObject extends LineObject implements IReferencedObject {
|
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
override set name(value) {
|
|
182
|
-
(Process.activeProcess as Process).nameMapMember.
|
|
182
|
+
if ((Process.activeProcess as Process).nameMapMember.get(this.name)) {
|
|
183
|
+
(Process.activeProcess as Process).nameMapMember.delete(this.name);
|
|
184
|
+
(Process.activeProcess as Process).nameMapMember.set(value, this);
|
|
185
|
+
}
|
|
183
186
|
|
|
184
187
|
this._name = value;
|
|
185
|
-
(Process.activeProcess as Process).nameMapMember.set(value, this);
|
|
186
188
|
}
|
|
187
189
|
|
|
188
190
|
public get release_A() {
|
|
@@ -1101,7 +1103,7 @@ export class MemberObject extends LineObject implements IReferencedObject {
|
|
|
1101
1103
|
segmentLength = this.getMemberLength();
|
|
1102
1104
|
}
|
|
1103
1105
|
segmentLength *= this.segmentLengthCoeff;
|
|
1104
|
-
|
|
1106
|
+
|
|
1105
1107
|
// 每段截面的shell
|
|
1106
1108
|
let shell_key = -1;
|
|
1107
1109
|
// 每段截面的顶点和索引.
|
|
@@ -1176,10 +1178,7 @@ export class MemberObject extends LineObject implements IReferencedObject {
|
|
|
1176
1178
|
);
|
|
1177
1179
|
}
|
|
1178
1180
|
|
|
1179
|
-
let offset = Longan.Vector.multiply(
|
|
1180
|
-
normal,
|
|
1181
|
-
segmentLength
|
|
1182
|
-
);
|
|
1181
|
+
let offset = Longan.Vector.multiply(normal, segmentLength);
|
|
1183
1182
|
|
|
1184
1183
|
// 更新下一段杆件的底部截面起点
|
|
1185
1184
|
origin = Longan.Point.add(origin, offset);
|
|
@@ -25,12 +25,14 @@ export class PGrupObject extends DesignBaseObject implements IReferenceObject {
|
|
|
25
25
|
override get name() {
|
|
26
26
|
return this._name;
|
|
27
27
|
}
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
override set name(value) {
|
|
30
|
-
(Process.activeProcess as Process).nameMapPGrup.
|
|
30
|
+
if ((Process.activeProcess as Process).nameMapPGrup.get(this.name)) {
|
|
31
|
+
(Process.activeProcess as Process).nameMapPGrup.delete(this.name);
|
|
32
|
+
(Process.activeProcess as Process).nameMapPGrup.set(value, this);
|
|
33
|
+
}
|
|
31
34
|
|
|
32
35
|
this._name = value;
|
|
33
|
-
(Process.activeProcess as Process).nameMapPGrup.set(value, this);
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
public get thickness() {
|
|
@@ -147,20 +149,19 @@ export class PGrupObject extends DesignBaseObject implements IReferenceObject {
|
|
|
147
149
|
let result = new Array<PlateObject>();
|
|
148
150
|
|
|
149
151
|
let plates = (viewer.process as Process).pgrupMapReleativePlates.get(this);
|
|
150
|
-
if(plates) {
|
|
151
|
-
for(let i = 0; i < plates.count(); i++) {
|
|
152
|
+
if (plates) {
|
|
153
|
+
for (let i = 0; i < plates.count(); i++) {
|
|
152
154
|
result.push(plates.items[i]);
|
|
153
155
|
}
|
|
154
156
|
}
|
|
155
|
-
|
|
157
|
+
|
|
156
158
|
return result;
|
|
157
159
|
}
|
|
158
160
|
|
|
159
161
|
tempDelete(viewer) {
|
|
160
|
-
|
|
161
162
|
let plates = this.getReleatedPlates(viewer);
|
|
162
163
|
plates.forEach((item) => {
|
|
163
|
-
if(item instanceof PlateObject) {
|
|
164
|
+
if (item instanceof PlateObject) {
|
|
164
165
|
item.pGrup = null;
|
|
165
166
|
item.setNeedUpdate();
|
|
166
167
|
}
|
|
@@ -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
|
}
|