|
|
|
@ -1,13 +1,15 @@
|
|
|
|
|
import { Button, Card, Classes, Intent } from '@blueprintjs/core';
|
|
|
|
|
import * as React from 'react';
|
|
|
|
|
import { Vector3 } from 'three';
|
|
|
|
|
import { begin } from 'xaop';
|
|
|
|
|
import { app } from "../ApplicationServices/Application";
|
|
|
|
|
import { arrayLast } from '../Common/ArrayExt';
|
|
|
|
|
import { RenderUrl } from "../Common/HostUrl";
|
|
|
|
|
import { KeyBoard } from '../Common/KeyEnum';
|
|
|
|
|
import { Log } from "../Common/Log";
|
|
|
|
|
import { Vector2ApplyMatrix4 } from "../Common/Matrix4Utils";
|
|
|
|
|
import { copyTextToClipboard } from "../Common/Utils";
|
|
|
|
|
import { CylinderHole } from '../DatabaseServices/3DSolid/CylinderHole';
|
|
|
|
|
import { ExtrudeHole } from '../DatabaseServices/3DSolid/ExtrudeHole';
|
|
|
|
|
import { SweepSolid } from "../DatabaseServices/3DSolid/SweepSolid";
|
|
|
|
|
import { Board } from "../DatabaseServices/Entity/Board";
|
|
|
|
|
import { Circle } from "../DatabaseServices/Entity/Circle";
|
|
|
|
@ -16,6 +18,8 @@ import { Entity } from "../DatabaseServices/Entity/Entity";
|
|
|
|
|
import { ExtrudeSolid } from "../DatabaseServices/Entity/Extrude";
|
|
|
|
|
import { Polyline } from "../DatabaseServices/Entity/Polyline";
|
|
|
|
|
import { Region } from "../DatabaseServices/Entity/Region";
|
|
|
|
|
import { HardwareCompositeEntity } from '../DatabaseServices/Hardware/HardwareCompositeEntity';
|
|
|
|
|
import { HardwareTopline } from '../DatabaseServices/Hardware/HardwareTopline';
|
|
|
|
|
import { ObjectId } from "../DatabaseServices/ObjectId";
|
|
|
|
|
import { PhysicalMaterialRecord } from "../DatabaseServices/PhysicalMaterialRecord";
|
|
|
|
|
import { Shape } from "../DatabaseServices/Shape";
|
|
|
|
@ -25,13 +29,8 @@ import { PromptStatus } from "../Editor/PromptResult";
|
|
|
|
|
import { ModalFooter, ModalHeader } from '../UI/Components/Modal/ModalContainer';
|
|
|
|
|
import { ModalPosition } from '../UI/Components/Modal/ModalInterface';
|
|
|
|
|
import { TopPanelStore } from '../UI/Store/TopPanelStore';
|
|
|
|
|
import { CompositeEntity } from './../DatabaseServices/Entity/CompositeEntity';
|
|
|
|
|
import { Hole } from './../DatabaseServices/3DSolid/Hole';
|
|
|
|
|
import { Vector3 } from 'three';
|
|
|
|
|
import { ExtrudeHole } from '../DatabaseServices/3DSolid/ExtrudeHole';
|
|
|
|
|
import { CylinderHole } from '../DatabaseServices/3DSolid/CylinderHole';
|
|
|
|
|
import { HardwareTopline } from '../DatabaseServices/Hardware/HardwareTopline';
|
|
|
|
|
import { HardwareCompositeEntity } from '../DatabaseServices/Hardware/HardwareCompositeEntity';
|
|
|
|
|
import { CompositeEntity } from './../DatabaseServices/Entity/CompositeEntity';
|
|
|
|
|
export class ExportDataModal extends React.Component<{ msg: string; }, {}>{
|
|
|
|
|
private removeFuncs: Function[] = []; //移除注入
|
|
|
|
|
private Close()
|
|
|
|
@ -103,7 +102,7 @@ type Data = {
|
|
|
|
|
Materials: Object[];
|
|
|
|
|
Url?: string;
|
|
|
|
|
};
|
|
|
|
|
export function Entitys2Data(ents: Entity[], convertHole = false): Data
|
|
|
|
|
export function Entitys2Data(ents: Entity[]): Data
|
|
|
|
|
{
|
|
|
|
|
let d: Data = { Entitys: [], Materials: [] };
|
|
|
|
|
let materials: Set<ObjectId> = new Set();
|
|
|
|
@ -120,7 +119,7 @@ export function Entitys2Data(ents: Entity[], convertHole = false): Data
|
|
|
|
|
d.Entitys.push(ConverSweep2Data(e));
|
|
|
|
|
else if (e instanceof Region)
|
|
|
|
|
d.Entitys.push(ConveRegion2Data(e));
|
|
|
|
|
else if (e instanceof Hole && convertHole)
|
|
|
|
|
else if (e instanceof Hole)
|
|
|
|
|
d.Entitys.push(ConvertHole2Data(e));
|
|
|
|
|
else if (e instanceof CompositeEntity)
|
|
|
|
|
d.Entitys.push(...CompositeEntity2Data(e));
|
|
|
|
|