ObjectARX进行矩形信息提取
来源:互联网 发布:欧陆高中 美国网络 编辑:程序博客网 时间:2024/05/08 05:14
//矩形信息提取程序
ads_point pt;
ads_name en;
AcDbObjectId eId=0;
acedEntSel("/n请您选择对象:",en,pt);
acdbGetObjectId(eId,en);//获得实体地址
AcDbEntity *pEnt;
acdbOpenObject(pEnt,eId,AcDb::kForRead);//获得实体指针
float Xmax,Xmin,Ymax,Ymin,length,width;
AcGePoint2d cen;
if(pEnt->isKindOf(AcDbPolyline::desc()))//判断图元为矩形
{
AcGePoint2d *p= new AcGePoint2d[4];
AcDbPolyline *pPline=(AcDbPolyline *&)pEnt;
for(int i=0;i<pPline->numVerts();i++)
{
AcGePoint2d pt;
pPline->getPointAt(i,pt);;
p[i]=pt;
}
if(p[0].y==p[1].y)
{
Xmax=((p[0].x-p[1].x)>0)?p[0].x:p[1].x;
Xmin=((p[0].x-p[1].x)<0)?p[0].x:p[1].x;
Ymax=((p[1].y-p[2].y)>0)?p[1].y:p[2].y;
Ymin=((p[1].y-p[2].y)<0)?p[1].y:p[2].y;
}
if(p[0].y!=p[1].y)
{
Xmax=((p[1].x-p[2].x)>0)?p[1].x:p[2].x;
Xmin=((p[1].x-p[2].x)<0)?p[1].x:p[2].x;
Ymax=((p[0].y-p[1].y)>0)?p[2].y:p[1].y;
Ymin=((p[0].y-p[1].y)<0)?p[2].y:p[1].y;
}
cen.x=(Xmax+Xmin)/2;
cen.y=(Ymax+Ymin)/2;
length=((Xmax-Xmin)>(Ymax-Ymin))? (Xmax-Xmin):(Ymax-Ymin);
width=((Xmax-Xmin)<(Ymax-Ymin))? (Xmax-Xmin):(Ymax-Ymin);
}
acutPrintf("/n Type=%s/n Xmax=%f/n Xmin=%f/n Ymax=%f/n Ymin=%f/n cen.x=%f/n cen.y=%f/n length=%f/n width=%f/n",
"矩形",Xmax,Xmin,Ymax,Ymin,cen.x,cen.y,length,width);//矩形信息
pEnt->close();
- ObjectARX进行矩形信息提取
- opencv矩形轮廓提取
- 利用ArcGIS与arcpy进行栅格属性信息的提取
- ObjectARX
- 【R的网络提取】用R进行CSDN任意博主的信息提取
- 提取矩形内的图像
- 【第一回】对TopoDS_Shape结构数据进行剖分信息提取
- 《用Python进行自然语言处理》代码笔记(五):第七章:从文本提取信息
- opencv 绘制矩形,提取矩形区域的直方图
- 信息标记与信息提取
- 在.NET中进行AutoCAD二次开发(C#+ObjectArx)
- 使用ObjectARX进行AutoCAD的二次开发——新建工程
- 提取网络接口信息
- 提取身份证信息
- EML提取主题信息
- 数据库之提取信息
- 数据库之提取信息
- 数据库之提取信息
- qq密码破解qq邮箱密码破解
- Gcc内联汇编2
- java中关于classpath的问题
- 即时报表中使用自定义指标
- 关于挂科
- ObjectARX进行矩形信息提取
- [转载]Boost智能指针——shared_ptr
- 不要随便牵手, 更不随便放手
- 高速公路BOT融资模式风险评价系统(基于Matlab平台)
- c#中的@至少有以下几种作用
- 实习之前。
- Windows Socket 编程
- error LNK2019: 无法解析的外部符号 public: __thiscall
- [转]boost 中的noncopyable