Loading

Loading

合集-Revit二次开发

摘要:最近有个需求就是将动态将当前文档中的线样式绘制出来,并且显示在自己的UI上。查阅了一下api文档以及吉米大佬的博客,并且这篇博客中受到启发 填充样式绘制 然后自己琢磨了一下,成功将线样式绘制出来了。 但是目前有个问题就是圆点我在dash pattern里面设置的是1f的单位,如果图片放大看的话是个小 阅读全文
posted @ 2023-08-01 11:20 热情定无变 阅读(398) 评论(0) 推荐(1)
摘要:在族环境中获取当前族的所有族类型以及族类型对应的所有参数和参数值。直接上代码~ public override Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { var 阅读全文
posted @ 2023-07-30 14:58 热情定无变 阅读(583) 评论(0) 推荐(0)
摘要:在族环境里面绑定共享参数,并且用户在属性面板不可修改参数值 [Transaction(TransactionMode.Manual)] public class SharedParameters : IExternalCommand { private readonly string _deskto 阅读全文
posted @ 2023-07-18 17:11 热情定无变 阅读(348) 评论(0) 推荐(0)
摘要:在Revit二次开发工作中,或许会用对Curveloop的放大、缩小、偏移等操作。我们查阅开发手册就可以发现Curveloop这个类提供了Transform这个实例方法,有了这个方法我们对Curveloop进行一些操作,下面是一个简单的Demo,通过放大缩小创建了三块楼板。 protected ov 阅读全文
posted @ 2023-05-25 10:57 热情定无变 阅读(340) 评论(0) 推荐(0)
摘要:最近遇见一个需求,需要删除项目中的项目参数和共享参数。查了Revit SDK,SDK提供了BindingMap这个类来移除共享参数,但是项目参数移除不了。查了很多资料,似乎api没有提供相关接口。于是只能将ParameterElement过滤出来在跟BindingMap里面绑定的参数去对比删除。 p 阅读全文
posted @ 2022-06-10 23:58 热情定无变 阅读(221) 评论(0) 推荐(1)
摘要:要想调用Api清理Revit文件中的未使用的项目,我翻阅了一些资料和文档,截至目前Api也没有直接开放相关接口。在偶然浏览Documnet类的成员的时候 发现了有几个Internal的方法是用来清理未使用项的,要想使用这些方法就只能反射来获取对应的方法去调用。 根据方法的签名就可以猜到每个方法的功能 阅读全文
posted @ 2022-06-13 22:08 热情定无变 阅读(366) 评论(0) 推荐(0)
摘要:最近在查Revit api手册的时候,偶然发现了一个好玩的接口。这个接口用来扩展Revit选项卡的Tab,于是我就自定义了一个拓展的tab。 拓展类如下: TabbedDialogExtension 这个类的构造函数有两个参数 一个是wpf usercontrol控件 这个是用于Revit里面选项卡 阅读全文
posted @ 2023-03-20 17:31 热情定无变 阅读(264) 评论(0) 推荐(1)
摘要:- 利用IUpdater接口实现墙的不自动连接,这个功能从Revit2017开始,官方已经添加了。 - https://github.com/iamlovedit/RevitDevSamples.git 直接上代码: 实现 IUpdater接口 public class WallUpdater : 阅读全文
posted @ 2023-03-20 18:07 热情定无变 阅读(208) 评论(0) 推荐(0)
摘要:今天看到有群员有个需求:在选择的图元的时候 第一次选中后,后面的选中的图元也只能是第一次选中的同类别图元。比如说我第一次选中了门,后面选择的图元也只能是门 直接上代码~ 实现ISelectionFilter接口 ISelectionFilter public class SelectionFilte 阅读全文
posted @ 2023-03-20 18:14 热情定无变 阅读(233) 评论(0) 推荐(0)
摘要:今天在群里看到一位群友有这样的一个需求,需要在插件的非模态窗口Datagrid控件中列出当前视图的所有图元,然后在窗口中选中一项的同时选中Revit中的Element。或者在Revit中选择一个Element,让插件窗口的Datagrid选中该项。这个需求实现的大致思路就是非模态加空闲事件,空闲事件 阅读全文
posted @ 2023-03-20 18:17 热情定无变 阅读(160) 评论(0) 推荐(0)
摘要:封装一个类 用来存储链接关系 internal class LinkTypeModel { public string Name { get; } public ElementId Id { get; } public List<LinkTypeModel> Children { get; set; 阅读全文
posted @ 2022-06-10 23:55 热情定无变 阅读(138) 评论(0) 推荐(0)
摘要:在revit二次开发中,或许会用到用api来关闭当前活动文档已打开的视图。分享一下代码~ [Transaction(TransactionMode.Manual)] public class CloseUIViews : IExternalCommand { public Result Execut 阅读全文
posted @ 2022-06-10 23:48 热情定无变 阅读(168) 评论(0) 推荐(0)
摘要:在Revit二次开发的工作中,或许会遇见这样的需求,根据Id选取Element 但是如果在当前View中未显示该Element 就会出现以下警告对话框,那么Api是否提供了相关接口来处理该对话框呢,答案是肯定的。 public event EventHandler<DialogBoxShowingE 阅读全文
posted @ 2022-06-10 23:42 热情定无变 阅读(272) 评论(0) 推荐(0)
摘要:在revit二次开发中,如果需要用到调用原生功能或者某个插件的功能。我们可以用UIApplication.PostCommand 这个方法来调用一些RevitCommand来实现这个需求。 但是 PostableCommand 这个枚举提供的command id比较少 只有一些常用且原生的Revit 阅读全文
posted @ 2023-09-08 22:25 热情定无变 阅读(750) 评论(0) 推荐(1)
摘要:插件开发属于客户端开发,当我们交付产品给客户的时候,肯定用安装包的形式交付是最佳方案。所以我摸索了一下怎么用Advanced Installer来打包插件安装包。 Advanced Installer简介 Advanced Installer 是一款功能强大且用户友好的 Windows 安装包制作工 阅读全文
posted @ 2024-06-06 17:49 热情定无变 阅读(724) 评论(0) 推荐(0)