VectorDraw FAQ整理:縦または横に3 Dビューを作成する方法
2890 ワード
VectorDraw Developer Framework(VDF)は、アプリケーションの可視化のためのグラフィックエンジンライブラリです.VDFが提供する機能により、2 Dと3 Dのグラフィックファイルを簡単に作成、編集、管理、出力、入力、印刷できます.
VectorDraw web library(javascript)はCAD図面を開くだけでなく、Windows、アンドロイド、iOS、LinuxなどのHTML 5標準プラットフォームをサポートする汎用ベクトルオブジェクトを表示することができます.インストールする必要はありません.VectorDraw web library(javascript)は、canvasラベルとJavascriptをサポートする主流ブラウザ(Chrome、Firefox、Safari、Opera、Dolphin、Boatなど)で実行できます.これは、DXF、DWG、DGN、SKP(GoogleのSketchup)、VDMLなど多くのフォーマットで、デスクトップ、タブレット、スマートフォン、携帯型ノートパソコンでビジネスを展開できることを意味します.
質問:
3 Dビューを縦または横に作成します.それは...CommandAction.View 3 D(VFront)で作成されたビューですが、線の方向はx軸またはY軸と平行ではありません.どうすればいいですか.
回答:
2つの点または1つの線で平面を定義することはできません.そのためには、3点または2行に共通点(開始点など)が必要です.次のコードを参照してください.
VectorDraw web library(javascript)はCAD図面を開くだけでなく、Windows、アンドロイド、iOS、LinuxなどのHTML 5標準プラットフォームをサポートする汎用ベクトルオブジェクトを表示することができます.インストールする必要はありません.VectorDraw web library(javascript)は、canvasラベルとJavascriptをサポートする主流ブラウザ(Chrome、Firefox、Safari、Opera、Dolphin、Boatなど)で実行できます.これは、DXF、DWG、DGN、SKP(GoogleのSketchup)、VDMLなど多くのフォーマットで、デスクトップ、タブレット、スマートフォン、携帯型ノートパソコンでビジネスを展開できることを意味します.
質問:
3 Dビューを縦または横に作成します.それは...CommandAction.View 3 D(VFront)で作成されたビューですが、線の方向はx軸またはY軸と平行ではありません.どうすればいいですか.
回答:
2つの点または1つの線で平面を定義することはできません.そのためには、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
}