
Revit二次开发
碧游村王道长
种一棵树最好的机会是十年前,其次是现在!
展开
-
【Revit 二次开发常见问题记录】
新生成的管道会是Origin 和打断位置的这一段,原先的会是剩下那一段。通过设置Dimension的IsLocked属性在隐藏尺寸标注实现约束效果。原创 2022-07-08 11:26:50 · 735 阅读 · 1 评论 -
WPF 窗口句柄激活问题
1.引用Windows user32.dll方法 public static class WindowAPI { #region 窗口聚焦 [DllImport("user32.dll")] public static extern IntPtr GetActiveWindow(); [DllImport("user32.dll")] public static extern IntPtr SetAct原创 2022-03-23 17:38:53 · 567 阅读 · 0 评论 -
Revit Solid相交过滤器使用
1.通过solid信息构建相交过滤器过滤图元public List<Element> GetIntersectsElements(Solid solid, Document doc) { //solid的boundingbox是局部坐标矩阵转换为世界坐标系 Transform transform = solid.GetBoundingBox().Transform; XYZ minSolid = sol原创 2022-02-24 16:31:41 · 542 阅读 · 0 评论 -
Revit 求质心(重心点)
1.获取或构建一个Solid,调用Solid下ComputeCentroid获取质点 Solid roomSolid = GeometryCreationUtilities.CreateExtrusionGeometry(RoomCurveLoops, XYZ.BasisZ, 1); XYZ centroid = roomSolid.ComputeCentroid(); centroid = centroid.NewZ(locat原创 2022-02-24 16:24:50 · 1441 阅读 · 0 评论 -
Revit 平面点排序
1.判断点位置顺时针方向 /// <summary> /// 若a大于点b,即点a在b顺时针方向 ,返回true,否则false /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <param name="center">原创 2022-01-07 15:21:05 · 467 阅读 · 0 评论 -
Revit 开启事务组回滚事务
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { Document document = commandData.Application.ActiveUIDocument.Document; UIApplication uIApplication = commandData.Application;.原创 2021-12-31 16:03:22 · 674 阅读 · 0 评论 -
Revit 创建三维视图做射线
1.创建三维视图/// <summary> /// 创建标注三维视图 /// </summary> /// <param name="doc"></param> private View3D Create3DView(Document doc) { List<Category> categories = new List<Catego原创 2021-12-30 19:32:41 · 376 阅读 · 0 评论 -
Revit获取平面视图参照标高及视图范围
ViewPlan activeView = viewPlan; PlanViewRange pvr = activeView.GetViewRange(); Level NowLevel = activeView.GenLevel;//当前标高 Level TopClipPlaneLevel = doc.GetElement(pvr.GetLevelId(PlanViewPlane.TopClipPlane)) as Level ?.原创 2021-12-23 11:15:31 · 2901 阅读 · 0 评论 -
Revit获取墙平行的面
/// <summary> /// 获取墙平行的面 /// </summary> /// <param name="wall">墙</param> /// <param name="transform">转换矩阵</param> /// <returns></returns> private Lis...原创 2021-12-23 10:47:11 · 256 阅读 · 0 评论 -
Revit处理链接文件标注Reference
链接文件的Reference有两种方式:1.射线法:通过射线方式获取找到链接文件的元素,可以取出到射到面的Reference2.构造法:通过链接文件的元素Reference获取 ConvertToStableRepresentation字符串( new Reference(wall). CreateLinkReference(revitLink).ConvertToStableRepresentation(doc) ),然后通过Lookup 查看Revit上手动标注出链接文件元素标注获取Conver原创 2021-12-23 10:29:40 · 639 阅读 · 0 评论