AutoCAD.Net圆弧半径标注延长线

#region 注册RegApp
        public static void CheckRegApp(string regapptablename)
        {
            Database db = HostApplicationServices.WorkingDatabase;
            using (Transaction trans = db.TransactionManager.StartTransaction())
            {        

                RegAppTable appTbl = trans.GetObject(db.RegAppTableId,OpenMode.ForWrite) as RegAppTable;
                if (!appTbl.Has(regapptablename))
                {
                    RegAppTableRecord appTblRcd = new RegAppTableRecord();
                    appTblRcd.Name = regapptablename;
                    appTbl.Add(appTblRcd);
                    trans.AddNewlyCreatedDBObject(appTblRcd, true);
                }
                trans.Commit();
            }
            return ;
        }
        #endregion

		[CommandMethod("mydra")]
        public static void mydra()
        {

            // 获取当前数据库
            Document acDoc = Application.DocumentManager.MdiActiveDocument;
            Database acCurDb = acDoc.Database;
            // Start a transaction启动事务
            using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
            {
                // Open the Block table for read以读模式打开块表
                BlockTable acBlkTbl;
                acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,
                OpenMode.ForRead) as BlockTable;
                // Open the Block table record Model space for write
                // 以写模式打开块表记录ModelSpace
                BlockTableRecord acBlkTblRec;
                acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace],
                OpenMode.ForWrite) as BlockTableRecord;
                // Create the radial dimension创建半径标注
                RadialDimension acRadDim = new RadialDimension();
                acRadDim.Center = new Point3d(0, 0, 0);
                acRadDim.ChordPoint = new Point3d(5, 5, 0);
                acRadDim.LeaderLength = 5;
                acRadDim.DimensionStyle = acCurDb.Dimstyle;
                // 添加新对象到模型空间和事务
                CheckRegApp("ACAD_DSTYLE_DIMRADIAL_EXTENSION");//自定义函数检查RegApp名字是否存在,不存在就添加regApp名字
                ResultBuffer resBuf = new ResultBuffer();
                resBuf.Add(new TypedValue((int)DxfCode.ExtendedDataRegAppName, "ACAD_DSTYLE_DIMRADIAL_EXTENSION"));
                resBuf.Add(new TypedValue((int)DxfCode.ExtendedDataInteger16, 387));
                resBuf.Add(new TypedValue((int)DxfCode.ExtendedDataInteger16, 1));
                resBuf.Add(new TypedValue((int)DxfCode.ExtendedDataInteger16, 388));
                resBuf.Add(new TypedValue((int)DxfCode.ExtendedDataReal, 6.26953));//开始角度
                resBuf.Add(new TypedValue((int)DxfCode.ExtendedDataInteger16, 390));
                resBuf.Add(new TypedValue((int)DxfCode.ExtendedDataReal, 2.67146));//结束角度
                acRadDim.XData = resBuf;
                acBlkTblRec.AppendEntity(acRadDim);
                acTrans.AddNewlyCreatedDBObject(acRadDim, true);

                // 提交修改,关闭事务
                acTrans.Commit();
            }
        }

  

原文地址:https://www.cnblogs.com/edata/p/9193389.html

时间: 2024-11-25 20:15:35

AutoCAD.Net圆弧半径标注延长线的相关文章

AutoCAD .NET API 之——DimStyleTableRecord 的属性列表

DimStyleTableRecord Properties: Properties Description(描述) Dimadec 角度标注保留的有效位数 Dimalt 控制是否显示换算单位标注值中的零 Dimaltd 控制换算单位中小数的位数 Dimaltf 控制换算单位中的比例因子 Dimaltrnd 决定换算单位的舍入 Dimalttd 设置标注换算单位公差值小数位的位数 Dimalttz 控制是否对公差值作消零处理 Dimaltu  为所有标注样式族(角度标注除外)换算单位设置单位格式

