设为首页收藏本站

投资BIM

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 48715|回复: 29
打印 上一主题 下一主题

可以用C++来二次开发Revit吗

[复制链接]
跳转到指定楼层
楼主
发表于 2016-10-28 09:41:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
可以用C++来二次开发Revit吗

许多朋友原来用C++开发AutoCAD,或对C++很熟悉,但是没有发现RevitSDK 提供C++的例子工程,因此很想了解是否可以用C++来开发Revit。

特写此文来回答大家的疑问。

Revit提供的应用程序开发接口(API)是.NET 类型的,只要支持.NET Framework 的语言都是可以的。 显然C#, VB.NET 是支持的,托管C++ 是支持.NET framework, 所以也是可以用来开发Revit。

在Revit API的帮助文档中,对每一个接口方法或属性,都会列出托管C++的签名。如下所示:

[csharp] view plaincopy
Syntax  
C#   
public static ViewSchedule CreateKeySchedule(  
     Document document,  
     ElementId categoryId  
)  

Visual Basic   
Public Shared Function CreateKeySchedule ( _  
     document As Document, _  
     categoryId As ElementId _  
) As ViewSchedule  
[csharp] view plaincopy
Visual C++   

public:  
static ViewSchedule^ CreateKeySchedule(  
     Document^ document,   
     ElementId^ categoryId  
)  

一个托管C++开发的代码片段:

下面是头文件中的Revit命令类的声明

[cpp] view plaincopy
//   
public ref class Command : public Revit::IExternalCommand {  
   public:  
     virtual Revit::IExternalCommand::Result Execute(Revit::ExternalCommandData^ commandData, String^% message, Revit::ElementSet^ elementSet);  
};  

下面是该类实现代码
[cpp] view plaincopy
#include "stdafx.h"  

#include "DistribApp2.h"  

Revit::IExternalCommand::Result DistribApp2::Command::Execute(Revit::ExternalCommandData^ commandData, String^% message, Revit::ElementSet^ elementSet) {  

   // 栠傝抣  
Revit::IExternalCommand::Result retCommand = Revit::IExternalCommand::Result::Succeeded;  

   // CompA  
   DistribApp2::CompA^ objCompA = gcnew DistribApp2::CompA();  
   objCompA->ShowMsg();  

   return retCommand;  
}  

但是纯C++的模式没有,也就是没有提供头文件(*.h)和库文件(*.lib) 这种方式来开发Revit。

所以看看托管C++ 的一些资料后,就可以继续利用你的C++语言的长处来开发Revit。

不同语言所具有的Revit二次开发能力是一样的,没有区别。

C#是一种用起来非常方便的语言,掌握C++的程序员很快可以掌握。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
回复

使用道具 举报

沙发
发表于 2017-8-4 09:56:49 | 只看该作者
回复 支持 反对

使用道具 举报

板凳
发表于 2017-8-4 14:46:17 | 只看该作者
回复 支持 反对

使用道具 举报

地板
发表于 2017-8-4 17:09:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

5#
发表于 2017-8-5 02:52:34 | 只看该作者
回复 支持 反对

使用道具 举报

6#
发表于 2017-8-5 10:07:14 | 只看该作者
回复 支持 反对

使用道具 举报

7#
发表于 2017-8-5 10:56:14 | 只看该作者
回复 支持 反对

使用道具 举报

8#
发表于 2017-8-5 11:41:07 | 只看该作者
回复 支持 反对

使用道具 举报

9#
发表于 2017-8-5 17:44:04 | 只看该作者
回复 支持 反对

使用道具 举报

10#
发表于 2017-8-5 18:08:38 | 只看该作者
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|投资BIM ( 京ICP备16007407号-1   

GMT+8, 2024-11-22 19:08 , Processed in 0.136407 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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