zoukankan      html  css  js  c++  java
  • 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的子类型(点、线、面)进行检测;
     

    MeasureResult类

      该类可以对MeasureTools的结果进行操作。有四个成员函数:

        bool 	IsDone () const                 //检查测量结果是否有效,如果是false,则下面三个测量数据均无效
        Real 	GetDistance () const            //获取MeasureTools中测量的距离
        Vector3 	GetPointOnShape1 () const   //获取最小距离对应的shape1中的点
        Vector3 	GetPointOnShape2 () const   //获取最小距离对应的shape2中的点
    

     

    MeasureTools类

      该类可以对TopoShape的一些属性进行测量。有三个成员函数:

        static MeasureResult 	ComputeMinDistance (const TopoShape &shape1, const TopoShape &shape2);
        static MeasureResult 	ComputeMinDistanceSingular (const TopoShape &shape1, const TopoShape &shape2);
        static TopoShape 	FindEdgeNearPoint (const TopoShape &shape, const Vector3 &point);    //找寻距离点point最近的边界. 如果最近的边界不止一条则返回null
    

     

    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 ()
  • 相关阅读:
    No-3.Linux 终端命令格式
    No-2.常用 Linux 命令的基本使用
    No-1.文件和目录
    No-7.运算符
    No-6.If语句
    No-5.变量的命名
    YOLOv4详细分析 | 细数当前最佳检测框架小细节(附论文及源码下载)
    案例】S7-200SMART 实时时钟如何在MCGS触摸屏上显示并写入
    卡尔曼滤波:从入门到精通
    mmdetection最小复刻版(七):anchor-base和anchor-free差异分析
  • 原文地址:https://www.cnblogs.com/silentteen/p/9087598.html
Copyright © 2011-2022 走看看