问题标签 [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 回答
4256 浏览

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

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

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

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是我自己的,用于存储维度信息,以便可用于在单独的文档中创建维度。

0 投票
2 回答
1417 浏览

c# - 设置 ViewSheetSetting.InSession.Views 属性

有没有人处理过设置InSession.Views属性?我遇到的问题是,当我在打开文档后立即设置以下属性时,它不起作用(即视图大小仍然为 0,即使viewSet有 4 个项目)。

但是在使用中的打印对话框修改会话中视图/工作表集revit之后,我可以分配给它。

有谁知道为什么?

0 投票
1 回答
762 浏览

c# - 同步或重新加载后更改的 Revit API 2013 文档看不到新添加或更改的元素

我在两台不同机器上使用中央文件模型和两个本地文件时遇到问题。当我在一台机器上添加一个元素,进行同步然后在另一台机器上重新加载时,API 看不到这个带有 DocumentChanged 事件的新添加元素。

这是代码:

在此代码之后,我立即执行以下操作:

问题是,对于已删除的元素,它可以完美地工作(在重新加载之后),但对于修改和添加的元素,它什么也不做。

在本地文件中添加或修改元素时,该代码可以完美运行,但这不是我所需要的。我需要处理将这些更改同步到中央文件的其他用户修改和添加的元素。

有谁知道我做错了什么,或者也许有其他方法可以做到这一点?

0 投票
1 回答
520 浏览

revit - 检查 Revit 是否已准备好关闭

首先,我为任何拼写错误等道歉。英语不是我的第一语言 :)

我已经为 Revit 编写了一个插件,现在正在为插件进行自动更新。我已经对更新进行了排序,但我偶然发现了一个小问题。

我正在检查 Revit 启动时的更新(当 Revit 创建插件应用程序时)

如果有可用更新,我会向用户显示一条消息,询问他/她是否想要更新。如果是,我想为他们关闭 Revit 并开始更新。

问题是此时 Revit 还没有完成自身加载,如果我以编程方式关闭它,它会抛出一个错误,因为它还没有准备好再关闭 5 秒。

可以解决我的机器上的问题,但不一定会解决用户的问题,所以我需要一种方法来检查 Revit 是否准备好关闭(处于允许关闭的状态)。

所以问题是:有没有办法检查 Revit 是否可以关闭?有没有人遇到过这样的问题并解决了?

(我知道当用户关闭 Revit 时我可以检查更新,但这并不理想......

有任何想法吗?