AutoCAD .Net 绘制临时图形

AutoCAD .Net API 中,Editor 类提供了两个方法来临时绘图。
public void DrawVector(Point3d from, Point3d to, int color, bool drawHighlighted);
public void DrawVectors(ResultBuffer rb, Matrix3d transform);
这些绘制的图形会在 AutoCAD 窗口刷新时消失。

以下示例代码实现在鼠标点击处绘制临时的十字图形。

[CommandMethod("Test")]
public void Test()
{
    Document doc = Application.DocumentManager.MdiActiveDocument;

    PromptPointResult ret = doc.Editor.GetPoint("\nPick point");
    if (ret.Status != PromptStatus.OK)
        return;

    Point3d pnt = ret.Value;
    Point3d pnt1 = new Point3d(pnt.X - 20, pnt.Y, pnt.Z);
    Point3d pnt2 = new Point3d(pnt.X + 20, pnt.Y, pnt.Z);
    Point3d pnt3 = new Point3d(pnt.X, pnt.Y - 20, pnt.Z);
    Point3d pnt4 = new Point3d(pnt.X, pnt.Y + 20, pnt.Z);

    int colorIndex = 4;
    doc.Editor.DrawVector(pnt1, pnt2, colorIndex, false);
    doc.Editor.DrawVector(pnt3, pnt4, colorIndex, false);
}

或者用如下代码:

[CommandMethod("Test")]
public void Test()
{
    Document doc = Application.DocumentManager.MdiActiveDocument;

    PromptPointResult ret = doc.Editor.GetPoint("\nPick point");
    if (ret.Status != PromptStatus.OK)
        return;

    Point3d pnt = ret.Value;
    Point2d pnt1 = new Point2d(pnt.X - 20, pnt.Y);
    Point2d pnt2 = new Point2d(pnt.X + 20, pnt.Y);
    Point2d pnt3 = new Point2d(pnt.X, pnt.Y - 20);
    Point2d pnt4 = new Point2d(pnt.X, pnt.Y + 20);

    int colorIndex = 4;
    int RTPOINT = 5002;
    int RTSHORT = 5003;
    using (ResultBuffer resBuf = new ResultBuffer())
    {
        resBuf.Add(new TypedValue(RTSHORT, colorIndex));
        resBuf.Add(new TypedValue(RTPOINT, pnt1));
        resBuf.Add(new TypedValue(RTPOINT, pnt2));
        resBuf.Add(new TypedValue(RTPOINT, pnt3));
        resBuf.Add(new TypedValue(RTPOINT, pnt4));
        doc.Editor.DrawVectors(resBuf, Matrix3d.Identity);
    }
}

参考文章:
http://adndevblog.typepad.com/autocad/2012/04/temporary-graphics-in-autocad.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AutoCAD .net开发人员手册中文版 文档介绍: 当前版本为20101128版,为第一个CHM版本,如需更新版本,请及时关注http://www.01vb.com,也可以查看CHM文件中的前言部分的版本通知。 因本版本制作仓促,还有如下不完善的内容。 1、还有一章内容没有翻译完成; 2、目录部分和索引部分还是英文版本,但具体页面中全部是中英文对照(有些在提示中有些在翻译上面)。 本《AutoCAD .NET 开发人员手册》由01VB编程站翻译并提供,版权所有,原英文版本版权归原版权所有者所有。本手册为免费版本,可在网上随意发送,但必须注明出处(01VB编程站及网站链接http://www.01vb.com)及翻译者。 序言 自从 AutoCAD 支持使用 .NET 开发以来,所有关于 .NET 的官方开发资料全部是英文版本,给国内开发者的学习带来了一定的阻碍,为了给广大 .NET 爱好者提供更多方便,于是决定翻译一部分资料。 因本人英文水平及CAD二次开发水平有限,翻译的资料中也许有表达不清楚的地方,请大家谅解,也可以在资料底部找到留言的链接,给我留言或直接点击QQ联系我。 01VB编程站是一个非营利性的网站,但是,网站要生存,必须有经济来源。因此,本人在本手册中的投放了广告,但是,广告都是在正文内容的底部,不影响阅读。原则上我不鼓励大家点击上面的广告,除非真的对广告内容感兴趣。因广告给您带来的不便,还望谅解。 最近一段时间,老婆一直生病,始终没有痊愈,在此,我希望老婆能快点儿好起来, 并想对她说一句:老婆,别哭,好好养病,病痛在你身,也疼在我心。你累了,我会背你;钱花光了,我会去挣,身体是第一位的。如果你也想给我老婆送上祝福,请留言,谢谢!(2010.11.24) 翻译历史 2010年8月中旬 开始,期间由于本人生病,中断了几天,还有部分内容没有翻译完成,仍然在翻译中。 11.6 更新《图层状态管理器的使用》部分。 11.07 更新《文字样式》部分 11.08 更新完《创建和编辑AutoCAD图元》这章。 11.11 更新 《标注的概念》 部分 11.12 更新《创建标注》部分 11.15 更新完 《创建引线和注释》 部分 11.20 更新完《形位公差》 部分 11.24 更新到 《在三维空间中编辑 》 11.28 修正手册中的脚本错误,进行CHM格式文档的制作并在01VB编程站首发。 感谢 《AutoCAD .NET 开发人员手册》的翻译过程得到 明经通道 网站 "明经 AutoCAD.NetApi 群"中许多网友的帮助,像 MCCAD、雪山飞狐、Still等等,另外还有其它人记不清楚了,因为太多太多,总之两个字,谢谢。 版权 本开发人员手册版权属01VB编程站网站所有。 翻译者:黄明新(平凡)
AutoCAD .NET API(应用程序编程接口)是用于在AutoCAD软件中定制和扩展功能的编程工具。它提供了一组功能强大的类和方法,使开发人员能够通过编程方式访问和操作AutoCAD的各种对象和功能。 要下载AutoCAD .NET API,可以按照以下步骤进行操作: 1. 打开Autodesk官方网站,进入AutoCAD的下载页面。 2. 在页面上,找到AutoCAD .NET API的下载选项。通常可以在“附加工具”或“开发者工具”部分中找到。 3. 单击下载链接,选择适用于您的操作系统版本的AutoCAD .NET API软件包。 4. 点击下载按钮,等待下载完成。 在下载完成后,您可以按照以下步骤安装AutoCAD .NET API: 1. 打开下载文件的位置,双击运行安装程序。 2. 遵循安装程序的指示,选择您想要安装的文件夹和配置选项。 3. 完成安装后,您可以在指定的文件夹中找到安装文件和示例代码。 安装完成后,您可以开始使用AutoCAD .NET API来开发自定义功能。您可以使用.NET编程语言(如C#或VB.NET)来编写代码,并使用AutoCAD .NET API中的类和方法来访问和操作AutoCAD中的对象,如图形、图层、块等。您还可以创建自定义命令、工具栏、菜单和对话框,以及执行各种操作,如绘制、修改、查询和导出CAD数据。 总之,要下载AutoCAD .NET API,只需前往官方网站下载页面,并按照指示进行下载和安装即可。安装完成后,您可以使用AutoCAD .NET API进行自定义开发和定制AutoCAD软件的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值