|
|
@ -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;
|
|
|
|