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