修复:DXF多段线坐标系错误

pull/2165/MERGE
ChenX 1 year ago
parent ebf8335bae
commit 43758ace43

@ -105,7 +105,7 @@
"detect-browser": "^5.3.0", "detect-browser": "^5.3.0",
"dwg2dxf": "^1.0.0", "dwg2dxf": "^1.0.0",
"dxf-parser": "^1.1.2", "dxf-parser": "^1.1.2",
"dxf-write": "^2.6.5", "dxf-write": "^2.6.6",
"flatbush": "^4.0.0", "flatbush": "^4.0.0",
"hotkeys-js-ext": "^3.8.8", "hotkeys-js-ext": "^3.8.8",
"immutability-helper": "^3.1.1", "immutability-helper": "^3.1.1",

@ -21,13 +21,12 @@ import { Arc } from "../../DatabaseServices/Entity/Arc";
import { Board } from "../../DatabaseServices/Entity/Board"; import { Board } from "../../DatabaseServices/Entity/Board";
import { Circle } from "../../DatabaseServices/Entity/Circle"; import { Circle } from "../../DatabaseServices/Entity/Circle";
import { CompositeEntity } from "../../DatabaseServices/Entity/CompositeEntity"; import { CompositeEntity } from "../../DatabaseServices/Entity/CompositeEntity";
import { Curve } from "../../DatabaseServices/Entity/Curve";
import { Ellipse } from "../../DatabaseServices/Entity/Ellipse"; import { Ellipse } from "../../DatabaseServices/Entity/Ellipse";
import { Entity } from "../../DatabaseServices/Entity/Entity"; import { Entity } from "../../DatabaseServices/Entity/Entity";
import { Line } from "../../DatabaseServices/Entity/Line"; import { Line } from "../../DatabaseServices/Entity/Line";
import { Polyline } from "../../DatabaseServices/Entity/Polyline"; import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Text } from "../../DatabaseServices/Text/Text"; import { Text } from "../../DatabaseServices/Text/Text";
import { angle, AsVector3, polar } from "../../Geometry/GeUtils"; import { angle, polar } from "../../Geometry/GeUtils";
import { Orbit } from "../../Geometry/Orbit"; import { Orbit } from "../../Geometry/Orbit";
@ -238,20 +237,9 @@ export function Conver2DxfEntity(e: Entity, dxf: DxfWriter, blkName?: string)
let subIndex = 0; let subIndex = 0;
for (let subE of e.Entitys) for (let subE of e.Entitys)
{ {
if (subE instanceof Curve)//块内曲线不支持非Z0 let subInsert = Conver2DxfEntity(subE, dxf, `${name}_${subIndex}`);
{ if (subInsert)
let pts = subE.Shape.getPoints(subE.GetDrawCount()).map(AsVector3); block.addEntity(subInsert);
for (let p of pts)
p.applyMatrix4(subE.OCSNoClone);
for (let i = 0; i < pts.length - 1; i++)
block.addLine(pts[i], pts[i + 1], { colorNumber: subE.ColorIndex });
}
else
{
let subInsert = Conver2DxfEntity(subE, dxf, `${name}_${subIndex}`);
if (subInsert)
block.addEntity(subInsert);
}
subIndex++; subIndex++;
} }

Loading…
Cancel
Save