//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的实体的更多相关文章

  1. javascript画直线和画圆的方法(非HTML5的方法)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 纯JS画点、画线、画圆的方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. OpenGL 3:画圆

    这次使用OpenGL画圆,而且中间画一个实心的五角星. 1. 画实心五角: 由于之前使用Polygen画会出现故障,或许是各个GPU硬件也会不一样的,所以使用Polygen画实心五角星并不可靠: 所以 ...

  4. Bing必应地图中国API - 在地图上画圆

    Bing必应地图中国API - 在地图上画圆 2011-05-24 14:49:37|  分类: Bing&Google|字号 订阅     <变形金刚2>上映4日国内票房过亿,基 ...

  5. c# Graphics使用方法(画圆写字代码)

    画填充圆: Graphics gra = this.pictureBox1.CreateGraphics(); gra.SmoothingMode = System.Drawing.Drawing2D ...

  6. 在AE中通过指定中心点和半径画圆

    /// <summary>/// 通过指定的中心点.半径画圆/// </summary>/// <param name="pLayer">要画的 ...

  7. VB.Net 经典画圆方法

    计算机图形学课程作业-----画圆 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal ...

  8. Canvas 画圆

    原文地址:http://hi.baidu.com/lj2tj/item/557d8d1a65adfa721009b58b --------------------------------------- ...

  9. C#使用Graphics画圆写字

    画填充圆: Graphics gra = this.pictureBox1.CreateGraphics(); gra.SmoothingMode = System.Drawing.Drawing2D ...

随机推荐

  1. Factor Pattern----工厂模式

    一. 概念 工厂模式就是负责生成其他对象的类或方法,就是把创建对象的过程封装起来,这样随时可以产生一个新的对象,减少代码之间耦合. 二. 使用场景(原因) 工厂模式可以将对象的生产从直接new 一个对 ...

  2. ASP.NET MVC不可或缺的部分——DI(IOC)容器及控制器重构的剖析(DI的实现原理)

    IoC框架最本质的东西:反射或者EMIT来实例化对象.然后我们可以加上缓存,或者一些策略来控制对象的生命周期,比如是否是单例对象还是每次都生成一个新的对象. DI实现其实很简单,首先设计类来实现接口, ...

  3. IOS使用FMDB封装的数据库增删改查操作

    // //  DBHelper.h //  LessonStoryBoard // //  Created by 袁冬冬 on 15/10/29. //  Copyright (c) 2015年 袁冬 ...

  4. 每天几分钟跟小猫学前端之node系列:用node实现最简单的爬虫

    先来段求分小视频: https://www.iesdouyin.com/share/video/6550631947750608142/?region=CN&mid=6550632036246 ...

  5. Java Selenium 定位元素 实现的一个注册功能

    import java.util.List; import java.util.concurrent.TimeUnit; import org.openqa.selenium.Alert; impor ...

  6. css 字体两端对齐

    我想作为一个前端工作者,总会遇到这样的场景,一个表单展示的字段标题有4个字也有2个字的时候,这样子同时存在想展示的美观一点,就需要字体两端对齐了,其实实现方式很简单,我针对其中一种来做下介绍,以后方法 ...

  7. DDGScreenShot--iOS 图片处理--多图片拼接 (swift)

    写在前面 最近总结了关于图片处理相关的内容,之前在二三四五工作的时候,也做过关于这方面的分享,图片的处理内容很多,会分很多模块来讲解. 今天简单讲多图片的拼接. 上代码 func composeIma ...

  8. php仿经典省市县三级联动

    之前有个需求要写个类似省市县三级联动的页面,于是,网上找了点资料看了下,其实原理很简单: 当我们选择一级栏目中某条记录的时候,会获取该栏目的vaule值,并发起ajax请求,后台根据这个vaule值, ...

  9. JS中sessionstorage的getItem/setItem/removeItem/clear

    function people(){ } var animal = { name: "cc", age:16, say:function(m1,m2){ alert("他 ...

  10. Spring Boot 事件和监听

    Application Events and Listeners 1.自定义事件和监听 1.1.定义事件 package com.cjs.boot.event; import lombok.Data; ...