- UID
- 257504
- 积分
- 71
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2005-5-11
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2005-12-8 17:48:38
|
显示全部楼层
我想我可能没说清楚,不好意思啊,我是在worldDraw里使用polyline之类的函数画出来的线,如下面的一种情况,通过startPt1等点作为参数化出来。但我不知道该如何修改我画出来的东西,我以为是修改startPt1等点之后重新画一下,可是好像不是这样。
在这种情况下,我该如何修改参数?
- [FONT=courier new]
- Board::worldDraw(AcGiWorldDraw* pWd)
- {
- AcGePoint3d pts1[2],pts2[2];
- pts1[0]=startPt1;
- pts1[1]=endPt1;
- pts2[0]=startPt2;
- pts2[1]=endPt2;
- AcGeVector3d norm(0.0, 0.0, 1.0);
- AcGeVector3d dir(1.0, 0.0, 0.0);
- char buf[10];
- ostringstream ID;
- CString coveredStr="covered";
- CString crossedStr="crossed";
- char buf0[2];
- if(pWd&&drawAble&&!crossed){
- if(covered==1)
- {
- pWd->geometry().text(this->endPt, norm, dir, 25.0, 1.0,0.0, coveredStr);
- pWd->geometry().polyline(2,pts2);
- }
- else if(covered==2)
- {
- pWd->geometry().text(this->endPt, norm, dir, 25.0, 1.0,0.0, coveredStr);
- pWd->geometry().polyline(2,pts1);
- }
- else
- {
- pWd->geometry().polyline(2,pts1);
- pWd->geometry().polyline(2,pts2);
- }
- if(!isStart)
- pWd->geometry().circularArc(arcPt[0],arcPt[1],arcPt[2]);
- else if(forCreateBF)//绘制鼠标落点
- {
- ID<<startPt.id;
- pWd->subEntityTraits().setColor(Colors::kYellow);
- pWd->geometry().circle(startPt,2,norm);
- pWd->geometry().text(startPt, norm, dir, 25.0, 1.0,0.0, ID.str().c_str());
- pWd->subEntityTraits().setColor(Colors::kWhite);
- ID.str("");
- }
- if(closeStart)
- {
- pts1[0]=startPt1;
- pts1[1]=startPt2;
- pWd->geometry().polyline(2,pts1);
- }
- if(closeEnd)
- {
- pts1[0]=endPt1;
- pts1[1]=endPt2;
- pWd->geometry().polyline(2,pts1);
- }
- if(forCreateBF)//绘制点序号
- {
- ID<<endPt.id;
- pWd->subEntityTraits().setColor(Colors::kYellow);
- pWd->geometry().text(endPt, norm, dir, 25.0, 1.0,0.0, ID.str().c_str());
- pWd->geometry().circle(endPt,2,norm);
- pWd->subEntityTraits().setColor(Colors::kWhite);
- ID.str("");
- }
- }
- else
- {
- pWd->geometry().text(this->endPt, norm, dir, 25.0, 1.0,0.0, crossedStr);
- }
- return Adesk::kTrue;
- }
- [/FONT]
复制代码 |
|