VDF常见问题整理(九):如何在纵向或横向创建3D视图?

翻译|使用教程|编辑:况鱼杰|2019-08-20 11:34:14.840|阅读 27 次

概述:本系列教程整理了VectorDraw Developer Framework(VDF)最常见问题,教程整理的很齐全,非常适合新手学习,本节教程将会介绍如何在纵向或横向创建3D视图。

相关链接:

    VectorDraw Developer Framework(VDF)是一个用于应用程序可视化的图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。   

VectorDraw Developer Framework试用版下载


问:

    想要纵向或横向创建3D视图。它应该是由...... CommandAction.View3D(VFront)创建的视图,但该线的方向与x轴或Y轴不平行。应该怎么做?

答:

    您无法通过两个点或单个线来定义平面。为此,您需要3点或2行具有共同点(如他们的起点)。请参阅下面的代码:

  private void Set_View_by_3_Points()
        {
            //or by 2 lines that have a common point (their startpoint) and that define one plane
            vdDocument doc = vdFramedControl1.BaseControl.ActiveDocument; doc.New();

            vdLine linY = new vdLine(); // this line will define the Y axis
            linY.SetUnRegisterDocument(doc); linY.setDocumentDefaults();
            linY.StartPoint = new gPoint(1.1152,2.5053,-2.3408); //pt1
            linY.EndPoint = new gPoint(0.6050,3.3411,-2.5438);  //pt2
            linY.PenColor.FromSystemColor(Color.Green);
            doc.Model.Entities.AddItem(linY);

            vdLine linX = new vdLine();// this line will define the X axis
            linX.SetUnRegisterDocument(doc); linX.setDocumentDefaults();
            linX.StartPoint = new gPoint(1.1152,2.5053,-2.3408); //pt1 : same as linY.StartPoint
            linX.EndPoint = new gPoint(1.8271,2.7833,-2.9858); //pt3
            linX.PenColor.FromSystemColor(Color.Red);
            doc.Model.Entities.AddItem(linX);

            vdCircle cir = new vdCircle(); //is created just to see the plane where these two lines are
            cir.SetUnRegisterDocument(doc); cir.setDocumentDefaults();
            cir.Center = new gPoint(linX.StartPoint);
            cir.Radius = 0.5;
            cir.ExtrusionVector = new Vector(0.4826, 0.4735, 0.7368);
            cir.PenColor.FromSystemColor(Color.Gray);
            doc.Model.Entities.AddItem(cir);

            doc.CommandAction.Zoom("E", 0, 0); // now UCS is PlanWorld, View is XY plane of PlanWorld
            MessageBox.Show("3D lines created");            doc.World2ViewMatrix.SetFrom(new gPoint(linX.StartPoint), new Vector(linX.StartPoint, linX.EndPoint), new Vector(linY.StartPoint, linY.EndPoint));
            // the call above sets the View to be the plane that LinX and LinY define

            doc.CommandAction.Zoom("E", 0, 0);
            MessageBox.Show("View changed to be the plane that these lines define");            doc.UCS("View"); // this is not a call that you need, it just sets the UCS to be the same as the View
        }

关注慧聚IT微信公众号 ☟☟☟,了解产品的最新动态及最新资讯。

dd2629f30d553d56ccaf7164fdcb784e-sz_28327.webp.jpg

Axolot Data厂商夏日特惠,Word报表系列组件大放“价”!



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:VectorDraw https://www.vdraw.com/articles/howto/60001516-how-can-i-create-a-3d-view-lengthwise-or-crosswise-to-a-line/

登录慧都网发表评论登录


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
title
title
相关厂商
相关产品
VectorDraw File Converter

将常用的图像文件转换为VectorDraw格式标准。3D智能制造推荐产品,帮助企业领跑工业4.0。

VectorDraw Developer Framework

面向对象的矢量绘图控件,支持2D和3D图形,无限分发授权。3D智能制造首选控件,帮助企业领跑工业4.0。

VectorDraw web library (javascript)

基于HTML5的矢量图引擎,100%采用Javascript编写,无客户端插件也可在浏览器中编辑你的矢量图形。3D智能制造首选控件,帮助企业领跑工业4.0。

在线客服 在线QQ 电话咨询
400-700-1020
反馈
在线客服系统
live chat