问题标签 [revit-api]

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 回答
1027 浏览

c# - Revit API 获取 OST_Viewers 和 OST_Level 类型的坐标

我需要找到坐标OST_ViewersOST_Level类型。我用这段代码得到它们:

我试图Location为他们使用该属性,并将其转换为LocationPoint,但它总是返回null。我应该使用什么方法进行坐标?

0 投票
5 回答
2287 浏览

c# - Revit API 代码单元测试

是否可以在不运行 Revit 的情况下创建我自己的 Revit API 代码的单元测试,该代码与 Revit DB 模型交互。

如果是这样,如何实现。

0 投票
1 回答
4256 浏览

revit - 在revit api中查找基点的坐标

我创建了一个插件来计算网格之间的交点。交点计算的坐标使用基点位置作为坐标的原点。我想将坐标转换为测量点位置。我尝试使用以下代码获取基点的坐标:

我想使用基点坐标来调整我在交点计算中找到的坐标,以使用测量点作为原点。但我不知道如何使用基点的值来调整坐标。似乎基点中的值不是使用测量点作为原点,而是可能是内部坐标。或者我可能误解了基点中的值。有什么我可以尝试的指针吗?

0 投票
1 回答
453 浏览

c# - 取消和完成按钮的 Revit API 2012 事件处理程序

在创建模型组或地板时,我需要事件来捕捉 Revit 中的完成和取消按钮。下图显示了按钮。这些动作有事件吗?

Revit 2012 按钮

0 投票
1 回答
938 浏览

revit - 如何在不重新启动的情况下构建 Revit 应用程序

有谁知道如何构建 .NET C# Revit 应用程序而不必每次都重新启动 Revit?这适用于 REVIT MEP 2013。

0 投票
1 回答
361 浏览

c# - 使用 Revit API 的 BDD/TDD

我的问题与这个问题有关,但我以某种方式更进一步并使用 nunit 实现了一个测试框架。

当我在 Revit 中运行测试框架插件时,测试框架会以某种方式锁定测试程序集,从而无法重新编译测试程序集。为了解决这个问题,我尝试制作一个影子副本,以便 nunit 测试运行器在复制的程序集上运行。但是一旦我第一次运行测试,后续的测试运行就不能在更新的副本上运行。这就像测试运行器缓存 dll 并总是尝试在缓存的副本上运行测试。

所以每次更新测试程序集时,我都需要关闭重新打开 Revit 来运行测试,这真的很痛苦。我为 Revit 实施测试框架的主要原因是能够使用 Revit API 进行 BDD/TDD。

这是我如何运行测试的代码片段:

有谁知道如何解决这个问题?

0 投票
1 回答
1527 浏览

revit - 在 Revit API 中从文件插入视图

有没有办法使用 Revit API 从文件中插入视图?我正在使用 Revit 2013 API。它需要与下面的功能相同。这是Autodesk Revit API 论坛上的一个类似问题。

从文件插入视图

0 投票
2 回答
5009 浏览

c# - 如何使用 Revit API 获取 Revit 文件版本?

在 Revit API 中,我知道我可以获得当前正在运行的 Revit 实例的版本 ( ControlledApplication.VersionBuild, ControlledApplication.VersionName, ControlledApplication.VersionNumber)。但是,我想在打开 Revit 文件之前获取它本身的版本。这样,当用户在较新版本的 Revit 中打开较旧的 Revit 文件时,我可以停止自动升级对话框。我正在使用 Revit 2013 并期待 2011、2012 和 2013 的文件。

类似的 Autodesk 讨论组问题
构建编码器

0 投票
2 回答
1375 浏览

c# - 在 Revit API 中获取墙布鲁托区域

我正在尝试使用 Revit API 获取墙布鲁托区域。然而,我唯一得到的是 netto 区域。

我正在使用删除墙并还原更改以确定放置在墙上的所有元素的方法。然后,我从 ElementSet 中删除墙的 id,在变量中获取 HOST_AREA_COMPUTED 的值并再次恢复更改。然而,结果是墙网区域:(参数或墙是否需要重新加载?或者可能有更简单的方法来获取 brutto 区域?任何帮助将不胜感激,因为我找不到与该问题相关的任何内容。 提前致谢!

0 投票
2 回答
399 浏览

c# - 访问维度的上、下、后缀和前缀属性时出现 AccessViolationException

在 Revit 2013 中,我正在制作将尺寸从一个绘图视图复制到另一个绘图视图的工具。我已经可以正确创建一个新版本的维度,包括CurveDimensionType和 ,References但是我在使用属性AboveBelowPrefix和时遇到了问题Suffix。如果其中至少一个具有价值,它们就可以很好地复制。但是,如果它们都没有值,那么AccessViolationException当我尝试访问它们时它会抛出一个。我试图捕获该异常,但它冒泡并导致 Revit 崩溃(我假设它是由失败的本机代码引起的)。

当我在不触发此复制的情况下进行复制时,如何检查这些属性是否有任何价值AccessViolationException

Autodesk 讨论组问题

该类DimensionData是我自己的,用于存储维度信息,以便可用于在单独的文档中创建维度。