|
@@ -692,13 +692,16 @@ export const enter = (dom, isLocal) => {
|
|
|
let length, measure;
|
|
|
viewer.outlinePass.selectedObjects = []
|
|
|
|
|
|
+
|
|
|
+ MergeEditor.getAllObjects().forEach(m=>{//隐藏其他的模型
|
|
|
+ if(m!=model) viewer.updateVisible(m, 'enterScaleSet', false)
|
|
|
+ })
|
|
|
|
|
|
let setScale = ()=>{
|
|
|
if(length == void 0 || measure == void 0)return
|
|
|
let s = length / (measure.points[0].distanceTo(measure.points[1]))
|
|
|
- result.changeScale(s)
|
|
|
-
|
|
|
- //measure.update()
|
|
|
+ result.changeScale(model.scale.x * s*100)
|
|
|
+
|
|
|
}
|
|
|
|
|
|
return {
|
|
@@ -708,6 +711,11 @@ export const enter = (dom, isLocal) => {
|
|
|
setScale()
|
|
|
},
|
|
|
startMeasure(){
|
|
|
+ let measureOld = viewer.scene.measurements[0]
|
|
|
+ if(measureOld){
|
|
|
+ viewer.dispatchEvent({ type: 'cancel_insertions', remove: true, measure:measureOld })
|
|
|
+ viewer.scene.removeMeasurement(measureOld)
|
|
|
+ }
|
|
|
measure = null
|
|
|
let tempMesure = viewer.measuringTool.startInsertion(
|
|
|
{measureType: "Distance", unit: "metric"},
|
|
@@ -735,6 +743,9 @@ export const enter = (dom, isLocal) => {
|
|
|
|
|
|
|
|
|
viewer.outlinePass.selectedObjects = [model];
|
|
|
+ MergeEditor.getAllObjects().forEach(m=>{//恢复其他的模型
|
|
|
+ if(m!=model) viewer.updateVisible(m, 'enterScaleSet', true)
|
|
|
+ })
|
|
|
},
|
|
|
|
|
|
|