AutoCAD系统变量一览表

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; text-indent: 10.0pt; line-height: 15.6pt; font-size: 10.5pt; font-family: "Times New Roman", "serif" } h1 { margin-top: 17.0pt; margin-r

Autodesk AutoCAD 2019破解版

Autodesk AutoCAD 2019破解版点击下载:http://www.3322.cc/soft/37416.html AutoCAD 2019破解版是一款由Autodesk公司目前发布的最新版本的自动计算机辅助设计软件,同时也是全球知名的CAD绘图软件,主要用于二维绘图.详细绘制.设计文档和基本三维设计工作.同时作为全新的版本,其带来了全新的功能,包括用户可以在组织内部或外部与客户和同事共享设计,而无需发布图形文件,此功能替代了"共享设计视图".从当前图形中提取设计数据,将其

谷歌地图导入AutoCAD CAD图导入谷歌地图

在线矢量标注(标绘)使用教程 1.导入/导出AutoCAD文件DXF格式 2.在线标注含有 点 线 面 的矢量标注(KML/KMZ/SHP/DWG/DXF) 3.标注矢量导入导出(支持格式KML.KMZ.SHP.GPX(GPS测量坐标)) 4.矢量标注自动叠加到卫星图像上一起下载(矢量栅格化) 5.在AutoCAD中打开标注的矢量点.线.面及属性 启动BIGEMAP软件,点击软件左上角[编辑]按钮,如下图: 弹出可编辑对话界面,如下图: 上图中横向的是标绘用的工具栏,可以选择点.线.面.等常规标

谷歌地图转AutoCAD地图教程

在线矢量标注(标绘)使用教程 1.导入/导出AutoCAD文件DXF格式 2.在线标注含有 点 线 面 的矢量标注(KML/KMZ/SHP/DWG/DXF) 3.标注矢量导入导出(支持格式KML.KMZ.SHP.GPX(GPS测量坐标)) 4.矢量标注自动叠加到卫星图像上一起下载(矢量栅格化) 5.在AutoCAD中打开标注的矢量点.线.面及属性 启动BIGEMAP软件,点击软件左上角[编辑]按钮,如下图: 弹出可编辑对话界面,如下图: 上图中横向的是标绘用的工具栏,可以选择点.线.面.等常规标

在Altium Designer中使用AUTOCAD快速制作元件封装

笔者通过使用AutoCAD处理图形,并将其导入Altium Designer中,快速绘制元件封装,省去算间距的时间. 本例中以NPN管(B772),封装为SOT-89为例: 第一步:使用PDF Editor工具打开B772的说明文档,并定位到封装页面. 将该页面单独导出为pdf格式. 第二步:利用pdf2pxf工具,将导出的含有封装的单页pdf转化为dxf格式. 第三步:使用AutoCAD打开,并标注其中任意一边长,会发现标注和封装上的示数不同.这时使用缩放工具,成功缩放至相同示数. 第四步:删

模拟PLC 的圆弧插补方式在VC中绘制圆弧

最近同事想让要做一个绘图的控件.VC里面的画弧函数Arc需要提供外接矩形的坐标.同事觉得不好用,他更习惯圆弧插补的那种方式.于是看了看圆弧插补的东西.其实这种画弧方式就是提供圆弧的起点.终点和半径来画弧. 首先来简单介绍下圆弧插补: 有两种圆弧插补: G02     顺时针圆弧插补 G03    逆时针圆弧插补 圆弧插补编程(半径编程): 圆弧用编程功能G02 或G03 和其后圆弧终点坐标和半径值定义. 圆弧半径用字母"R"表示.如果圆弧小于180 度,半径用正数符号,如果大于180

怎样绘制一个与两条直线相切的圆弧

需要使用ctx.arcTo(), 参数是两个控制点的坐标, 比如下面的例子: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <canvas id="canv" width="300

CAD快捷键

一.绘图命令 直线:L 用法:输入命令L/回车/鼠标指定第一点/输入数值(也就是指定第二点)/回车(这时直线就画出来了)/回车(结束命令) 射线:RAY 用法:输入命令RAY/回车/鼠标指定射线起点/指定通过点/回车(结束命令) 构造线:XL 用法:输入命令XL/回车/鼠标指定构造线起点/指定通过点/回车(结束命令) 多段线:PL 用法1:同直线命令 用法2:输入命令PL/回车/指定起点/输入W(绘制带有宽度的线)/回车/指定线起点宽度/回车/指定线结束点宽度/回车/输入数值(线的长度值)/回车