|
|
@ -15,11 +15,13 @@ import { KeyBoard } from '../../../Common/KeyEnum';
|
|
|
|
import { DirectoryId, PostJson, RequestStatus } from '../../../Common/Request';
|
|
|
|
import { DirectoryId, PostJson, RequestStatus } from '../../../Common/Request';
|
|
|
|
import { DuplicateRecordCloning } from '../../../Common/Status';
|
|
|
|
import { DuplicateRecordCloning } from '../../../Common/Status';
|
|
|
|
import { StoreageKeys } from '../../../Common/StoreageKeys';
|
|
|
|
import { StoreageKeys } from '../../../Common/StoreageKeys';
|
|
|
|
|
|
|
|
import { CADObject } from '../../../DatabaseServices/CADObject';
|
|
|
|
import { Board } from '../../../DatabaseServices/Entity/Board';
|
|
|
|
import { Board } from '../../../DatabaseServices/Entity/Board';
|
|
|
|
import { Entity } from '../../../DatabaseServices/Entity/Entity';
|
|
|
|
import { Entity } from '../../../DatabaseServices/Entity/Entity';
|
|
|
|
import { FileServer } from '../../../DatabaseServices/FileServer';
|
|
|
|
import { FileServer } from '../../../DatabaseServices/FileServer';
|
|
|
|
import { HardwareCompositeEntity } from '../../../DatabaseServices/Hardware/HardwareCompositeEntity';
|
|
|
|
import { HardwareCompositeEntity } from '../../../DatabaseServices/Hardware/HardwareCompositeEntity';
|
|
|
|
import { HardwareTopline } from '../../../DatabaseServices/Hardware/HardwareTopline';
|
|
|
|
import { HardwareTopline } from '../../../DatabaseServices/Hardware/HardwareTopline';
|
|
|
|
|
|
|
|
import { ObjectId } from '../../../DatabaseServices/ObjectId';
|
|
|
|
import { PositioningBoardSpace } from '../../../DatabaseServices/Template/Positioning/PositioningBoardSpace';
|
|
|
|
import { PositioningBoardSpace } from '../../../DatabaseServices/Template/Positioning/PositioningBoardSpace';
|
|
|
|
import { TemplateVisualSpace } from '../../../DatabaseServices/Template/ProgramTempate/TemplateVisualSpace';
|
|
|
|
import { TemplateVisualSpace } from '../../../DatabaseServices/Template/ProgramTempate/TemplateVisualSpace';
|
|
|
|
import { EditorOnlineTemplate, GetOnlineTemplate, ReplaceTemplate, SetTemplatePositionAndSetParent, UploadTemplate } from '../../../DatabaseServices/Template/TempateUtils';
|
|
|
|
import { EditorOnlineTemplate, GetOnlineTemplate, ReplaceTemplate, SetTemplatePositionAndSetParent, UploadTemplate } from '../../../DatabaseServices/Template/TempateUtils';
|
|
|
@ -643,6 +645,14 @@ export class TemplateManage extends React.Component<ITemplateManage, {}> {
|
|
|
|
else
|
|
|
|
else
|
|
|
|
DeleteTempate(oldTemp);
|
|
|
|
DeleteTempate(oldTemp);
|
|
|
|
await template.UpdateTemplateTree();
|
|
|
|
await template.UpdateTemplateTree();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (let board of oldTemp.Entitys) //铰链继承
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (board instanceof Board)
|
|
|
|
|
|
|
|
this.extendHinge(board.RelativeHardware, template.Entitys);
|
|
|
|
|
|
|
|
else if (board instanceof HardwareCompositeEntity)
|
|
|
|
|
|
|
|
this.extendHinge(board.RelevanceHardware, template.Entitys);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
AppToaster.show({
|
|
|
|
AppToaster.show({
|
|
|
@ -753,6 +763,29 @@ export class TemplateManage extends React.Component<ITemplateManage, {}> {
|
|
|
|
app.Editor.MaskManage.ShowMask();
|
|
|
|
app.Editor.MaskManage.ShowMask();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
private extendHinge(hinges: ObjectId<CADObject>[], templateEnts: Entity[])
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
for (let hw of hinges)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
let hinge = hw.Object;
|
|
|
|
|
|
|
|
if (hinge instanceof HardwareCompositeEntity)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
for (let ent of templateEnts)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
let enBox = ent.BoundingBox;
|
|
|
|
|
|
|
|
if (hinge.BoundingBox.intersectsBox(enBox))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
hinge.RelevanceBoards.push(ent.Id);
|
|
|
|
|
|
|
|
if (ent instanceof Board)
|
|
|
|
|
|
|
|
ent.RelativeHardware.push(hinge.Id);
|
|
|
|
|
|
|
|
else if (ent instanceof HardwareCompositeEntity)
|
|
|
|
|
|
|
|
ent.RelevanceHardware.push(hinge.Id);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
getSpaceAllEntitys(door: Entity)
|
|
|
|
getSpaceAllEntitys(door: Entity)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
let box = door.BoundingBox.clone();
|
|
|
|
let box = door.BoundingBox.clone();
|
|
|
|