ObjectArx打印ErrorStatus错误信息

ObjectArx的大部分函数返回值都是Acad::ErrorStatus,经常需要捕捉返回值的具体信息,下面全局函数acadErrorStatusText可以打印出错误的具体信息:

#include "acestext.h"
...
acutPrintf(TEXT("\nDb3插入Db2失败,error=%s"),acadErrorStatusText(es));
...

当然,CAD.NET中直接实现了ToString()方法,更为方便。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C# ObjectARX中,你可以使用Autodesk.AutoCAD.DatabaseServices.Viewport类来获取视口对象,然后使用其中的边界框(BoundingBox)属性来获取视口的范围。接着,你可以将这个范围传递给Autodesk.AutoCAD.GraphicsSystem.ViewportExtensions.CaptureImage方法,该方法将返回一个System.Drawing.Image对象,代表你要输出的图片。 下面是一个简单的示例代码,它演示了如何在C# ObjectARX中根据视口范围打印输出图片: ```csharp using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.GraphicsSystem; using Autodesk.AutoCAD.Runtime; using System.Drawing; using System.IO; namespace MyCommands { public class MyCommands { [CommandMethod("PRINTIMAGE")] public static void PrintImage() { // 获取当前文档和编辑器对象 Document doc = Application.DocumentManager.MdiActiveDocument; Editor ed = doc.Editor; // 提示用户选择一个视口 PromptEntityOptions opts = new PromptEntityOptions("\n选择一个视口:"); opts.SetRejectMessage("\n请选择一个有效的视口!"); opts.AddAllowedClass(typeof(Viewport), true); PromptEntityResult res = ed.GetEntity(opts); if (res.Status == PromptStatus.OK) { // 获取视口对象 Viewport vp = res.ObjectId.GetObject(OpenMode.ForRead) as Viewport; // 获取视口范围 Point3d minPt = vp.GeTViewExtentsCorner(ViewportCorner.LowerLeft); Point3d maxPt = vp.GeTViewExtentsCorner(ViewportCorner.UpperRight); Extents3d ext = new Extents3d(minPt, maxPt); // 获取视口截图 Image img = vp.CaptureImage(ext); // 保存截图到磁盘上 string filePath = Path.Combine(doc.Database.Filename, "output.png"); img.Save(filePath, System.Drawing.Imaging.ImageFormat.Png); // 显示输出文件路径 ed.WriteMessage("\n输出文件路径:" + filePath); } } } } ``` 以上代码演示了如何在C# ObjectARX中根据选择的视口范围,将视口内容输出为一张PNG格式的图片,并将其保存到磁盘上。你可以根据自己的需要进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值