返回介绍

圆弧

发布于 2023-08-09 23:10:33 字数 1852 浏览 0 评论 0 收藏 0

圆弧在MxDrawCAD控件下为一个实体类:

class ARXDLL McDbArc : public McDbCurve

通过调用

// -------------------------------------------------------------------------
// Summary:
//  构造函数
// -------------------------------------------------------------------------
McDbArc();
 
// -------------------------------------------------------------------------
// Summary:
//  圆弧的构造函数,圆弧的位置是开始点逆时针转到结束点经过的圆弧
// Parameters:
//  center   - 圆弧的中心
//  radius   - 圆弧的半径
//  startAngle  - 圆弧的开始角,圆弧开始点顺时针转到X轴经过的弧度
//  endAngle  - 圆弧的结束角,圆弧结束点顺时针转到X轴经过的弧度
// -------------------------------------------------------------------------
McDbArc(const McGePoint3d& center, double radius,
double startAngle, double endAngle);
 
// -------------------------------------------------------------------------
// Summary:
//  圆弧的构造函数,圆弧的位置是开始点逆时针转到结束点经过的圆弧
// Parameters:
//  center   - 圆弧的中心
//  normal   - 暂没使用
//  radius   - 圆弧的半径
//  startAngle  - 圆弧的开始角,圆弧开始点顺时针转到X轴经过的弧度
//  endAngle  - 圆弧的结束角,圆弧结束点顺时针转到X轴经过的弧度
// -------------------------------------------------------------------------
McDbArc(const McGePoint3d& center, const McGeVector3d& normal,
double radius, double startAngle, double endAngle);

如:

	const double PI(3.1415);

	//在X = 100, Y = 100的位置,半径为10,
	//圆弧开始点顺时针转到X轴经过90°,
	//圆弧结束点顺时针转到X轴经过180°的弧
	{
		McDbArc * pEnt = new McDbArc(McGePoint3d(0, 0, 0), 10, PI / 2, PI);
		SetEnt(256, _T("ByLayer"), pEnt);//颜色随层,线型随层
	}

	{
		McDbArc * pEnt = new McDbArc(McGePoint3d(10, 10, 0), 10, PI / 2, PI);
		SetEnt(0, _T("ByBlock"), pEnt);//颜色随块,线型随块
	}

	{
		McDbArc * pEnt = new McDbArc(McGePoint3d(20, 20, 0), 10, PI / 2, PI);
		SetEnt(2, _T("BORDER"), pEnt);//黄色,BORDER线型
	}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文