返回介绍

绘制点

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

点在CAD中的作用除了可以分割对象外,还能测量对象,点不仅表示一个小的实体,而且通过点作为绘图的参考标记。pdmode是一个控制point的形式的系统变量,当pdmode=0时是可见的一个点,当pdmode=1时是一个不可见的点,但仍存在。pdmode=2时是一个十字,pdmode=3时是一个叉子,将值指定为 32、64 或 96,除了绘制通过点的图形外,还可以选择在点的周围绘制形。PDSIZE是设置点对象的显示大小。正的PDSIZE值指定点图形的绝对尺寸。负值将解释为视口大小的百分比。重生成图形时将重新计算所有点的尺寸。

主要用到函数说明:

函数名:_DMxDrawX::DrawPoint

绘制一个点。详细说明如下:

参数说明
OUBLE dX点的X坐标
DOUBLE dY点的Y坐标

C#中实现代码说明:

private void DrawPoint()
{
    //清空当前显示内容
    axMxDrawX1.NewFile();
    //把颜色改回黑白色
    axMxDrawX1.DrawCADColorIndex = 0;
    // 设置点样式,具体的值,可以看autocad帮助
    //pdmode是一个控制point的形式的系统变量,当pdmode=0时是可见的一个点,
    // 当pdmode=1时是一个不可见的点,但仍存在。pdmode=2时是一个十字,pdmode=3时是一个叉子
    //将值指定为 32、64 或 96,除了绘制通过点的图形外,还可以选择在点的周围绘制形。
    axMxDrawX1.SetSysVarLong("PDMODE", 0);
    // 设置点大小,0.0表示它随屏幕
    axMxDrawX1.SetSysVarDouble("PDSIZE", 15.0);
    axMxDrawX1.DrawPoint(0, 50);
    //-----------------------------------------------------------------------------------------------
    axMxDrawX1.SetSysVarLong("PDMODE", 67);
    // 设置点大小,0.0表示它随屏幕
    axMxDrawX1.SetSysVarDouble("PDSIZE", 15.0);
    axMxDrawX1.DrawPoint(50, 50);
    //-----------------------------------------------------------------------------------------------
    axMxDrawX1.SetSysVarLong("PDMODE", 3);
    // 设置点大小,0.0表示它随屏幕
    axMxDrawX1.SetSysVarDouble("PDSIZE", 15.0);
    axMxDrawX1.DrawPoint(100, 50);
    //-----------------------------------------------------------------------------------------------
    axMxDrawX1.SetSysVarLong("PDMODE", 2);
    // 设置点大小,0.0表示它随屏幕
    axMxDrawX1.SetSysVarDouble("PDSIZE", 15.0);
    axMxDrawX1.DrawPoint(150, 50);
    axMxDrawX1.ZoomAll();
    axMxDrawX1.UpdateDisplay();
}

效果展示:

通过点击绘制点按钮,触发DrawPoint()事件,CAD控件视区将显示在C#中设置好的点。如下图所示:

C#drawpoint.png

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

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

发布评论

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