cmdCreateViewTag
start
//把当前视图名称与比例标注在最低的轴网下面
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class cmdCreateViewTag : IExternalCommand
{
/// <summary>
/// 得到最下面的轴网
/// </summary>
/// <param name="doc"></param>
/// <returns></returns>
public Grid GetLowestGrid(Document doc)
{
FilteredElementCollector collector = new FilteredElementCollector(doc);
collector.OfClass(typeof(Grid)).OfCategory(BuiltInCategory.OST_Grids);//
Grid grid = null;
foreach (Element el in collector)
{
if (grid == null)
{
grid = el as Grid;
}
else
{
Grid gridTmp = el as Grid;
if (gridTmp.Curve.get_EndPoint(0).Y < grid.Curve.get_EndPoint(0).Y)
{
grid = gridTmp;
}
}
}
return grid;
}
/// <summary>
/// 得到当前视图名称
/// </summary>
/// <param name="doc"></param>
/// <returns></returns>
public string GetViewName(Document doc)
{
return doc.ActiveView.Name;
}
/// <summary>
/// 得到视图比例
/// </summary>
/// <param name="doc"></param>
/// <returns></returns>
public string GetViewScale(Document doc)
{
return "1 : " + doc.ActiveView.get_Parameter(BuiltInParameter.VIEW_SCALE).AsInteger().ToString();
}
public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)
{
Document doc = cmdData.Application.ActiveUIDocument.Document; Transaction ts = new Transaction(doc, "http://revit.5d6d.com");
ts.Start();
//得到最低的轴网,得到原点
Grid grid = GetLowestGrid(doc);
if (grid == null)
{
ts.RollBack();
return Result.Cancelled;
}
XYZ xyzOrigin = grid.Curve.get_EndPoint(0) + new XYZ(0, -1, 0);
//得到视图名称,得到视图比例
string strText = "视图名称:" + GetViewName(doc) + "\n视图比例:" + GetViewScale(doc);
//
XYZ baseVec = new XYZ(0, 0, 0);
XYZ upVec = new XYZ(0, 0, 0);
double dWidth = 0.16;
TextAlignFlags textAlign = TextAlignFlags.TEF_ALIGN_LEFT | TextAlignFlags.TEF_ALIGN_TOP;
TextNote textNote = doc.Create.NewTextNote(doc.ActiveView, xyzOrigin, baseVec, upVec, dWidth, textAlign, strText); ts.Commit(); return Result.Succeeded;
}
}
end
cmdCreateViewTag的更多相关文章
随机推荐
- ArcGIS删除部分数据后全图范围不正确
我有一个全国地图的图层,现在删除图层中其他省份,只保留山东省的图形,但是点击全图后,全图范围仍然是全国地图时候的全图范围,使用的版本是ArcGIS9.3,数据存放在9.3的个人数据库中(Perso ...
- [转]初探 PhoneGap 框架在 Android 上的表现
原文地址:http://topmanopensource.iteye.com/blog/1486929 phonegap是由温哥华的一家小公司研发的多平台的移动开发框架,支持流行的大多数移动设备(iP ...
- apache的安装,启动和停止
一.apache服务器的安装 安装步骤直接傻瓜式进行安装.并没有太大的难点.apache的配置是学习的重点和难点. 安装好后再浏览器地址栏输入http://localhost.若能够成功安装,则会显示 ...
- 中国排名前100的IT公司 (转)
排序 单位名称 软件收入 1 华为技术有限公司 622360 2 中兴通讯股份有限公司 601331 3 海信集团有限公司 448641 4 UT斯达康通讯有限公司 386763 5 海尔集团 ...
- js作用域和词法分析
都知道js中不存在类似于c++等语言的块级作用域,例如for循环中定义的变量,其实是属于当前对象下的属性,同一对象下可以随便访问.只有函数可以限定一个变量的作用范围,即函数才是变量的作用域. 对于函数 ...
- 【kd-tree】bzoj2648 SJY摆棋子
#include<cstdio> #include<cmath> #include<algorithm> using namespace std; #define ...
- 『TCP/IP详解——卷一:协议』读书笔记——04
2013-08-18 16:31:17 第2章 链路层 2.1 引言 链路层主要有三个目的: 为IP模块发送和接受IP数据报 为ARP模块发送ARP请求和接受ARP应答 为RARP发送RARP请求和接 ...
- Poj-1157-LITTLE SHOP OF FLOWERS
题意为从每行取一瓶花,每瓶花都有自己的审美价值 第 i+1 行取的花位于第 i 行的右下方 求最大审美价值 dp[i][j]:取到第 i 行,第 j 列时所获得的最大审美价值 动态转移方程:dp[i] ...
- Hadoop-1.2.1 安装步骤小结(ubuntu)
1.安装ubuntu系统 如果不使用云服务器,可以使用虚拟机WmWare安装,具体安装步骤这里就不讲了,ubuntu系统下载地址:http://www.ubuntu.com/download/desk ...
- java中Class.getResource用法
用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用的,就是用JAVA的File类,如要取得c:/test.txt文件,就会这样用File file ...