问题标签 [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.
c# - 从 C# 修改打印机默认设置
这是我的情况:
- 我正在为第 3 方程序开发 C# 插件
- 该程序 (Revit) 使用自己的打印方法并通过其 API 公开它们
- 我正在编写一个打印实用程序,它使用这些方法打印到各个位置,包括 PDF 打印机
- 我正在使用 PDF995 作为打印机并修改其 .ini 文件以使其自动化。
- 基本上,我在 API 中调用 print 方法,将活动图形打印到指定的打印机。
我的问题是,在 PDF995 上,如果您转到 Windows 中的打印首选项,则方向默认设置为“纵向”。我需要风景。这些设置似乎覆盖了我在 Revit API 中设置的任何内容,因此我需要一种更改 Windows 设置的方法。
我试过这段代码:
在调用 API 中的 print 函数之前,但它没有区别。我也看不到编辑 pdf995 ini 来设置这些设置的方法。这是我需要覆盖的 Windows 设置。
我在网上看到了一些 C++ 代码,我可以调用它来处理打印机,但找不到更改默认设置的示例。
谁能指出我正确的方向?
c# - 使用 Revit Api 放置库零件
我正在使用 Revit API 导入族符号。下面的代码虽然可以将族加载到 Revit 中,但您必须手动将其从族树中拖动或使用相关的族工具插入。
我如何让它达到询问用户他们想要放置它的位置的程度?(类似于在编辑族时单击“加载到项目”),因此他们不必从族树中拖动它。
c# - 如何根据 C# 中缺少的属性生成编译器错误?
我为 Revit Structure API 创建了许多加载项。每个工具都必须有一个实现接口 IExternalCommand 的类。
在最新版本的 Revit 中,要使您的工具正常工作,您需要在实现该接口的类上具有两个属性:
[再生(RegenerationOption.Manual)] [事务(TransactionMode.Automatic)]
括号中的值可以改变,但一定有一些东西。我经常发现自己忘记设置属性,然后在运行时崩溃。Visual Studio 2010 中是否有任何方法可以添加编译器警告或错误,说明如果您的类实现了该接口,则它必须具有这两个属性?如果有帮助,我会重新整理。
谁能指出我正确的方向?
c# - Visual Studio 中的远程调试:符号文件与模块不匹配
我一直在网上搜寻这个问题的答案,但所有其他建议都不起作用。
我有一个 C# .net 3.5 dll,它是另一个程序的插件。当用户按下某个按钮时,程序会调用 dll。我的工具出现与用户计算机的特定设置相关的错误(在我的计算机上不可重复),因此我想对其进行远程调试。
我在远程 PC 上设置了调试工具(2010,但也尝试在 VS 2008 中获得相同的结果),并运行我的 DLL。然后我转到调试>附加到进程,选择远程PC,选择托管我的dll的exe'Revit.exe',它附加正常。但是我不能设置任何断点或任何东西,因为它说没有加载任何符号。(红色未填充的圆圈,带 /!)
我打开模块窗口,右键单击我的 DLL 'PLT2.dll' 并尝试从符号路径加载符号,我选择位于 DLL 旁边的网络驱动器上的 PDB 文件,它说它没有匹配模块。
根据我在网上找到的建议,我尝试了以下建议:
- 检查代码未设置为优化,并且输出调试信息设置为完整。
- PDB 文件肯定与 DLL 匹配,我将它们全部删除,然后重新构建它。
- 两台计算机上的符号路径相同
- 启用只是我的代码
有人对我能做什么有任何想法吗?
c# - Revit MEP 2011 C# 遍历所有设备
我想遍历绘图中的所有设备并获取设备的名称。
这是我所拥有的:
foreach
我在循环中收到以下错误:
无法将类型“Autodesk.Revit.DB.Element”转换为“Autodesk.Revit.DB.Electrical.ElectricalEquipment”
有什么建议么?
c# - 如何在 Revit 中遍历视图?
我对 Revit 软件和编程都很陌生。我认为整个 API 和礼仪都是真正的非本能迷宫。我搜索了很长时间,我发现了如何获取当前视图或如何添加视图,但是我无法获取项目中所有视图的列表。
任何人都可以指出我需要哪些 API?
c# - 如何在 Revit 中获取所有参数选择?
有一个元素的参数有 5 个选项(组合框的样式)。我知道如何获取当前选定的选项,但有没有办法检索其他 4 个选项?
.net - System.BadImageFormatException 尝试加载格式不正确的程序
我正在为另一个基于公共 .NET API 的程序编写插件。通常,这些插件是通过创建引用 API 程序集的类库 DLL 来制作的。然后通过从 API 程序集中的基本命令类继承来创建命令类。然后应用程序被设置为引用插件 DLL 文件,然后还负责在用户请求时实际启动自定义命令类。
但是,现在我正在尝试通过 自动生成一些代码System.CodeDOM
,并希望创建一个简单的控制台应用程序,该应用程序根据 API 程序集中的类型自动生成新的类类型。
然而,当我尝试运行我的应用程序时,出现以下异常。
System.BadImageFormatException 未处理消息:无法加载文件或程序集“RevitAPI,版本=2011.0.0.0,文化=中性,PublicKeyToken=null”或其依赖项之一。试图加载格式不正确的程序。
通常我需要将插件程序集的目标框架设置为3.5。然而现在我发现如果我将控制台应用程序的目标框架设置为 2.0,上述错误就会消失。但是,我的控制台应用程序已经引用了我的其他目标框架设置为 3.5 的类库。而且我真的不想围绕 2.0 框架重写它们。
plugins - 使用 Revit API 的高级传输项目标准功能
我想使用 Revit API 创建 Revit 插件,以便在多个 Revit 项目之间传输项目标准。这可以使用 Revit API 吗?
revit - Revit 族和过滤图元
我需要按系列过滤选定的元素。
我们有一个木梁族,我只需要修改属于木梁族的选定元素。我在网上查看过,但找不到任何可以告诉我如何操作的东西。我是新来的。