溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

CAD參數(shù)繪制多段線(網(wǎng)頁版)

發(fā)布時(shí)間:2020-07-16 05:23:55 來源:網(wǎng)絡(luò) 閱讀:195 作者:lihao2014 欄目:開發(fā)技術(shù)

多段線又被稱為多義線,表示一起畫的都是連在一起的一個(gè)復(fù)合對(duì)象,可以是直線也可以是圓弧并且它們還可以加不同的寬度。


主要用到函數(shù)說明:


_DMxDrawX::PathLineTo


把路徑下一個(gè)點(diǎn)移到指定位置。詳細(xì)說明如下:

參數(shù)說明
DOUBLE dX點(diǎn)的X坐標(biāo)
DOUBLE dY點(diǎn)的Y坐標(biāo)

_DMxDrawX::DrawPathToPolyline


把路徑變成一個(gè)Polyline。


js中實(shí)現(xiàn)代碼說明:

function?DrawPolyline()?{
????//Polyline?又稱多義線,就是可以繪制多條首尾相連的線,也可以是圓弧相連,同是可以指定線的開始和結(jié)束寬。
?
????//把顏色改回黑白色
????mxOcx.DrawCADColorIndex?=?0;
?
????//把線型改成實(shí)線
????mxOcx.LineType?=?"";
?
????//設(shè)置線寬?4
????mxOcx.LineWidth?=?0;
?
????//創(chuàng)建一個(gè)圖層,名為"PolylineLayer"
????mxOcx.AddLayer("PolylineLayer");?;
?
????//設(shè)置當(dāng)前圖層為"PolylineLayer"
????mxOcx.LayerName?=?"PolylineLayer";
?
?
????//《---------------------------------------》
????//用Plyline顯示繪制矩形框
?
????//定義一個(gè)路徑的開始點(diǎn)
????mxOcx.PathMoveTo(0,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(100,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(100,?400);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(0,?400);
?
????//把路徑設(shè)置成閉合
????mxOcx.PathMakeClosed();
?
?
????//把路徑閉合,生成一個(gè)矩形框
????mxOcx.DrawPathToPolyline();
?
????//《---------------------------------------》
????//繪制一個(gè)有寬度,帶線型的矩形框
????//定義一個(gè)路徑的開始點(diǎn)
????mxOcx.PathMoveTo(200,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(300,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(300,?400);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(200,?400);
?
????//把路徑設(shè)置成閉合
????mxOcx.PathMakeClosed();
?
????mxOcx.AddLinetype("MyLineType3",?"30,-10");
?
????mxOcx.LineType?=?"MyLineType3";
?
????mxOcx.DrawCADColorIndex?=?255;
?
????mxOcx.LineWidth?=?5;
?
????mxOcx.DrawPathToPolyline();
?
????//《---------------------------------------》
????//繪制一個(gè)有寬度的矩形框
????//定義一個(gè)路徑的開始點(diǎn)
????mxOcx.PathMoveTo(400,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(500,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(500,?400);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(400,?400);
?
????//把路徑設(shè)置成閉合
????mxOcx.PathMakeClosed();
?
????mxOcx.LineType?=?("");
?
????mxOcx.DrawCADColor?=?65280;
?
????mxOcx.LineWidth?=?10;
?
????mxOcx.DrawPathToPolyline();
?
?
????//《---------------------------------------》
????//繪制一個(gè)有寬度的矩形框
????//定義一個(gè)路徑的開始點(diǎn)
????mxOcx.PathMoveTo(400,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(500,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(500,?400);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(400,?400);
?
????//把路徑設(shè)置成閉合
????mxOcx.PathMakeClosed();
?
????mxOcx.LineType?=?"";
?
????mxOcx.DrawCADColor?=?65280;
?
????mxOcx.LineWidth?=?10;
?
????mxOcx.DrawPathToPolyline();
?
????//《---------------------------------------》
????//繪制一個(gè)有寬度的,不閉合的矩形框
????//定義一個(gè)路徑的開始點(diǎn)
????mxOcx.PathMoveTo(600,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(700,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(700,?400);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(600,?400);
?
????//把路徑設(shè)置成閉合
????mxOcx.LineType?=?"";
?
????mxOcx.DrawCADColor?=?65280;
?
????mxOcx.LineWidth?=?10;
?
????mxOcx.DrawPathToPolyline();
?
?
????//《---------------------------------------》
????//繪制一個(gè)有寬度的,三角形
????//定義一個(gè)路徑的開始點(diǎn)
????mxOcx.PathMoveTo(800,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(900,?300);
?
????//路徑的一下個(gè)點(diǎn)
????mxOcx.PathLineTo(900,?400);
?
????mxOcx.PathMakeClosed();
?
????//把路徑設(shè)置成閉合
????mxOcx.LineType?=?"";
?
????mxOcx.DrawCADColor?=?65280;
?
????mxOcx.LineWidth?=?10;
?
????mxOcx.DrawPathToPolyline();
?
?
????//《---------------------------------------》
????//繪制一個(gè)箭頭
????mxOcx.PathMoveToEx(1000,?300,?10,?10,?0);
?
????mxOcx.PathLineToEx(1000,?500,?30,?0,?0);
?
????mxOcx.PathLineTo(1000,?580);
?
????mxOcx.DrawPathToPolyline();
?
?
????//《---------------------------------------》
????//繪制一個(gè)虛線箭頭
????mxOcx.PathMoveToEx(1200,?300,?10,?10,?0);
?
????mxOcx.PathLineToEx(1200,?500,?30,?0,?0);
?
????mxOcx.PathLineTo(1200,?580);
?
????mxOcx.DrawCADColor?=?65535;
?
????mxOcx.LineType?=?("MyLineType3");
?
????mxOcx.DrawPathToPolyline();
?
????//《---------------------------------------》
????//繪制一個(gè)圓弧箭頭,-0.34是圓弧的凸度.
?
????//axMxDrawX1.PathMoveToEx?1400,?300,?10,?10,?-0.34);
????mxOcx.PathMoveToEx(1400,?300,?10,?10,?-0.34);
?
????mxOcx.PathLineToEx(1400,?500,?30,?0,?0.34);
?
????mxOcx.PathLineTo(1400,?600);
?
????mxOcx.DrawCADColor?=?16776960;
?
????mxOcx.LineType?=?"MyLineType3";
?
????mxOcx.DrawPathToPolyline();
?
?
????//《---------------------------------------》
????//把所有的實(shí)體都放到當(dāng)前顯示視區(qū)
????mxOcx.ZoomAll();
?
????//更新視區(qū)顯示
????mxOcx.UpdateDisplay();
}


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI