本期我们就正式上手开撸Revit二次开发的代码了,小伙伴们有没有很激动啊~~~反正小编是没有啦!因为这是一个无尽的深渊,至于原因,小伙伴们自己慢慢体会吧!一起痛并快乐着。
开始啦!开始啦!开始啦!
这一期给大家一个代码模板,模板里的东西在这一期并不会给大家讲解,因为太深奥,深究起来太难了,并不适合新手,小编在坑里呆了很久,直到后来才慢慢明白这些代码的含义,所以大家就把它当做一个程序模板吧!
代码语言:javascript复制using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data; 系统部分的引用
这一段为引用,作用是为了让我们能够少写几行代码的
代码语言:javascript复制using Autodesk.Revit; Revit部分的引用
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Architecture;
例如: Selection se = uiDoc.Selection;//选择构件
如果不引用,我们就得写成:
代码语言:javascript复制 Autodesk.Revit.UI.Selection.Selection se = uiDoc.Selection;
有木有很麻烦, 因此,使用引用空间可以让我们有了抠脚的时间讷。
下面长长的一段就是程序模板,以后会慢慢讲解,大家平时也把它保存下来当做模板来使用就好啦。
代码语言:javascript复制namespace 模板
{
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
[Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)]
[Autodesk.Revit.Attributes.Journaling(Autodesk.Revit.Attributes.JournalingMode.NoCommandData)]
public class CheckCode : IExternalCommand
{
public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData, ref string message, Autodesk.Revit.DB.ElementSet elements)
{
//创建应用程序对象
Autodesk.Revit.ApplicationServices.Application app = commandData.Application.Application;
//创建文档对象
Autodesk.Revit.DB.Document doc = commandData.Application.ActiveUIDocument.Document;
//创建应用程序对象
Autodesk.Revit.UI.UIApplication uiapp = commandData.Application;
//创建文档对象
Autodesk.Revit.UI.UIDocument uiDoc = uiapp.ActiveUIDocument;
//开始事务
Transaction ts = new Transaction(doc, "标准检查");
ts.Start();
这之间写代码
代码语言:javascript复制 ts.Commit();
return Result.Succeeded;
如果是大神请绕道哦,这里是给新手讲的,对大神来说这些都是小菜,刚开始写文章,慢慢的由浅入深,后面陆续会分享一些API的成果和案例,请大神们不吝赐教。
本期到此就结束啦~~~
下期再high~~~~
一纸清墨书过往,谁人勘破这离殇。
精讲Revit二次开发,望与君交。