乐筑天下

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

用Bricscad推翻样品

[复制链接]

6

主题

46

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2011-10-30 09:44:43 | 显示全部楼层 |阅读模式
只是一个用Bricscad和Drx 3.05(后来改名为Tx)快速否决样本。
display cords图层上的点被否决以显示它们的坐标。
请参阅代码、图片和附件
appload DrxOverrule.tx以运行
  1. bool OverRuleSample::onFilteredLayer(const OdDbPoint *point) const
  2. {
  3.     if(point)
  4.     {
  5.         OdDbLayerTableRecordPtr pLayer = point->layerId().safeOpenObject();
  6.         return _tcsicmp(pLayer->getName(),_T("DisplayCords")) == 0;
  7.     }
  8.     return false;
  9. }
  10. double OverRuleSample::getTextHeight(const OdDbPoint *point) const
  11. {
  12.     if(point)
  13.     {
  14.         const OdDbDatabase * pDatabase = point->database();
  15.         OdDbTextStyleTableRecordPtr pStyle = pDatabase->getTextStyleStandardId().safeOpenObject();
  16.         return pStyle->textSize();
  17.     }
  18.     return 0.0;
  19. }
  20. bool OverRuleSample::worldDraw( const OdGiDrawable *drawable, OdGiWorldDraw *wd )
  21. {
  22.     OdDbPoint *point = OdDbPoint::cast(drawable);
  23.     if(point && onFilteredLayer(point))
  24.     {
  25.         const double tsize = getTextHeight(point);
  26.         const OdGePoint3d pnt = point->position();
  27.         m_text.format(_T("X=%f Y=%f Z=%f"),pnt.x,pnt.y,pnt.z);
  28.         wd->geometry().text(pnt,point->normal(),point->normal().perpVector(),tsize,tsize*m_text.getLength(),0.0,m_text);
  29.     }
  30.     return OdGiDrawableOverrule::worldDraw(drawable,wd);
  31. }
  32. bool OverRuleSample::isApplicable( const OdRxObject* pOverruledSubject ) const
  33. {
  34.     return true;
  35. }


hd1tme02qaz.PNG

hd1tme02qaz.PNG

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

11

主题

85

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
129
发表于 2011-10-31 19:37:51 | 显示全部楼层
酷!看起来对我来说几乎很容易理解。你玩过这些覆盖吗,足以知道是否有很大的性能提升?
我真的不明白isApplication...我必须玩它,看看我是否能弄清楚。
谢谢丹尼尔...
回复

使用道具 举报

11

主题

85

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
129
发表于 2011-11-2 09:01:01 | 显示全部楼层
嗨,Greg,
我没有做过任何基准测试,但我敢打赌否决本身真的很快。我的示例可能不会太快,因为我打开了几个记录来获取图层和文本高度。这些当然可以被缓存。丹
回复

使用道具 举报

11

主题

85

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
129
发表于 2011-11-4 23:36:06 | 显示全部楼层
好的
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 14:47 , Processed in 0.219649 second(s), 65 queries .

© 2020-2025 乐筑天下

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