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