乐筑天下

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

DRX指挥班

[复制链接]

46

主题

261

帖子

8

银币

后起之秀

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

铜币
445
发表于 2008-5-19 08:44:45 | 显示全部楼层 |阅读模式
这是DRX中命令类的一个示例。一个巧妙的特性是执行方法获取一个工作数据库的实例,它还传递一个IO类的实例,因此您可以随时访问GetXXX()、Prompt方法等。几乎所有东西都使用智能指针,因此您不必担心清理。
一旦您设置了命令类,只需在您的切入点类中定义它

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

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

使用道具 举报

46

主题

261

帖子

8

银币

后起之秀

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

铜币
445
发表于 2008-6-1 12:17:46 | 显示全部楼层
命令类的另一个示例,并使用OdDbUserIO类获取选择集。
  1. //++-- class CommandLAYCUR -----------------------------------------------
  2. class CommandLaycur : public OdStaticRxObject
  3. {
  4. public:
  5.   const OdString localName() const { return globalName(); }
  6.   const OdString groupName() const { return DD_T("DRXLayerIso"); }
  7.   const OdString globalName() const { return OdString("LAYCUR"); }
  8.   //++--
  9.   void execute(OdEdCommandContext* pCmdCtx)
  10.   {
  11.     OdDbCommandContextPtr pDbCmdCtx(pCmdCtx);
  12.     OdDbUserIOPtr pDbIO = pDbCmdCtx->dbUserIO();
  13.     OdDbDatabasePtr pDb = pDbCmdCtx->database();
  14.     OdDbObjectId clayerId = pDb->getCLAYER();
  15.     //++-- Get the selection set using the OdDbUserIO class
  16.     //++-- you can iterate through the seletion set or
  17.     //++-- use the objectIdArray() method
  18.     //++-- note: the ids in the array are guaranteed to be valid  
  19.     OdString message = "\nSelect object(s) to be changed to the current layer: ";
  20.     OdDbSelectionSetPtr pSelectionSet = pDbIO->select(message);
  21.     OdDbObjectIdArray objectIdArray = pSelectionSet->objectIdArray();
  22.     for (unsigned int i = 0 ; i setLayer(clayerId);
  23.     }
  24.     pDbIO->putString(_T("\nDone!"));
  25.   }
  26. };

回复

使用道具 举报

46

主题

261

帖子

8

银币

后起之秀

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

铜币
445
发表于 2008-6-5 23:22:30 | 显示全部楼层
伟大的丹尼尔!
我下载了DrxSDK_2.04,但没有找到DrxWizards.msi,我如何运行您的样本?我必须再次设置VC2005吗?
谢谢!!!
我很蠢
VC2005+ARX2009+DrxSDK_2.04+CAD2009
回复

使用道具 举报

46

主题

261

帖子

8

银币

后起之秀

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

铜币
445
发表于 2008-6-5 23:27:02 | 显示全部楼层

我用的是VS2005,DRXSDK_20.5,一直在Bricscad上运行应用程序8.2.XXX
我觉得欧特克产品目前还不支持DRX
回复

使用道具 举报

46

主题

261

帖子

8

银币

后起之秀

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

铜币
445
发表于 2008-6-5 23:36:31 | 显示全部楼层
这是一个模板项目的开始,如果你想看看
$(DRXINC)// drx包括文件夹
$(DRXLIB)// drx VC8 lib folder
$(BRISDS) // Bricscad /API/SDS文件夹
回复

使用道具 举报

46

主题

261

帖子

8

银币

后起之秀

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

铜币
445
发表于 2008-6-6 00:23:25 | 显示全部楼层
丹尼尔,非常感谢!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-6 07:00 , Processed in 0.171821 second(s), 64 queries .

© 2020-2025 乐筑天下

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