轴网

  • 轴网

轴网

轴网由Element类派生的Grid类来表示。它包含所有的轴网属性和方法。继承的Name
属性用于检索轴网线的编号圈内容。
1.曲线(Curve )
Grid类Curve属性获取-一个对象, 该对象代表轴线几何形状。
●如果IsCurved属性返回true, 则Curve属性为Arc类对象。
●如果IsCurved属性返回false, 则Curve属性为Line类对象。

轴网对应的类是Grid,也继承自Element
1)轴网曲线(Curve)
通过Grid.Curve属性能够拿到轴网的曲线,如果Grid.IsCurved返回true,那么Curve将是一个弧形曲线Arc 对象,否则就是Line对象。

2)创建轴网
创建轴网的函数有两个重载,分别对应于直线和弧线轴网:
●Document. Create. NewGrid( Arcarc)
●Document. Create. NewGrid(Lineline)

2.创建轴网( Creating a Grid)
在Revit平台API中,有两个重载Document方法可用于创建新的轴网。采用不同的参
数使用代码3-39方法,可以创建曲线或直线轴网。
代码3- -39: NewGrid( )
public Grid NewGrid (Arc arc);
public Grid NewGrid (Line line );
注意:用于创建轴网的弧线或直线必须在水平面内。

注意:在Revit中,轴网创建时会以数字或字母顺序自动命名。
多个轴网可以使用Document.NewGrids( )方法同时进行创建,该方法采用CurveArray
参数。

