!3032 修复:复合实体炸开和编辑实体时,子实体材质丢失问题

pull/3035/head
林三 1 month ago committed by ChenX
parent c1d84a41c2
commit e72cd2ebde

@ -69,8 +69,11 @@ export abstract class CompositeEntity extends Entity
{
return this.Entitys.map(e =>
{
let cloneE = e.Clone();
cloneE.Material = e.Material;
if (!e.Db && this._db)
e.SetDatabase(this._db);
let cloneE = e.Clone(false);
if (!(cloneE instanceof CompositeEntity))
cloneE.Material = e.Material;
return cloneE.ApplyMatrix(this.OCSNoClone);
});
}

@ -126,7 +126,7 @@ export class ExtrudeSolid extends Entity
set Material(materialId: ObjectId<PhysicalMaterialRecord>)
{
let oldMaterial = this.Material ?? this._db?.DefaultMaterial.objectId;
let oldMaterial = this.Material ?? this._db?.DefaultMaterial?.objectId;
super.Material = materialId;
let isf_old = Boolean(oldMaterial?.Object?.IsFull);

@ -177,7 +177,8 @@ export class CompositeMatalPanel extends React.Component<ICompositeMatalPanelPan
let ents: Entity[] = []; //用于缩放相机
for (let en of composite.Entitys)
{
let newEnt = en.Clone();
en.SetDatabase(composite.Db);
let newEnt = en.Clone(false);
app.Database.ModelSpace.Append(newEnt);
oldNewMap.set(en, newEnt);
ents.push(newEnt);

Loading…
Cancel
Save