- UID
- 4476
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-4-28
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
double CAnalyze::PipelineLength(AcGePoint3d PreviousPt,
AcGePoint3d NextPt,ads_name SSetName)
{
int i,len;
double val,Length;
AcGePoint3d pt1,pt2;
ads_name ent;
AcDbObjectId objId;
AcDbEntity* pEnt;
AcDbRotatedDimension* pRDimension;
AcDbDimension* pDimension;
len=IntPipelineLength.logicalLength();
for(i=0;i<len;i++)
{
acedSSName(SSetName,IntPipelineLength.at(i),ent);
acdbGetObjectId(objId,ent);
acdbOpenAcDbEntity(pEnt,objId,AcDb::kForRead);
pDimension=AcDbDimension::cast(pEnt);
pRDimension=AcDbRotatedDimension::cast(pEnt);
pt1=pRDimension->xLine1Point();
pt2=pRDimension->xLine2Point();
if(((PreviousPt.x==pt1.x)&&(PreviousPt.y==pt1.y))||
((PreviousPt.x==pt2.x)&&(PreviousPt.y==pt2.y))||
((NextPt.x==pt1.x)&&(NextPt.y==pt1.y))||
((NextPt.x==pt2.x)&&(NextPt.y==pt2.y)))
{
if(pRDimension->dimensionText()=="")
{
pDimension->measurement(&val);
Length=val;
}
else
{
Length=atof(pRDimension->dimensionText());
}
}
}
return Length;
}
主要是measurement()的参数传递有问题吗?
为什么我编译不同过?
另外确定两个点相等,这种方法可行吗?有什么别的方法? |
|