diff --git a/src/Add-on/ExportData.tsx b/src/Add-on/ExportData.tsx index dabc75954..fdb9056e9 100644 --- a/src/Add-on/ExportData.tsx +++ b/src/Add-on/ExportData.tsx @@ -11,6 +11,7 @@ import { Vector2ApplyMatrix4 } from "../Common/Matrix4Utils"; import { copyTextToClipboard } from "../Common/Utils"; import { CylinderHole } from '../DatabaseServices/3DSolid/CylinderHole'; import { ExtrudeHole } from '../DatabaseServices/3DSolid/ExtrudeHole'; +import { RevolveSolid } from '../DatabaseServices/3DSolid/RevolveSolid'; import { SweepSolid } from "../DatabaseServices/3DSolid/SweepSolid"; import { Board } from "../DatabaseServices/Entity/Board"; import { Circle } from "../DatabaseServices/Entity/Circle"; @@ -126,6 +127,8 @@ export function Entitys2Data(ents: Entity[]): Data d.Entitys.push(ConvertHole2Data(e)); else if (e instanceof CompositeEntity) d.Entitys.push(...CompositeEntity2Data(e)); + else if (e instanceof RevolveSolid) + d.Entitys.push(ConvertRevolve2Data(e)); else continue; @@ -270,6 +273,19 @@ function ConvertHole2Data(h: Hole) ed.OBJFileData = GetOBJFileData(h); return ed; } + +function ConvertRevolve2Data(h: RevolveSolid) +{ + let ed: any = {}; + ed.Id = h.Id?.Index ?? 0; + ed.OCS = h.OCS.toArray(); + ed.Type = "Revolve"; + ed.MaterialId = h.Material?.Index || 0; + if (app.WebSocket.mode === "obj") + ed.OBJFileData = GetOBJFileData(h); + return ed; +} + function CompositeEntity2Data(comp: CompositeEntity) { let data = Entitys2Data(comp.Explode()).Entitys;