namespace Yw.WinFrmUI
{
public partial class Bimface3dViewPage : DocumentPage
{
public Bimface3dViewPage()
{
InitializeComponent();
this.PageTitle.Caption = "模型视图";
this.PageTitle.HeaderSvgImage = this.svgImg32[1];
this.PageTitle.SvgImageSize = new Size(24, 24);
}
private long _bimfaceFileId;//bimface文件id
private Yw.Vmo.BimfaceFileVmo _bimfaceFile = null;//bimface文件
///
/// 绑定数据
///
public async Task SetBindingData(long bimfaceFileId)
{
_bimfaceFileId = bimfaceFileId;
_bimfaceFile = await BLLFactory.Instance.GetByID(bimfaceFileId);
this.PageTitle.Caption = $"{_bimfaceFile.Name}\r\n模型视图";
}
///
/// 初始化数据源
///
public override async void InitialDataSource()
{
base.InitialDataSource();
this.bimfaceInterop3dContainer1.LoadCompletedEvent += BimfaceInterop3dContainer1_LoadCompletedEvent;
await this.bimfaceInterop3dContainer1.InitialContainer();
}
//页面加载完成
private async void BimfaceInterop3dContainer1_LoadCompletedEvent()
{
if (_bimfaceFile == null)
{
SpinWait.SpinUntil(() => _bimfaceFile != null, 3000);
}
if (_bimfaceFile == null)
{
return;
}
var viewToken = await BimfaceHelper.GetViewToken(_bimfaceFile.BimfaceId);
await this.bimfaceInterop3dContainer1.LoadView(viewToken);
}
}
}