AnyCAD(MFC版)一些API介绍
Posted silentteen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AnyCAD(MFC版)一些API介绍相关的知识,希望对你有一定的参考价值。
AnyCAD(MFC版)一些API介绍
AuView3dAPI类
该类主要包含对文档AuView3d(MFC文档程序视类)以及AuWindow3d(对话框中显示框)的显示操作。
m_View3d成员对象
类型: protected AnyCAD::API::View3d
可借用View3d类完成许多显示操作,如利用GetSceneManager函数进行擦除(代码如下);
m_View3d.GetSceneManager().ClearNodes(); //清空3D场景
m_View3d.GetSceneManager().ClearNodes2d(); //清空所有的2D对象
m_View3d.GetRenderer().ClearSelection(); //清空选择集
m_View3d.RequestDraw(1);
AuWindow3d类
对话框程序显示框,作为三维显示框。
EdgeClassifier类
对TopoShape的边界进行分类提取。包括三类:free edges,shared edges,standalone edges。
注:通过实验发现,有些边无法进行分类(即用三类进行提取都提取不到)。一次实验中对一个长方形边界进行边界提取,结果为free edges(3), shared edges(0), standalone edges(0),但是用GlobalInstance::topoExplor.ExplorEdges(shape)发现提取得到所有4条边界。
EdgeClassifier edgeClassfier;
edgeClassfier.Initialize(shape); //用shape初始化
TopoShapeGroup shareEdgeGroup = edgeClassfier.GetSharedEdges(); //shared edges,个数为0
TopoShapeGroup standaloneEdgeGroup = edgeClassfier.GetStandaloneEdges();//standalone edges,个数为0
TopoShapeGroup freeEdgeGroup = edgeClassfier.GetFreeEdges(); //free edges,个数为3
TopoShapeGroup shareEdgeGroup1 = GlobalInstance::topoExplor.ExplorEdges(shape); //所有边界,个数为4
多次实验的结果都是三类边界总条数比实际条数少1。
GlobalInstance类
获取全局实例,类中包含很多静态成员对象,从而可以通过这些成员对象将对应类操作统一起来。
brepTools成员对象
类型: static BrepTools
可通过该对象进行边界造型等操作;
topoExplor成员对象
类型: static TopoExplor
可借用TopoExplor类对程序中的TopoShape的子类型(点、线、面)进行检测;
SharedEdgeShape类
对公共边界进行操作,如可以获取该边界的父平面。但没有找到涉及到类SharedEdgeShape的相关函数,仅在HoleExplor类中找到一个返回值为SharedEdgeShapeList的函数。
TopoDataExchangeIges类
该类可以对IGES格式进行读取。读入的模型类型为Topo_COMPOUND。
TopoDataExchangeStep类
该类可以对STEP格式进行读取。读入的模型类型为Topo_SOLID。
TopoDataExchangeStl类
该类可以对STL格式进行读取。读入的模型类型为Topo_SHELL,所有的面会转化为三角面片(如一个矩形面会转化为两个三角面片,模型现实会发现多出一条边界将矩形面分割成两个三角面)。
TopoExplor类
该类可以对TopoShape的子类型(点、线、面)进行检测。
TopoShape类
可以对模型进行一定操作,获取模型点线面特征。
TopoShapeConvert类
可以对模型进行一定操作,获取模型点线面特征。
TopoShapeGroup类
拓扑对象组。如对拓扑对象进行子类型检测可以获得拓扑对象组(存储获取的子类型),进而可以对子类型进行操作。
TopoShapeProperty类
获取TopoShape的几何属性。
void SetShape (const TopoShape &shape) //设置需要计算的TopoShape
Real EdgeLength () const
Real SurfaceArea () const
Real SolidVolume () const
Vector3 CenterOfMass ()
以上是关于AnyCAD(MFC版)一些API介绍的主要内容,如果未能解决你的问题,请参考以下文章