|
|
|
@ -16,6 +16,8 @@ import { DirectionalLight } from '../DatabaseServices/Lights/DirectionalLight';
|
|
|
|
|
import { ObjectId } from '../DatabaseServices/ObjectId';
|
|
|
|
|
import { RoomFlatBase } from '../DatabaseServices/Room/Entity/Flat/RoomFlatBase';
|
|
|
|
|
import { RoomRegion } from '../DatabaseServices/Room/Entity/Region/RoomRegion';
|
|
|
|
|
import { RoomHolePolyline } from '../DatabaseServices/Room/Entity/Wall/Hole/RoomHolePolyline';
|
|
|
|
|
import { RoomWallBase } from '../DatabaseServices/Room/Entity/Wall/RoomWallBase';
|
|
|
|
|
import { ViewportEntity } from '../DatabaseServices/ViewportEntity';
|
|
|
|
|
import { WblockCloneFiler2 } from '../DatabaseServices/WblockCloneFiler';
|
|
|
|
|
import { Command } from '../Editor/CommandMachine';
|
|
|
|
@ -23,6 +25,7 @@ import { JigUtils } from '../Editor/JigUtils';
|
|
|
|
|
import { PromptStatus } from '../Editor/PromptResult';
|
|
|
|
|
import { userConfig } from '../Editor/UserConfig';
|
|
|
|
|
import { MoveMatrix } from '../Geometry/GeUtils';
|
|
|
|
|
import { UpdateWallHolesDataAndUpdateDraw } from '../Reactor/RoomHoleReactor';
|
|
|
|
|
import { AppToaster } from '../UI/Components/Toaster';
|
|
|
|
|
import { AdjustUCS } from './AdjustUCS';
|
|
|
|
|
import { HoleInBoard } from './DrawDrilling/HoleUtils';
|
|
|
|
@ -334,6 +337,21 @@ export class Command_Copy implements Command
|
|
|
|
|
e.AppendShowObjects(oldVe.ShowObjects);
|
|
|
|
|
e.UpdateScene();
|
|
|
|
|
}
|
|
|
|
|
else if (e instanceof RoomWallBase)
|
|
|
|
|
{
|
|
|
|
|
UpdateWallHolesDataAndUpdateDraw(e);
|
|
|
|
|
}
|
|
|
|
|
else if (e instanceof RoomHolePolyline)
|
|
|
|
|
{
|
|
|
|
|
let fullCopy = e.RelevancyWalls.length === (e.Points.length - 1) && e.RelevancyWalls.every(id =>
|
|
|
|
|
{
|
|
|
|
|
let oldId = GetOldObjectId(id);
|
|
|
|
|
return olds.has(oldId.Object as Entity);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (!fullCopy)
|
|
|
|
|
e.Erase();//我们现在直接删除它,我们其实应该重新放置它,但是我们没做!
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|