VDF常見(jiàn)問(wèn)題整理(十一):如何創(chuàng)建一個(gè)復(fù)制模型視圖中顯示的3D視圖的視口?
VectorDraw Developer Framework(VDF)是一個(gè)用于應(yīng)用程序可視化的圖形引擎庫(kù)。有了VDF提供的功能,您可以輕松地創(chuàng)建、編輯、管理、輸出、輸入和打印2D和3D圖形文件。
VectorDraw Developer Framework試用版下載
問(wèn):
我想在一個(gè)旋轉(zhuǎn)的3D圖像的布局中創(chuàng)建一個(gè)視口。我希望新的視口能夠準(zhǔn)確顯示模型視圖中的內(nèi)容,具有相同的旋轉(zhuǎn),目標(biāo)點(diǎn),范圍等。您是否在其中一個(gè)示例應(yīng)用程序或其他地方有一些代碼可以完成我正在尋找的內(nèi)容?這是創(chuàng)建一個(gè)復(fù)制模型視圖中顯示的3D視圖的視口。
答:
您可以使用vdView對(duì)象,它可以將布局或模型的所有視圖屬性復(fù)制到另一個(gè)布局/視頻。
請(qǐng)參閱以下代碼:
private void button3_Click(object sender, EventArgs e) { vdDocument doc = vdFramedControl1.BaseControl.ActiveDocument; vdLayout lay = new vdLayout(doc, "BBB"); doc.LayOuts.AddItem(lay); vdViewport vp = new vdViewport(); vp.SetUnRegisterDocument(doc); vp.setDocumentDefaults(); vp.Height = doc.Model.ViewSize / doc.Model.PixelSize; vp.Width = vdFramedControl1.BaseControl.Width; vp.Center = new gPoint(vp.Width/2.0, vp.Height / 2.0d); vdView viewTMP = new vdView(doc, "mYvIEW1"); viewTMP.SetFromLayout(doc.Model); vp.SetFromView(viewTMP);// viewTMP is not necessary to be // added to the document in such occasions // or by hard code, without using the vdView object like : //vp.World2ViewMatrix = new Matrix(doc.Model.World2ViewMatrix); //vp.ViewCenter = new gPoint(doc.Model.ViewCenter); //vp.ViewSize = doc.Model.ViewSize; //vp.RenderMode = doc.Model.RenderMode; // set also PerspectiveMod,LensAngle, FocalLength etc if you use them lay.Entities.AddItem(vp); if (vp.Height < vp.Width) lay.Printer.LandScape = true; lay.Printer.PrintExtents(); lay.Printer.PrintScaleToFit(); lay.Printer.Update(); lay.Update(); doc.ActiveLayOut = lay; doc.CommandAction.Zoom("E", 0, 0); } Send comments o
以上回答希望對(duì)您使用VectorDraw產(chǎn)品有幫助,如果您有其他的疑問(wèn)或者建議可以在評(píng)論區(qū)留言,我們會(huì)及時(shí)處理。
相關(guān)資料推薦: