(1)getLeaderIndexes 函數:獲得引線的索引函數
getLeaderIndexes 函數的定義形式爲:3d
Acad::ErrorStatus getLeaderIndexes( AcArray<int>& leaderIndexes) const;
第一個參數:leaderIndexes:引線索引code
(2)getLeaderLineIndexes 函數:獲得引線的箭頭線的索引索引
getLeaderLineIndexes 函數的定義形式爲:get
Acad::ErrorStatus getLeaderLineIndexes( AcArray<int>& leaderLineIndexes) const;
第一個參數: leaderLineIndexes:引線的箭頭線的索引io
Acad::ErrorStatus getLeaderLineIndexes(int leaderIndex, AcArray<int>& leaderLineIndexes) const;
第一個參數:leaderIndex:引線索引ast
第二個參數:leaderLineIndexes:引線的箭頭線的索引class
(3)getFirstVertex :函數:獲取引線的箭頭線的箭頭起點poi
getFirstVertex 函數的定義形式爲:co
Acad::ErrorStatus getFirstVertex( int leaderLineIndex, AcGePoint3d& point) const;
第一個參數:leaderLineIndex:引線的箭頭線索引
第二個參數:point:箭頭起點
(4)getLastVertex :函數:獲取引線的箭頭線的箭頭的尾點
getLastVertex 函數的定義形式爲:
Acad::ErrorStatus getLastVertex( int leaderLineIndex, AcGePoint3d& point) const;
第一個參數:leaderLineIndex:引線的箭頭線索引
第二個參數:point:箭頭尾點
(5)numVertices :函數:獲取引線的箭頭線上頂點數
numVertices 函數的定義形式爲:
Acad::ErrorStatus numVertices(int leaderLineIndex, int& num) const;
第一個參數:leaderLineIndex:引線的箭頭線索引
第二個參數:num:箭頭線的頂點數
(6)getVertex :函數:獲取引線的箭頭線上頂點的位置
getVertex 函數的定義形式爲:
Acad::ErrorStatus getVertex(int leaderLineIndex, int index, AcGePoint3d& point) const;
第一個參數:leaderLineIndex:引線的箭頭線索引
第二個參數: index:頂點的索引
第三個參數:point:頂點位置
(7)getTextLocation: 函數:獲取多行文本的位置
getTextLocation 函數的定義形式爲:
Acad::ErrorStatus getTextLocation(AcGePoint3d& location) const;
第一個參數: location:多行文本的位置
(8)enableDogleg : 函數:是否啓用基線
enableDogleg 函數的定義形式爲:
bool enableDogleg() const;
返回值:true:啓用基線,flase:沒有基線
(9)getDoglegDirection 函數:基線的方向
getDoglegDirection 函數的定義形式爲:
Acad::ErrorStatus getDoglegDirection( int leaderIndex, AcGeVector3d& vector) const;
第一個參數:leaderIndex:引線索引
第二個參數:vector:基線方向的單位向量
(10)doglegLength :函數:基線的長度
doglegLength 函數的定義形式爲:
Acad::ErrorStatus doglegLength(int leaderIndex, double& doglegLength) const;
第一個參數:leaderIndex:引線索引
第二個參數:doglegLength:基線長度
具體用法如例:
OdDbMLeader* pMLeader ; OdGePoint3d textPoint; pMLeader->getTextLocation(textPoint); OdIntArray leaderIndexes; pMLeader->getLeaderIndexes(leaderIndexes); for (int nLeaderIndex = 0; nLeaderIndex < leaderIndexes.size(); ++nLeaderIndex) { OdGePoint3d firstPoint,lastPoint; OdIntArray leaderLineIndexes; pMLeader->getLeaderLineIndexes(nLeaderIndex, leaderLineIndexes); for (int nLeaderLineIndex = 0; nLeaderLineIndex < (int)leaderLineIndexes.size(); ++nLeaderLineIndex) { pMLeader->getFirstVertex(nLeaderLineIndex,firstPoint); pMLeader->getLastVertex(nLeaderLineIndex,lastPoint); int num = 0; OdGePoint3d ptTemp; pMLeader->numVertices(nLeaderLineIndex,num); for (int nVertex = 1; nVertex < num - 1; ++nVertex) { pMLeader->getVertex(nLeaderLineIndex, num, ptTemp); } } //基線 if (pMLeader->enableDogleg()) { OdGeVector3d vecDogleg; pMLeader->getDoglegDirection(nLeaderIndex,vecDogleg); double dDogleg = pMLeader->doglegLength(); OdGePoint3d doglegPoint = lastPoint + vecDogleg * dDogleg; OdGePoint3d doglegMidPoint = (lastPoint + doglegPoint.asVector())/2.0; } }