使用画圆的方法来标注指定Id的实体
//entId为指定实体的Id
void SignEnt(AcDbObjectId entId)
{
AcDbEntity *pEnt = NULL;
AcDbBlockReference *pRef;
//打开对应实体
Acad::ErrorStatus es = acdbOpenObject(pEnt, entId, ZcDb::kForRead, false);
if ( Acad::eOk != es )
{
acutPrintf(_T("\n打开对应Id的实体失败!"));
return ;
}
if(pEnt->isKindOf(AcDbBlockReference::desc()))
{
//将实体转化为块参照
pRef = AcDbBlockReference::cast(pEnt);
//获得块参照的外框
AcDbExtents exts;
pRef->getGeomExtents(exts);
AcGePoint3d ptMin = exts.minPoint();//外框最小点
AcGePoint3d ptMax = exts.maxPoint();//外框最大点
//获取块参照的外框中心点, MidPoint函数为自己编写,即求两点之间的中心点
AcGePoint3d ptCenter = MidPoint(ptMin, ptMax);
pRef->close();
//获得两点连线的一半长度,HalfLength函数为自己编写,即求两点连线的长度的一半
double radius = HalfLength(ptMin, ptMax);
//以插入点为圆心画圆,标记重复的编号
AcGeVector3d vec(0, 0, 1);
//创建实体圆
AcDbCircle *pCircle = new AcDbCircle(ptCenter, vec, radius);
//将圆添加到模型空间,PostToModelSpace函数为自己编写的,作用是向模型空间中添加实体
PostToModelSpace(pCircle);
}
使用画圆的方法来标注指定Id的实体的更多相关文章
- javascript画直线和画圆的方法(非HTML5的方法)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 纯JS画点、画线、画圆的方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- OpenGL 3:画圆
这次使用OpenGL画圆,而且中间画一个实心的五角星. 1. 画实心五角: 由于之前使用Polygen画会出现故障,或许是各个GPU硬件也会不一样的,所以使用Polygen画实心五角星并不可靠: 所以 ...
- Bing必应地图中国API - 在地图上画圆
Bing必应地图中国API - 在地图上画圆 2011-05-24 14:49:37| 分类: Bing&Google|字号 订阅 <变形金刚2>上映4日国内票房过亿,基 ...
- c# Graphics使用方法(画圆写字代码)
画填充圆: Graphics gra = this.pictureBox1.CreateGraphics(); gra.SmoothingMode = System.Drawing.Drawing2D ...
- 在AE中通过指定中心点和半径画圆
/// <summary>/// 通过指定的中心点.半径画圆/// </summary>/// <param name="pLayer">要画的 ...
- VB.Net 经典画圆方法
计算机图形学课程作业-----画圆 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal ...
- Canvas 画圆
原文地址:http://hi.baidu.com/lj2tj/item/557d8d1a65adfa721009b58b --------------------------------------- ...
- C#使用Graphics画圆写字
画填充圆: Graphics gra = this.pictureBox1.CreateGraphics(); gra.SmoothingMode = System.Drawing.Drawing2D ...
随机推荐
- 开发composer包,打通github和packagist,并自动更新
1. 首先需要本地安装好composer,并配置好环境变量,在命令行输入composer,显示以下信息就表示正常安装 2. 在github对应项目的根目录下进行初始化composer 初始化完成后,就 ...
- 安装 Anaconda 的正确姿势
下面以 Anaconda2 安装为例, 说明如何更加流畅的使用 Conda Install Anaconda2 安装 Anaconda2(从清华源下载比较快) wget https://mirrors ...
- Java编程语言下Selenium 鼠标悬停以及右击操作
// 基于Actions类创建一个对象 Actions action = new Actions(driver); // 鼠标悬停在药渡公司全称字段上 action.moveToElement(Yao ...
- Awesome Big Data List
https://github.com/onurakpolat/awesome-bigdata A curated list of awesome big data frameworks, resour ...
- LruCache的使用及原理
采用LRU算法实现的话就是将最老的数据删掉.利用LRU缓存,我们能够提高系统的性能. 一,是它本身已经实现了按照访问顺序的存储,也就是说,最近读取的会放在最前面,最不常读取的会放在最后(当然,它也 ...
- 神奇的namespace使用
一大波概念正在来袭: 作用域与命名空间 相关概念 与命名空间相关的概念有: 声明域(declaration region)—— 声明标识符的区域.如在函数外面声明的全局变量,它的声明域为 ...
- Java并发-容器
同步容器类:同步容器类包括Vector和Hashtable.这些类实现线程安全的方式是:将它们的状态封装起来,并对每个公有方法进行同步,使得每次只有一个线程可以访问容器的状态.JDK1.2之后,提供了 ...
- 在UltraEdit中如何像NotePad++一样实现双击单词在全文中高亮
NotePad++中有个功能特别好用,就是双击某个单词,这个单词就会在全文档中高亮,如下图 我经常用UltraEdit,结果是UE中没有这个功能,这么实用的功能居然没有? 没关系,在UE中shift+ ...
- 安装RabbitMQ编译erlang时,checking for c compiler default output file name... configure:error:C compiler cannot create executables See 'config.log' for more details.
checking for c compiler default output file name... configure:error:C compiler cannot create executa ...
- 谈谈Javascript异步代码优化
关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 在实际编码中,我们经常会遇到Javascript代码异步执行的场景,比如ajax的调用.定时器的使用 ...