- UID
- 414718
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2006-4-3
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2006-10-12 14:37:43
|
显示全部楼层
///////////////////////选择运行路线
acedEntSel("\n选择运行路线: ", ss, e1);
acdbGetObjectId(eId, ss);//通过实体名得到对象标识符
/////////////////////////////////////////////////由对象句柄打开选择的运行路线
if (acdbOpenObject(pEnt, eId,AcDb::kForWrite)== Acad::eOk) //判断
{
if(pEnt==NULL)
{
acutPrintf("\n您选择的运行路线为空!\n");
}
else
{
if( pEnt->isKindOf(AcDbPolyline::desc()))
{ pPline =AcDbPolyline::cast(pEnt);
//得到AcDbPolyline类的指针
}
else{
acutPrintf("\n您选择的运行路线不是pline线!");
}
}
}
pEnt->close();
/////////////////////////////////////////////设置加载点
retCode = acedGetPoint(NULL, "\n设置加载点: ", asDblArray(loadPt));
acutPrintf("\n加载点为(%4f,%4f)",loadPt.x,loadPt.y);
acutPrintf("\n卸载点为(%4f,%4f)",uninstallPt.x,uninstallPt.y);
//判断当计算点的坐标离终点坐标的距离小于一个步长时,结束计算
for(int i=1;(dist2-dist1)>windInfo.dstepcd;i++)
{
pPline->getPointAtDist(i*windInfo.dstepcd,pts);
pjPts.append(pts);
pPline->getDistAtPoint(pts,dist1);
acutPrintf("\nPoint[%d]:(%.21f,%.21f).",i-1,pts.x,pts.y);
}
pPline->getDistAtPoint(loadPt,dist);
acutPrintf("\n加载点之前路线总长为: %4f.",dist);/////
///////////////////////////////////////////我需要求出加载点和起点的长度来判断下面的计算过程...但是返回的Dist值缺只是加载点前一个顶点到起点的长度...不知道为什么?请大家帮忙看看 |
|