明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2360|回复: 5

请问怎样才能得到已知AcDbCurve的起点和终点坐标?

[复制链接]
发表于 2002-9-19 09:27 | 显示全部楼层 |阅读模式
我用AcDbCurve *pLine = new AcDb2dPolyline(
             k2dSimplePoly,                 
           vertices,
          0,
          Adesk::kFalse,
          1,
          1,
           NULL) ;
画了一条线,现在想通过pline来提取它的起点和终点的坐标,请问该怎么做?
发表于 2002-9-19 11:08 | 显示全部楼层

AcDbCurve的起点和终点

其实,起点和终点坐标就在AcDb2dPolyline()构造函数的vertices参数中,这个参数是AcGePoint3dArray类型的,AcGePoint3dArray是AcArray类模板的一个模板类,可以用vertices->first()返回起点坐标,用vertices->last()返回终点坐标。至于vertices参数的获取,可以用
AcGePoint3d AcDb2dPolyline::vertexPosition(const AcDb2dVertex& vert) const;
函数。
 楼主| 发表于 2002-9-19 11:55 | 显示全部楼层

thank you very much!

 楼主| 发表于 2002-9-20 10:56 | 显示全部楼层

我还不太明白,再想请问一下怎样我才能得到AcDb2dVertex& vert?

不好意思 leeyeafu 给我的AcGePoint3d AcDb2dPolyline::vertexPosition(const AcDb2dVertex& vert) const;函数。我看了帮助还是不会用。想再请问一下。const AcDb2dVertex& vert是不是已知的顶点?这个函数的返回值是一个AcGePoint3d还是一个AcGePoint3dArrary?
我是在做一个多义线的反应器,用到void
AsdkObjectToNotifyer::modified(const AcDbObject* pObj)
{
AcDb2dPolyline *pLine = AcDb2dPolyline::cast(pObj);
//--------
现在我想得到pline的起点和终点坐标
却不知道怎样做?
另外如果我想把一个已知圆心和多义线的起点联系起来。用
AcGePoint3d q = pCircle->center();
AcGePoint3dArray vertices;
   vertices.append(q);
       
pLine->appendVertex(vertices);
  怎样才能保证q一定是和起点联系的呢?
发表于 2002-9-20 13:01 | 显示全部楼层

AcDb2dVertex是AcDb2dPolyline的子实体(Subentity)对象

开始我没明白你的意图,AcDb2dPolyline::vertexPosition()返回的是AcGePoint3d对象。要获取AcDb2dVertex 对象,需使用AcDb2dPolyline子实体读写函数(Subentity Access Functions)。
用pLine->appendVertex(); 可以添加顶点,但你的程序中参数使用不对。应该是这样:
AcGePoint3d *q = pCircle->center();
AcDb2dVertex *pVertex=new AcDb2dVertex(q);
pLine->appendVertex(pVertex);
这样一个已知圆心和多义线的终点联系起来了。
如果想把一个已知圆心和多义线的起点联系起来,要用到AcDb2dPolyline::vertexIterator();顶点浏览器函数。
 楼主| 发表于 2002-9-20 15:30 | 显示全部楼层

不好意思,请问怎样使用AcDb2dPolyline子实体读写函数?或哪有参考的例子?

谢谢,这方面的书籍真的很难找。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-10 03:51 , Processed in 0.133195 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表