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 Lazy _bllBimfaceFileStd = new(() => new Yw.BLL.BimfaceFileStd()); private long _bimfaceFileId;//bimface文件id private Yw.Dto.BimfaceFileStdDto _bimfaceFile = null;//bimface文件 /// /// 绑定数据 /// /// public async Task SetBindingData(long bimfaceFileId) { _bimfaceFileId = bimfaceFileId; _bimfaceFile = await _bllBimfaceFileStd.Value.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); } } }