using System;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;namespace ElementBasicDemo
{[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]public class CreateGridCmd : IExternalCommand{public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements){try{Document doc = commandData.Application.ActiveUIDocument.Document;// 弧线double arcRadius = 20000/304.8 ; // 弧线的内径长:英寸, 1 英寸 = 304.8mmdouble startAngle = 0;double endAngle = Math.PI / 4.0;Arc arc = Arc.Create(XYZ.Zero,arcRadius,startAngle,endAngle,XYZ.BasisX,XYZ.BasisY);// 直线XYZ startPoint = XYZ.BasisY * arcRadius;XYZ endPoint = XYZ.BasisX * arcRadius + startPoint;Line line = Line.CreateBound(startPoint, endPoint);using (Transaction transaction = new Transaction(doc)){if (transaction.Start("轴网") == TransactionStatus.Started){try{Grid arcGrid = CreateArcGrid(doc, arc, "弧形轴网");Grid lineGrid = CreateLineGrid(doc, line, "线性轴网");GridType gdtype = (GridType) doc.GetElement(lineGrid.GetTypeId());SetGridType(gdtype);if (TransactionStatus.Committed != transaction.Commit()){TaskDialog.Show("失败", "轴网创建失败");}}catch (Exception exception){transaction.RollBack();throw exception;}}}return Autodesk.Revit.UI.Result.Succeeded;}catch (Exception ex){message = ex.Message;return Autodesk.Revit.UI.Result.Failed;}}private Grid CreateArcGrid(Document doc, Arc arc, string gridname){Grid arcGrid = Grid.Create(doc, arc);arcGrid.Name = gridname;return arcGrid;}private Grid CreateLineGrid(Document doc, Line line, string gridname){Grid lineGrid = Grid.Create(doc, line);lineGrid.Name = gridname;return lineGrid;}private GridType SetGridType(GridType gridType){if (null != gridType){gridType.get_Parameter(BuiltInParameter.GRID_CENTER_SEGMENT_STYLE).SetValueString("连续");}return gridType;}}
}
using (Transaction transaction = new Transaction(RevitDoc))
{transaction.Start("Create Grid");Grid grid = RevitDoc.Create.NewGrid(Line.CreateBound(new XYZ(0, 0, 0), new XYZ(10, 10, 0)));grid.Name = "BB";transaction.Commit();
}

Revit二次开发——轴网相关推荐

  1. [Revit二次开发] 轴网交点创建柱子

    项目完整代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...

  2. C# Revit二次开发基础/核心编程---建筑建模-标高和轴网

    一.本节课程 C# Revit二次开发基础/核心编程---建筑建模-标高和轴网 二.本节要讲解的知识点 1.标高的高度.创建标高 2.轴网曲线.创建轴网 具体内容 1.标高 标高是有限水平平面,大多数 ...

  3. Revit二次开发_轴网快速标注

    通过Revit二次开发实现对平行轴网的快速标注.交互操作是框选轴网->点选尺寸标注出现的位置->生成两道尺寸标注. 要达到设想的结果一些地方需要特殊考虑: 框选操作容易误选轴网,起码要把与 ...

  4. Revit二次开发之轴网标注

    Revit二次开发之轴网标注 using System; using System.Collections.Generic; using Autodesk.Revit.DB; using Autode ...

  5. 【Revit二次开发】标高

    标高 标高 参考代码 标高 标高和轴网相当于地球的经度和纬度,在Revit里面起到"定海神针"的作用,整个建筑都是基于它们建立起来的,大多数元素都是基于标高来定位. 标高是有限的水 ...

  6. Revit二次开发 - C#程序员的佳好选择

    虽然Revit的使用者和开发目前在中国都很少,但是这是个趋势. 未来Revit会在许多方面取代Autocad 做CAD二次开发的,在中国也很吃香. 但是使用C++难倒了许多人. 而Revit二次开发可 ...

  7. Revit二次开发_1.过滤器笔记篇

    Revit二次开发_1.过滤器笔记篇 前言 对象分类 过滤方法 前言 最近在用过滤器功能,先按照教程做了筛选墙,再自己做了筛选常规模型的功能,发现有点不一样,问题在于筛选这些Elements的时候没弄 ...

  8. revit二次开发之教学视频

    一.背景 刚入门revit二次开发的小伙伴,很多是零基础的工程人员,为了解决这个问题,博主做了revit二次开发的一系列教学视频(包括C#基础与revit二次开发两个模块),来帮助大家更好的入门. 二 ...

  9. Revit二次开发——引用dynamo中的几何库

    前沿 dynamo的几何库其实是非常强大的,如果自己靠着RevitAPI去写还是非常费劲的.所以想引用dynamo的几何库来做一些工作.主要参考的就是这篇文章.Revit二次开发--不开启Dynamo ...

  10. revit二次开发之程序调试

    欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 需要Revit二次开发全流程教学 的朋友可以联系我qq:1056295111 一.背景 小伙伴们在rev ...

最新文章

  1. Android消息机制学习笔记
  2. 编者序:初衷、计划、要求、优势、目标和展望
  3. UA MATH564 概率论V 中心极限定理
  4. android 实现磨砂效果_Android 5.0 下毛玻璃(磨砂)效果如何实现?
  5. hbase shelljava 获取多版本的值
  6. css3盒模型:IE6混杂模式下的盒模型
  7. Java 理论与实践: 流行的原子
  8. mysql5.7 on windows
  9. html诗词赏析网页制作步骤,制作网页详细操作步骤
  10. xen虚拟化实战系列(二)之xen虚拟机安装
  11. Ubuntu16.04安装VSCode
  12. QT输出问题[zhaxok] Enter
  13. 1 自定义无边框窗体
  14. 日常运维工作的知识体系
  15. 高中数学怎么学好如何学好高中数学
  16. Unity3D合成大西瓜
  17. ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
  18. 【题解】百度2020校招Web前端工程师笔试卷(第二批):单选题、多选题
  19. 微型计算机点火系统的摘要,丰田汽车点火系统故障诊断与排除的毕业论文教案.doc...
  20. 【论文笔记】ASYMMETRIC SELF-PLAY FOR AUTOMATIC GOAL DISCOVERY IN ROBOTIC MANIPULATION

热门文章

  1. 实在小店在B2C平台具有一定的知名度
  2. MOSFET与三极管
  3. SolidWorks的发展历史(1994~2007)
  4. 袁亚湘院士上《开讲啦》变数学魔术啦!
  5. OA企业管理系统源码
  6. java版flashplayer下载安装_mac版flash player
  7. h3c服务器怎么更换无线密码,如何更换无线网密码_怎么更换无线网密码?-192路由网...
  8. 【设计模式】简单工厂模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
  9. Delphi外挂制作
  10. linuxeth0路径_linux 驱动 路径(最新更新)网卡驱动路径