(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; } }