找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 139|回复: 0

[每日一码] AcDbEntity::getOsnapPoints()函数例子代码

[复制链接]

1

主题

0

回帖

43

积分

管理员

积分
43
发表于 2024-3-14 20:13:04 | 显示全部楼层 |阅读模式
  1. static void test(void)
  2. {
  3.         ads采用name ent;
  4.         AcGePoint3d pickPt(0, 0, 0);
  5.         if(acedEntSel(采用T("/n请选择圆、圆弧或椭圆对象:"), ent,
  6.                 asDblArray(pickPt)) != RTNORM)
  7.         {
  8.                 return;
  9.         }
  10.         AcDbObjectId entId;
  11.         acdbGetObjectId(entId, ent);
  12.         AcDbEntity *pEnt;
  13.         acdbOpenAcDbEntity(pEnt, entId, AcDb::kForWrite);
  14.         pEnt->close();
  15.         AcGePoint3dArray snapPts;
  16.         AcDbIntArray geomIds;
  17.         pEnt->getOsnapPoints(AcDb::kOsModeCen, 0, pickPt, pickPt,
  18.                 AcGeMatrix3d::kIdentity, snapPts, geomIds);
  19.         for(int i = 0; i < snapPts.length(); i++)
  20.         {
  21.                 acutPrintf(采用T("/n您点取的点是: %.4f, %.4f, %.4f"), pickPt.x,
  22.                         pickPt.y, pickPt.z );
  23.                 acutPrintf(采用T("/n您捕捉到的点是: %.4f, %.4f, %.4f"), snapPts[0].x,
  24.                         snapPts[0].y, snapPts[0].z );
  25.         }
  26. }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2025-1-11 01:48 , Processed in 0.292913 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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