• <menu id="w2i4a"></menu>
  • logo VectorDraw Developer Framework使用教程

    文檔首頁(yè)>>VectorDraw Developer Framework使用教程>>VDF常見問題整理(九):如何在縱向或橫向創(chuàng)建3D視圖?

    VDF常見問題整理(九):如何在縱向或橫向創(chuàng)建3D視圖?


    VectorDraw Developer Framework(VDF)是一個(gè)用于應(yīng)用程序可視化的圖形引擎庫(kù)。有了VDF提供的功能,您可以輕松地創(chuàng)建、編輯、管理、輸出、輸入和打印2D和3D圖形文件。

    VectorDraw Developer Framework試用版下載


    問:

    想要縱向或橫向創(chuàng)建3D視圖。它應(yīng)該是由...... CommandAction.View3D(VFront)創(chuàng)建的視圖,但該線的方向與x軸或Y軸不平行。應(yīng)該怎么做?

    答:

    您無(wú)法通過(guò)兩個(gè)點(diǎn)或單個(gè)線來(lái)定義平面。為此,您需要3點(diǎn)或2行具有共同點(diǎn)(如他們的起點(diǎn))。請(qǐng)參閱下面的代碼:

      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
            }
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();