用戶可以在CAD控件視區任意位置繪製直線。
主要用到函數說明:
_DMxDrawX::DrawLine
繪製一個直線。詳細說明如下:
參數 | 說明 |
DOUBLE dX1 | 直線的開始點x座標 |
DOUBLE dY1 | 直線的開始點y座標 |
DOUBLE dX2 | 直線的結束點x座標 |
DOUBLE dY2 | 直線的結束點y座標 |
js中實現代碼說明:
function DrawLine() { //清空當前顯示內容 mxOcx.NewFile(); //把顏色改回黑白色 mxOcx.DrawCADColorIndex = 0; //把線型改成實線 mxOcx.LineType = ""; //設置線寬 4 mxOcx.LineWidth = 0; //創建一個圖層,名爲"LineLayer" mxOcx.AddLayer("LineLayer"); //設置當前圖層爲"LineLayer" mxOcx.LayerName = "LineLayer"; // 直接繪製一個實線 // 參數一直線的開始點x座標,參數二直線的開始點y座標,參數三直線的結束點x座標,參數四直線的結束點y座標 mxOcx.DrawLine(0, 0, 100, 0); // 繪製一個實斜線 mxOcx.DrawLine(200, 0, 300, 100); //---------------------------------------------------------------------------------------------------------- //繪製一個虛線 //定義虛線數據據,"MyLineType"是線型名,"6,-8"是虛線的一個單位定義,6是實線長,-8是空格長。 mxOcx.AddLinetype("MyLineType", "6,-10"); //設計當前線型爲"MyLineType" mxOcx.LineType = "MyLineType"; // 繪製一個虛線 mxOcx.DrawLine(0, 30, 100, 30); // 繪製一個斜虛線 mxOcx.DrawLine(200, 30, 300, 130); //--------------------------------------------------------------------------------------------------------- // 修改繪線的顏色爲 16711680(藍色), 16711680轉成16進制是0xFF 00 00,其中,FF是藍色,00是綠色,第個二00是紅色。 mxOcx.DrawCADColor = 16711680; // 繪製一個藍色的虛線 mxOcx.DrawLine(0, 60, 100, 60); // 繪製一個藍色的斜虛線 mxOcx.DrawLine(200, 60, 300, 160); //--------------------------------------------------------------------------------------------------------- //把顏色改回黑白色 mxOcx.DrawCADColorIndex = 0; //把線型改成實線 mxOcx.LineType = ""; //設置線寬 4 mxOcx.LineWidth = 4; //繪製一個帶寬度的直線。 mxOcx.DrawLine(0, 90, 100, 90); // 繪製一個帶寬度的斜線 mxOcx.DrawLine(200, 90, 300, 190); //--------------------------------------------------------------------------------------------------------- //繪製一個點劃線虛線 mxOcx.AddLinetype("MyLineType2", "10,-2,3,-2"); //把線型改點劃線 mxOcx.LineType = "MyLineType2"; // 修改繪線的顏色爲 255(紅色), 255轉成16進制是0x00 00 FF,其中,00是藍色,第個二00是綠色,FF是紅色。 mxOcx.DrawCADColor = 255; //繪製一個帶寬度的紅色點劃線。 mxOcx.DrawLine(0, 120, 100, 120); // 繪製一個帶寬度紅色點劃斜線 mxOcx.DrawLine(200, 120, 300, 220); //--------------------------------------------------------------------------------------------------------- //增加一個帶有形的線型 mxOcx.AddTextStyle1("MyLineTypeTextStyle", "txt.shx", "hztxt.shx", 1); mxOcx.AddLinetypeEx("MyLineType3", "(12.7,(\"T=MxDraw\",\"S=2.54\",\"L=-5.08\",\"R=0.0\",\"X=-2.54\",\"Y=-1.27\"),-10.08)", "MyLineTypeTextStyle"); mxOcx.LineType = "MyLineType3"; mxOcx.LineWidth = 0; //繪製一個帶寬度的紅色點劃線。 mxOcx.DrawLine(350, 120, 600, 120); //--------------------------------------------------------------------------------------------------------- //增加一個帶有形的線型 //把顏色改回黑白色 mxOcx.DrawCADColorIndex = 0; mxOcx.LineType = "FENCELINE1"; mxOcx.LineWidth = 0; //繪製一個帶寬度的紅色點劃線。 mxOcx.DrawLine(350, 220, 600, 220); //把所有的實體都放到當前顯示視區 mxOcx.ZoomAll(); //更新視區顯示 mxOcx.UpdateDisplay(); }