VDF常见问题整理(十一):如何创建一个复制模型视图中显示的3D视图的视口?

本系列教程整理了VectorDraw Developer Framework(VDF)最常见问题,教程整理的很齐全,非常适合新手学习,本节教程将会介绍一些创建3D对象的方法。

VectorDraw Developer Framework试用版下载


问:

    我想在一个旋转的3D图像的布局中创建一个视口。我希望新的视口能够准确显示模型视图中的内容,具有相同的旋转,目标点,范围等。您是否在其中一个示例应用程序或其他地方有一些代码可以完成我正在寻找的内容是创建一个复制模型视图中显示的3D视图的视口。

答:

    您可以使用vdView对象,它可以将布局或模型的所有视图属性复制到另一个布局/视频。

    请参阅以下代码:

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

    以上回答希望对您使用VectorDraw产品有帮助,如果您有其他的疑问或者建议可以在评论区留言,我们会及时处理。

相关资料推荐:

VectorDraw Developer Framework(VDF)示例


    如果您对想要购买正版授权VectorDraw Developer Framework(VDF),可以联系在线客服>>咨询相关问题。

VDF常见问题整理(十一):如何创建一个复制模型视图中显示的3D视图的视口?

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月19日
下一篇 2019年7月19日

相关推荐

发表回复

登录后才能评论