找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 866|回复: 10

[求助]:怎么样获得一直线的id等信息啊?

[复制链接]
发表于 2006-3-23 11:04:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
用arx 编
用鼠标点一直线就能得到他的id  起点等数据啊
急..........
问了好几次了,我实在是搞不定啊,帮帮忙啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-3-23 12:18:24 | 显示全部楼层
ads_name entres,
if( RTNORM==acedEntSel("选择直线\n",entres,NULL) )
{
       acdbGetObjectId..
        acdbOpenAcDbObject...
       isKindOf(AcDbLine::desc() )
       AcDbLine* pLine =.....
       pLine->Id,startPoint,endPoint......
      pLine->close()
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-3-23 12:18:38 | 显示全部楼层
AcGePoint3d pt0,pt1,pt2;
  double winLen;
  ads_name ssname,eLine;
  char sbuf[10];
  struct resbuf rb;
  int ret;
  long setLen;
  AcDbLine* pLine;
  AcDbObjectId eId;

  rb.restype=0;
  strcpy(sbuf,"LINE");
  rb.resval.rstring=sbuf;
  rb.rbnext=NULL;
  winLen=5;
  acedGetPoint(NULL,"\n请确定选择点",asDblArray(pt0));
  acutPolar(asDblArray(pt0),pi/4,winLen,asDblArray(pt2));
  acutPolar(asDblArray(pt0),pi*1.25,winLen,asDblArray(pt1));
  ret=acedSSGet("C",asDblArray(pt1),asDblArray(pt2),&rb,ssname);
  if(ret!=RTNORM) return;
  acedSSLength(ssname,&setLen);
  if(setLen==0) return;
  acedSSName(ssname,0,eLine);
  acdbGetObjectId(eId,eLine);
  acdbOpenAcDbEntity((AcDbEntity*&)pLine,eId,AcDb::kForRead);
  pt1=pLine->startPoint();//得到起点
  pt2=pLine->endPoint();//得到终点
  pLine->close();
  AfxMessageBox("得到了起点和终点");
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 15:18:18 | 显示全部楼层
谢谢了
用先  呵呵
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-3-27 09:49:44 | 显示全部楼层
看了有收获~~
顺便问个小问题,起点为STARTPOINT 那圆心呢?是CENTER吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-3-27 11:38:06 | 显示全部楼层
这个Arx助手在编写代码时完全可以提示的呀,应该是的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-3-27 11:39:47 | 显示全部楼层
有收获!谢谢各位高手!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-27 22:00:38 | 显示全部楼层
我已经可以获得了,但是又遇到了新问题了(我把2 和3楼的都用了些,呵呵.再次谢谢他们了)
怎么样获得多条直线啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-3-27 23:12:07 | 显示全部楼层
就这样用啊,如果你选取的位置有多条直线,系统是根据实体内部排利顺序的到最上面的一条线的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-3-28 10:34:21 | 显示全部楼层
AcGePoint3d pt1,pt2;
  ads_name ssname,eLine;
  char sbuf[10];
  struct resbuf rb;
  int ret;
  long setLen;
  AcDbLine* pLine;
  AcDbObjectId eId;
  CString LineNoStr;

  rb.restype=0;
  strcpy(sbuf,"LINE");
  rb.resval.rstring=sbuf;
  rb.rbnext=NULL;
  acedGetPoint(NULL,"\n请确定第一选择点",asDblArray(pt1));
  acedGetCorner(asDblArray(pt1),"\n请确定第二选择点",asDblArray(pt2));
  ret=acedSSGet("C",asDblArray(pt1),asDblArray(pt2),&rb,ssname);
  if(ret!=RTNORM) return;
  acedSSLength(ssname,&setLen);
  if(setLen==0) return;
  for(int i=0;i<setLen;i++)
  {
    acedSSName(ssname,i,eLine);
    acdbGetObjectId(eId,eLine);
    acdbOpenAcDbEntity((AcDbEntity*&)pLine,eId,AcDb::kForRead);
    pt1=pLine->startPoint();//得到起点
    pt2=pLine->endPoint();//得到终点
    pLine->close();
    LineNoStr.Format("%d",i);
    AfxMessageBox("得到了起点和终点 当前的直线序号"+LineNoStr);
  }
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-29 15:23:22 | 显示全部楼层
谢谢
请问我已经获得一实体的  名称或id  怎么能知道他到底是 *直线*还是*圆弧*呢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-23 08:26 , Processed in 0.363325 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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