修复:二维刀路关联切割情况下显示不正确

pull/2459/MERGE
ChenX 11 months ago
parent abde809abb
commit 6445b206b3

@ -1793,6 +1793,10 @@ export class ExtrudeSolid extends Entity
this._EdgeGeometry = BufferGeometryUtils.MergeBufferGeometries(edges); this._EdgeGeometry = BufferGeometryUtils.MergeBufferGeometries(edges);
} }
//因为这里更新了mesh geom 所以我们必须更新它.
this._MeshGeometry = this.UpdateMeshGeom(this._MeshGeometry);
this._MeshGeometry["IsMesh"] = true;
//我们加入一些拓展信息,以便排钻能够使用(或者其他的,比如发送到效果图?,BBS)(布局视口会直接添加实体到场景,所以我们只在这里设置OriginEntity) //我们加入一些拓展信息,以便排钻能够使用(或者其他的,比如发送到效果图?,BBS)(布局视口会直接添加实体到场景,所以我们只在这里设置OriginEntity)
for (let i = 0; i < this.__CacheSplitExtrudes.length; i++) for (let i = 0; i < this.__CacheSplitExtrudes.length; i++)
{ {
@ -1908,12 +1912,7 @@ export class ExtrudeSolid extends Entity
if (!ExtrudeConfig.DisableRefCut) if (!ExtrudeConfig.DisableRefCut)
this.CalcRelevanceGroove(); this.CalcRelevanceGroove();
if (this._MeshGeometry) if (this._MeshGeometry)
{
//修复二维刀路更新(在有关联切割的情况下)
this._MeshGeometry = this.UpdateMeshGeom(this._MeshGeometry);
this._MeshGeometry["IsMesh"] = true;
return this._MeshGeometry; return this._MeshGeometry;
}
this._EdgeGeometry = undefined;//清理掉(以便在被csg切割后得到edgegeom) this._EdgeGeometry = undefined;//清理掉(以便在被csg切割后得到edgegeom)
@ -1999,17 +1998,8 @@ export class ExtrudeSolid extends Entity
if (this._EdgeGeometry) if (this._EdgeGeometry)
return this._EdgeGeometry; return this._EdgeGeometry;
let oldMeshGeom = this._MeshGeometry;
if (!ExtrudeConfig.DisableRefCut) if (!ExtrudeConfig.DisableRefCut)
{
this.CalcRelevanceGroove(); this.CalcRelevanceGroove();
//修复二维刀路更新(在有关联切割的情况下)
if (this._MeshGeometry && this._MeshGeometry !== oldMeshGeom)
{
this._MeshGeometry = this.UpdateMeshGeom(this._MeshGeometry);
this._MeshGeometry["IsMesh"] = true;
}
}
if (this._EdgeGeometry) if (this._EdgeGeometry)
return this._EdgeGeometry; return this._EdgeGeometry;

Loading…
Cancel
Save