1. 程式人生 > >AnyCAD(MFC版)一些API介紹

AnyCAD(MFC版)一些API介紹

sets 設置 manager tool 對話框 ted api des 現實

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介紹