问题标签 [revit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1616 浏览

c# - 在两个 Revit 文档之间切换活动视图

我有一个已经在 revit 中打开的文档。AC# 插件被激活并打开一个表单(模式?)。然后实现一个按钮事件来打开一个文档,以将一些大量元素从该文件和文档传输到已经打开的文档。

然后我想将活动文档切换回第一个打开的文档。是否存在实现此目的的 Revit API 方法?

0 投票
2 回答
1365 浏览

parameters - Revit API:创建自定义下拉参数

我的团队正在为 Autodesk Revit 开发一个插件。我们希望为用户提供一个自定义参数(项目或共享),该参数显示在所有(或大多数)结构元素的“属性”面板中,允许用户从一小组预定义值中进行选择。即“枚举”类型的参数。例如,假设我们要添加一个参数,其值可以是“Red”、“Yellow”、“Blue”和“Green”,其含义仅与我们插件的上下文相关。

令我们惊讶的是,这一点也不简单,以至于我还没有找到演示如何做到这一点的代码示例。我认为这在 Revit 世界中是一个罕见的用例。

一个有希望的线索是“家庭类型”参数类型,但目前尚不清楚如何将其用于我们的目的。从另一个论坛帖子中的提及来看,关键时间表也可能会有所帮助。如果有人可以解释如何使用这些机制来达到这个目的,请提供任何和所有建议。

从博客文章中,我了解到,为了方便起见,一个文本参数将显示一个下拉列表,其中包含模型中已经存在的参数的所有值,但这并不能完全解决我们的问题——我们需要用户能够在没有那些已经存在于模型中的值。

一个较小的解决方案是将参数设为整数或文本值,并让用户在必要时手动键入该值。不太理想,部分原因是用户可能键入不正确。我们希望他们能够从下拉菜单中简单地选择我们的预定义值之一。

另一个较小的解决方案是一组是/否参数,每个枚举值一个。如果用户不小心为单个元素选择了多个元素,则会出现问题。

有谁知道如何创建这样一个“枚举”下拉参数?

我们会弄清楚的,但这里的任何帮助都会大大加快研究速度。

0 投票
1 回答
1119 浏览

vb.net - 如何在 Revit 中使用 Element 收集器显示共享参数的值?

在此先感谢您的帮助。我不知道我做错了什么,这变得非常令人沮丧。首先,一点背景...

程序:Revit MEP 2015 IDE:VS 2013 Ultimate

我创建了一个共享参数文件并将该文件中的参数添加到项目参数中。这些参数已应用于 Conduit Runs、Conduit Fittings 和 Conduit。

我正在使用 VB.NET 毫无问题地填充参数。代码运行后,我可以看到元素属性窗口中应用的预期文本。这是用于填充值的代码:

填充:

这是我遇到错误的地方。当我尝试检索该值时,我可以通过参数的定义名称获取参数,但该值始终为空白。这是用于检索的代码...

消息框正确显示了所有参数名称,并且为 Revit 参数提供了一个值。但是,共享参数仅显示参数名称,值始终为空白。还有另一种我应该解决这个问题的方法吗?奇怪的是,如果我像这样使用用户选择的引用,我可以看到共享参数值......

使用上面的方法,当用户直接选择对象时,我可以看到共享参数的值和名称。它们有何不同?

当值设置为开始时,我应该查看某种绑定吗?提前感谢大家的帮助。

问候,格伦

0 投票
0 回答
261 浏览

revit - CopyElements 因 ViewSheet 失败

我试图将一些 ViewSheet 元素从一个文档复制到另一个文档,但我总是得到一个:“复制一个或多个元素失败。”

它与 ViewDrafting 和 ViewSchedule 一起工作正常 - 已经检查了 SDK 上的 DuplicateViews 示例,并且此代码完全基于此。

这是失败的行:

我想知道是否有办法减轻这些 CopyElements 错误,看看我是否遗漏了什么。

0 投票
1 回答
136 浏览

python - 将 Dreampie 与 Revit 一起使用

我是在 Autodesk Revit 上使用 python 的新手。我最喜欢使用 python 的提示是一个名为 Dreampie 的小应用程序。它适用于 python 和 ironPython。 http://www.dreampie.org/

我想知道是否有办法将此应用程序连接到 Revit 而不是 RevitPythonShell(RPS 窗口是模态的,没有 Dreampie 那么多的功能)...

提前致谢

0 投票
1 回答
515 浏览

c# - 在 IExternalApplication.OnStartup 之后将命令动态添加到 Revit 功能区?

IExternalApplication.OnStartup是否可以在执行到 Revit 的功能区面板后动态添加命令?

我在 TheBuildingCoder 上看到了这篇文章... http://thebuildingcoder.typepad.com/blog/2010/03/adding-noncommands-to-the-revit-ribbon.html

..那里的第一个“PS”似乎暗示这是不可能的,但那是在2010年。我想知道是否有任何改变?

我自己一直无法弄清楚。尝试仅执行AddPushButton()我编写的代码会导致: An unhandled exception of type System.Runtime.InteropServices.SEHException' occurred in RevitAPIUI.dll

当放置在IExternalApplication.OnStartup块内时它工作正常,这似乎意味着我需要执行代码以某种事务模式或类似方式添加到功能区面板......或者,这是不可能的:(

任何帮助将不胜感激,谢谢!

0 投票
1 回答
755 浏览

c# - Revit API - 提示用户创建垂直列

我正在为 Revit 2014 编写一个插件。它的一个功能是由用户放置一个垂直列。PromptForFamilyInstancePlacementRevit API 允许用户使用我正在使用的方法放置族实例,如下所示:

此代码Modify | Place structural column在 Revit 应用程序中启用工具。它可以按需要工作,但不允许用户在垂直列和倾斜列之间切换。此选项设置为在运行上面的代码之前设置的任何内容。

我尝试在运行之前设置符号参数PromptForFamilyInstancePlacement

get_Parameter()以上回报null

在提示用户放置列之前,是否有将列类型设置为垂直列的方法?还有一种方法可以预设柱高吗?

0 投票
1 回答
2112 浏览

c# - 如何使用 Revit API 获取视图的图纸编号

我想使用 Revit API 访问“视图视图”的图纸编号。我试图搜索属于视图的参数,但它没有被智能感知列为参数。我可以在文档或项目中看到它是只读的工作表编号参数。

0 投票
0 回答
3404 浏览

php - 将 Revit 模型转换为 JSON for three.js

有人/有人知道使用 php 的方法,特别json_encode()是将 Autodesk Revit 文件转换为 JSON for three.js:

https://github.com/mrdoob/three.js/wiki/JSON-Model-format-3

.. 或新的模型格式 4. 我知道这个网站:

http://www.greentoken.de/onlineconv/

做了很多转换,但不是 Revit。有 vA3C ( https://va3c.github.io/ ) 有插件可以做到这一点,但我真的想要一个使用 PHP 的浏览器内脚本。

0 投票
2 回答
2242 浏览

ios - 如何将 Navisworks(*.nwd) 文件渲染到 IOS

我想将 Navisworks 3D 导航模型导出到我的 iPhone 设备,是否有任何 API 可用于实现此目的。我想创建自己的应用程序来将模型读入 IOS - 类似于 IOS 的 Navisworks Freedom 查看器。

我在互联网上搜索了很多,但找不到任何有用的。