0
点赞
收藏
分享

微信扫一扫

CAD增加一个图案填充数据


1、实现思路:首先我们需要根据我们的需求利用AddPatternDefinition方法增加一个图案定义,第一个参数是图案名称,由我们自行设置,第二个参数是图案定义字符串,也是由我们自己定义的,然后将之前增加好的图案设置为当前绘制填充对象时使用的图案名,最后我们就可以使用啦。

2、主要用到函数说明:

(1)_DMxDrawX::PathMoveToEx

把路径的开始位置移动指定的点。详细说明如下:

参数

说明

DOUBLE dX

点的X坐标

DOUBLE dY

点的Y坐标

DOUBLE dStartWidth 

该点处开始宽度,对Polyline线的绘制有效 

DOUBLE dEndWidth 

该点处结束宽度,对Polyline线的绘制有效 

DOUBLE dBulge 

该点处的凸度,对Polyline线的绘制有效

(2)_DMxDrawX::PathLineTo

把路径下一个点移到指定位置。详细说明如下:

参数

说明

DOUBLE dX

点的X坐标

DOUBLE dY

点的Y坐标

(3)_DMxDrawX::PatternDefinition

当前绘制填充对象时使用的图案名。

(4)_DMxDrawX::AddPatternDefinition

增加一个图案定义。

参数

说明

BSTR pszName

图案名称

BSTR pszPatternDefinition

图案定义字符串

js代码实现如下:

    //绘制一个有图案的填充
//angle, x-origin,y-origin, delta-x,delta-y,dash-1,dash-2, …
//45 = angle 是图案线角度.
//0 = x-origin 是第一个填充线经过的点位置X坐标
//0 = y-origin 是第一个填充线经过的点位置Y坐标
//0 = delta-x 是下一个填充线相对前一个线的X方向偏移
//0.125 = delta-y 是下一个填充线相对前一个线的Y方向偏移
mxOcx.AddPatternDefinition("MyHatchPattern1", "((45, 0,0, 0,0.125))");
//把路径变成一个填充对象
mxOcx.PatternDefinition = "MyHatchPattern1";
//把路径的开始位置移动指定的点
//参数一为点的X坐标 ,参数二为点的Y坐标,参数三为该点处开始宽度,对Polyline线的绘制有效
//参数四为该点处结束宽度,对Polyline线的绘制有效
//参数五为该点处的凸度,对Polyline线的绘制有效
mxOcx.PathMoveToEx(0, 30, 0.3, 0.3, 0.3) ;
//路径的一下个点
mxOcx.PathLineTo( 100, 30);
//路径的一下个点
mxOcx.PathLineTo(100, 60);
//路径的一下个点
mxOcx.PathLineTo(0, 30);
//把路径变成一个填充,80,是填充图案的缩放比例.
mxOcx.DrawPathToHatch(100);


mxOcx.UpdateDisplay();

    //绘制图案填充2
mxOcx.AddPatternDefinition("MyHatchPattern2", "((0,0,0,0,8)(90,0,0,8,8,8,-8))");
//把路径变成一个填充对象
mxOcx.PatternDefinition = "MyHatchPattern2";
//把路径的开始位置移动指定的点
//参数一为点的X坐标 ,参数二为点的Y坐标,参数三为该点处开始宽度,对Polyline线的绘制有效
//参数四为该点处结束宽度,对Polyline线的绘制有效
//参数五为该点处的凸度,对Polyline线的绘制有效
mxOcx.PathMoveToEx(100, 30, 0, 0, 0.3) ;
//路径的一下个点
mxOcx.PathLineTo( 200, 30);
//路径的一下个点
mxOcx.PathLineTo(200, 60);
//路径的一下个点
mxOcx.PathLineTo(100, 30);
//把路径变成一个填充,80,是填充图案的缩放比例.
mxOcx.DrawPathToHatch(1);
mxOcx.UpdateDisplay();

 

举报

相关推荐

0 条评论