
Revit二次开发
TimeFuture2017
这个作者很懒,什么都没留下…
展开
-
Revit 的Curve 可能是空间上的(不在平面内)
原创 2021-01-04 17:56:20 · 291 阅读 · 0 评论 -
实验Revit调用CAD.net 库 AcDbMgd.dll
Revit的offset函数结果会自交,一些二维图形处理函数并不完善。因此萌生Revit调用CAD的几何库;1、引用AcDbMgd.dll;2、命令函数 [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class TestReduceCommand : IExternalCommand { public Result Execut原创 2020-12-31 10:12:03 · 643 阅读 · 2 评论 -
Revit 调用 CAD的几何库 会出现问题
Revit 调用 CAD的几何库 会出现问题原创 2020-10-28 12:47:55 · 394 阅读 · 0 评论 -
Revit 导出 Json 提示错误
错误内容:error :Error getting value from 'WorksharingCentralGUID' on 'Autodesk.Revit.DB.Document'.修改方法:将Newton.Json 从 12.0.0.0版本 恢复到 9.0.0.1版本。原创 2020-10-27 14:32:41 · 577 阅读 · 0 评论 -
“仅我的代码”警告,你正在调试***的发布版本
解决办法:在VS中【调试】->【选项】->【勾选 启用“仅我的代码”】 (去掉勾选);转载 2020-10-20 16:47:02 · 6090 阅读 · 0 评论 -
revit API 获得 wall 真正 locationCurve
Curve GetWallRealLocationCurve(Wall m_wall) { Curve oldCurve = (m_wall?.Location as LocationCurve)?.Curve; if (oldCurve == null) { return null; } double baseOffset = 0; .原创 2020-10-14 15:59:01 · 642 阅读 · 0 评论 -
Revit 二次开发 设置对话框的句柄为Revit
1、引用dll:Revit 安装目录下的AdWindows.dll2、修改如下代码myDlg dlg = new myDlg(); var windowHelper = new WindowInteropHelper(dlg) { Owner = Autodesk.Windows.ComponentManager.ApplicationWindow ...原创 2020-10-10 14:51:18 · 574 阅读 · 0 评论 -
Revit API 中 offset 外轮廓 CurveLoop
public static CurveLoop GetOffsetResult(CurveLoop clp,double offsetDis) { var dir=clp.GetPlane()?.Normal; if (dir == null) return null; return CurveLoop.CreateViaOffset(clp,offsetDis,dir); }原创 2020-09-29 16:42:30 · 707 阅读 · 0 评论 -
Revit API 判断族 基于面 or 基于主体,判断基于主体的类型
得到这个问题叶老师,想请教一个问题:在项目上布置一个灯具之前,如何判断这个灯具族是基于墙还是基于面的,我查到一个方法,获取族的“主体”参数,代码如下:family.get_Parameter(BuiltInParameter.FAMILY_HOSTING_BEHAVIOR).AsInteger(),它返回的是数值。请问返回的数值准确对应基于的主体吗?这些数值分别代码了什么?或者其他方法。谢谢!答:你基本找到问题的解决办法了:通过获取Family的BuiltInParameter.FAMILY_...转载 2020-09-29 11:23:14 · 506 阅读 · 0 评论 -
Revit API C# 创建 共享参数
public class SharedParameterInfo { public Guid inGuid; public string GroupName; public string OptionName; public ParameterType OptionType; public string OptionDescription; } public class SharedParame...原创 2020-09-22 18:24:46 · 388 阅读 · 0 评论 -
Revit API C# 新建 族实例参数
public class FamilyInstanceParameterInfo { public string ParamName; public BuiltInParameterGroup ParamGroup; public ParameterType ParamType; public bool IsInstance = true; } public class FamilyInstancePara...原创 2020-09-22 17:56:27 · 1062 阅读 · 0 评论 -
Revit族添加数据的方式
1、共享参数(和本项目文件有关,和族文件无关)2、扩展数据(用户不可见)3、实例参数(修改rfa文件,不常用)原创 2020-08-24 14:39:44 · 1058 阅读 · 0 评论 -
Revit开发注意
1、Revit中Solid,使用GetBoudingBoxXYZ时,会得到一个box,这个box有个transform,需要变换后才可以用这个box;2、原创 2020-08-13 15:51:09 · 275 阅读 · 0 评论 -
Revit Solid 分组
SolidUtils.SplitVolumes//可将一个混合solid 自动分组为一个个的闭合solid原创 2020-08-04 11:25:31 · 354 阅读 · 1 评论 -
WPF 窗口置顶
<Window x:Class="XXX_View"Height="230" Width="350" Closing="Window_Closing" Topmost="True">原创 2020-06-05 14:24:17 · 2220 阅读 · 0 评论 -
Addin调试Dll的设置
原创 2020-06-02 14:49:49 · 307 阅读 · 0 评论 -
Revit二次开发 有时需要手动加载dll(使用Add in manager时)
使用Add in manager时,会出现依赖的dll加载不上的问题。Revit二次开发 有时需要手动加载dll(用代码加载dll)。private void LoadLocalDll() { string path = @"D:\XXX\bin\Debug\"; string[] fileNameVec = { @"动态库1", @"动态库2", .原创 2020-05-26 16:32:57 · 1774 阅读 · 0 评论 -
Revit透视可以看到,但是平面看不到
原创 2020-05-19 10:57:28 · 1247 阅读 · 0 评论 -
C# List(T) 转 Dictionary(Key,List(T)) 的LinQ语句
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace TestLinq{ class Level { public Level(int i) { id = i; } public int id; .原创 2020-05-14 14:10:16 · 1036 阅读 · 0 评论 -
Revit获得门的宽度、高度等信息
List<string> nameVec;Element ele;nameVec.Add("族与类型:" + ele.get_Parameter(BuiltInParameter.ELEM_FAMILY_AND_TYPE_PARAM).AsValueString()); var fmIns = ele as FamilyInstance; if(fmIns == null) { .原创 2020-05-09 14:57:24 · 938 阅读 · 0 评论 -
Revit切换语言
1、右键Revit图标,选择“属性”2、修改为ENU3、重启Revit即可。原创 2020-04-30 17:34:53 · 1615 阅读 · 0 评论 -
Revit 二次开发 AddinManager 如何调试
启动revit非常耗时,我们写的revit插件,不必每次编译都需要重新启动revit。采用如下方式,每次编译则不必重启revit,Add-In Manager 则可以自动加载最新的dll。...原创 2020-04-28 12:30:48 · 672 阅读 · 0 评论 -
Revit 二次开发 sdk 获得Addin路径
1、引用RevitAddInUtility.dll;2、加入一下代码:public string GetAddinPath() { IList<RevitProduct> allProducts = new List<RevitProduct>(); allProducts = RevitProduc...原创 2020-03-24 19:02:22 · 374 阅读 · 0 评论 -
C# utc时间获得的问题
C#获得的Utc时间是通过本机时间转换的,所以如果本机时间不准确,那么Utc时间也是不准确的;string strTime = DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss");原创 2020-03-19 15:06:37 · 639 阅读 · 0 评论 -
Revit二次开发的准备
1、revit2019 对应 vs2017 对应 .net 4.7版本原创 2020-03-10 22:51:15 · 317 阅读 · 0 评论 -
Revit二次开发环境配置+HelloWorld
1、安装Revit2019和VS(此步省略);2、Addin文件和dll文件的说明:addin文件其实就是一个类xml文件,里面存储了二次开发的dll,需要将addin文件放入C:\ProgramData\Autodesk\Revit\Addins\2019中,然后将配套的dll文件放入自定义路径,同时修改addin文件中的dll路径为自定义的路径;3、安装Add-In Manager:复...原创 2020-02-06 15:24:11 · 589 阅读 · 0 评论