Revit API判断是不是柱族模板
OwnerFamily即族模板。
获取类别的方法:
Document.Settings.Categories.get_Item(BuiltInCategory.OST_Columns);
//判断是不是柱族模板
[TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]
public class cmdCheckFamily : IExternalCommand
{
bool ValidateDocument(Document rvtDoc)
{
if (!rvtDoc.IsFamilyDocument)//判断是不是族文档
{
TaskDialog.Show("Family API", "This command works only in the family editor.");
return false;
}
Family ownerFamily = rvtDoc.OwnerFamily;
if (ownerFamily == null)//判断是否使用了族模板
{
TaskDialog.Show("Family API", "This document does not have Owner Family.");
return false;
}
//取得族类别的方法
Category catColumn = rvtDoc.Settings.Categories.get_Item(BuiltInCategory.OST_Columns);
if (!ownerFamily.FamilyCategory.Id.Equals(catColumn.Id))
{
TaskDialog.Show("Family API", "The category of this document does not match the context of this commands. Please open Metric Column.rft");
return false;
}
return true;
}
public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)
{
UIApplication app = commandData.Application;
Document doc = app.ActiveUIDocument.Document;
Selection sel = app.ActiveUIDocument.Selection; ValidateDocument(doc); return Result.Succeeded;
}
}
url:http://www.cnblogs.com/greatverve/p/ValidateDocument.html
Revit API判断是不是柱族模板的更多相关文章
- Revit API 判断一个构件在某个视图中的可见性
查看 Revit API.发现有Element::IsHidden这个方法.通过UI创建一个element,注意要使得这个element在某些视图可见,但是在另一些视图不可见.运行下面的方法,你会发现 ...
- Revit API判断直线相交关系移动风管
start ) ); )) )) ); XYZ xyz12 = lCurve1.Curve.get_EndPoint(); XY ...
- Revit API 加载族并生成实例图元
在Revit API中加载族可以使用Doc.LoadFamily方法,传入要加载的族文件路径名,但是这种方式有一种缺点,就是如果族文件在当前工程中没有加载的话则返回成功,如果已经加载过,则返回失败,也 ...
- 【Revit API】梁构件支座检查算法
一.前言 应该是第二次写关于Revit API的博文了.虽然在BIM企业中工作,从事桌面BIM软件开发,但是我是不怎么喜欢写Revit API相关的代码.平时更多的是在写界面展示,架构 ...
- Revit API 操作共享参数和项目参数
1.获取共享参数 private string GetSharInfo(Autodesk.Revit.ApplicationServices.Application revitApp) { Strin ...
- Revit API射线法读取空间中相交的元素
Revit API提供根据射线来寻找经过的元素.方法是固定模式,没什么好说.关键代码:doc.FindReferencesWithContextByDirection(ptStart, (ptEnd ...
- VB API判断数组为空
1. 'API判断数组为空或没有初始化 Private Declare Function SafeArrayGetDim Lib "oleaut32.dll" (ByRef saA ...
- Revit API取得系统族普通族几何信息的方法
系统族,可以直接转化为对应的类(Wall,Duct)然后取得几何信息,普通族需要转化为FamilyInstance )) { TaskDialog.Show() ...
- Revit api 创建族并加载到当前项目
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
随机推荐
- WEB开发常用软件集合
软件 dreamweaver cs6 http://www.cr173.com/soft/74348.html navicat http://pan.baidu.com/s/1b9nNzw subli ...
- TCP/UDP区别&&心跳包机制【转】
转自:https://www.jianshu.com/p/6d93a3c21c34 UDP:用户数据报协议:主要用在实时性要求比较高的以及对质量相对较弱的地方.但是面对现在高质量的线路不会容易丢包,除 ...
- mount过程分析之一(基于3.16.3内核)【转】
转自:https://blog.csdn.net/zr_lang/article/details/39963253 一直想写有些关于文件系统的博文,但是由于近一年来实在太忙,所以没有时间写.前几日赶上 ...
- linux usb枚举过程分析之守护进程及其唤醒【转】
转自:http://blog.csdn.net/xuelin273/article/details/38646765 usb热插拔,即usb设备可以实现即插即用,像U盘一样,插到电脑里就可以用,不用时 ...
- STS热部署,springboot项目中修改代码不用重新启动服务
方法如下: 1.在pom文件中引入 devtools 依赖: <dependency> <groupId>org.springframework.boot</grou ...
- Java中static关键字概述
例如一个学生类中,我们需要统计下学生类中学生对象的数量,此时数量要定义为静态变量: 示例代码: package com.java1995; public class Student { int id= ...
- shell升级
对/sbin/nologin的理解 系统账号的shell使用 /sbin/nologin ,此时无法登陆系统,即使给了密码也不行. 所谓“无法登陆”指的仅是这个用户无法使用bash或其他she ...
- Algorithm类介绍(core)
参考:http://blog.csdn.net/yang_xian521/article/details/7533922
- InnoDB Lock浅谈
数据库使用锁是为了支持更好的并发,提供数据的完整性和一致性.InnoDB是一个支持行锁的存储引擎,锁的类型有:共享锁(S).排他锁(X).意向共享(IS).意向排他(IX).为了提供更好的并发,Inn ...
- nodejs乱码处理
1.处理回显乱码 res.write("<head><meta charset='utf-8'></head>"); 2.处理传参乱码 quer ...