乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: gswang

[编程交流] 自定义实体问题

[复制链接]

26

主题

113

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
217
发表于 2010-8-22 10:36:04 | 显示全部楼层
您是否覆盖 subTransformBy() 或 transformBy() ?
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-8-23 09:39:32 | 显示全部楼层
参考polysamp示例,我重写了我的程序,从AcDbCurve派生,然后entget数据列表达到了我想要的结果。感谢大家!
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-9-12 09:16:43 | 显示全部楼层
如何在自定义实体中创建 AcDbWipeout?
我搜索了一些代码,但它不起作用。
  1. Adesk::Boolean CMyGcd::subWorldDraw (AcGiWorldDraw *mode) {
  2.         assertReadEnabled () ;
  3.         //return (AcDbCurve::subWorldDraw (mode)) ;
  4.         Acad::ErrorStatus es;
  5.     //......
  6.         //wipeout
  7.         es = AcDbWipeout::createImageDefinition();
  8.         AcDbWipeout *pWipe = new AcDbWipeout();
  9.         if(pWipe == NULL) return (Adesk::kFalse);
  10.         pWipe->setDatabaseDefaults();
  11.         AcGePoint3d originPnt;
  12.         getTextPosition(originPnt);
  13.         AcGeVector3d Udirection(1,0,0);
  14.         AcGeVector3d Vdirection(0,-1,0);
  15.         pWipe->setOrientation(originPnt,Udirection,Vdirection);
  16.         // Set the clip boundary for the wipeout - this is very important
  17.         AcGePoint2dArray *ptArray = new AcGePoint2dArray(5,5);
  18.         AcGePoint3dArray vertexArray;
  19.         es = getExtentsBox(vertexArray);
  20.         AcGePoint2d p0,p1;
  21.         p0 = AcGePoint2d(vertexArray[0].x,vertexArray[0].y);
  22.         p1 = AcGePoint2d(vertexArray[1].x,vertexArray[1].y);
  23.         
  24.         //AcGePoint2dArray ptArray;
  25.         ptArray->append(p0);
  26.         ptArray->append(AcGePoint2d(p1.x,p0.y));
  27.         ptArray->append(p1);
  28.         ptArray->append(AcGePoint2d(p0.x,p1.y));
  29.         ptArray->append(p0);
  30.         pWipe->setDisplayOpt(AcDbRasterImage::kTransparent,Adesk::kTrue);
  31.         pWipe->setDisplayOpt( AcDbRasterImage::kShow, true);
  32.         es = pWipe->setClipBoundaryToWholeImage();
  33.         es = pWipe->setClipBoundary(AcDbRasterImage::kPoly,*ptArray);
  34.         pWipe->worldDraw(mode);
  35.         //mode->geometry().draw(pWipe);
  36.         delete pWipe;
  37.         pWipe = NULL;
  38.         //...
  39.         return (Adesk::kTrue);
  40. }
回复

使用道具 举报

19

主题

53

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
129
发表于 2010-9-13 03:32:36 | 显示全部楼层
以这种方式是不可能做到的。有一个示例代码是 ADN 站点。相信我。尝试使用孵化或实体。这比创建硬指针和反应器来清除自定义实体中的对象要容易得多。PS:试着解释一下,你打算用wipeout做什么?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-2 00:13 , Processed in 1.062177 second(s), 59 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表