Revit SDK 介绍:AutoStamp 自动水印 AutoUpdate 自动更新 CancelSave

news/2024/12/2 15:38:58/

前言

这三个例子都是通过注册事件来完成相应的工作,内容比较简单。

内容

事件参考博客:Revit API:Events 事件总览

AutoStamp 自动水印

在这里插入图片描述
使用到的事件:

application.ControlledApplication.ViewPrinting
application.ControlledApplication.ViewPrinted

注册事件:

public class Application : IExternalApplication{EventsReactor m_eventsReactor;public Autodesk.Revit.UI.Result OnStartup(UIControlledApplication application){// Register related eventsm_eventsReactor = new EventsReactor();application.ControlledApplication.ViewPrinting += new EventHandler<Autodesk.Revit.DB.Events.ViewPrintingEventArgs>(m_eventsReactor.AppViewPrinting);application.ControlledApplication.ViewPrinted += new EventHandler<Autodesk.Revit.DB.Events.ViewPrintedEventArgs>(m_eventsReactor.AppViewPrinted);return Autodesk.Revit.UI.Result.Succeeded;}public Autodesk.Revit.UI.Result OnShutdown(UIControlledApplication application){application.ControlledApplication.ViewPrinting -= new EventHandler<Autodesk.Revit.DB.Events.ViewPrintingEventArgs>(m_eventsReactor.AppViewPrinting);application.ControlledApplication.ViewPrinted -= new EventHandler<Autodesk.Revit.DB.Events.ViewPrintedEventArgs>(m_eventsReactor.AppViewPrinted);return Autodesk.Revit.UI.Result.Succeeded;}
}

事件处理:

// AppViewPrinting
TextNoteOptions options = new TextNoteOptions();
options.HorizontalAlignment = HorizontalTextAlignment.Center;
options.TypeId = e.Document.GetDefaultElementTypeId(ElementTypeGroup.TextNoteType);
TextNote newTextNote = TextNote.Create(e.Document, e.View.Id, XYZ.Zero, strText, options);// AppViewPrinted
e.Document.Delete(m_newTextNoteId);

AutoUpdate 自动更新

在这里插入图片描述

这个例子仅仅是更新了地址信息:

  1. 注册文件打开完成事件
    application.ControlledApplication.DocumentOpened
  2. 事件处理函数
    在文件上加入地址信息
    doc.ProjectInformation.Address = “United States - Massachusetts - Waltham - 610 Lincoln St”;

CancelSave

这个例子也注册了一系列事件,但作用和题目出入太大,这个例子应该从 SDK Sample 中删除。


http://www.ppmy.cn/news/1082155.html

相关文章

大模型的能力边界在哪里?

随着人工智能领域的不断发展&#xff0c;大型神经网络模型已经成为了研究和应用中的主要工具之一。这些大模型&#xff0c;尤其是像GPT-3这样的巨型语言模型&#xff0c;展示了令人印象深刻的自然语言处理能力&#xff0c;甚至能够生成高质量的文本、回答问题、模仿不同的写作风…

VB房屋租凭管理系统设计与实现

摘要 随着我国市场经济的快速发展和人们生活水平的不断提高,简单的租凭服务已经不能满足人们的需求。如何利用先进的管理手段,提高房屋租凭管理水平,是当今社会所面临的一个重要课题。本文通过用VB6.0编写房屋租赁管理系统,利用软件工程原理,采用面向对象的编程方法,其开…

springboot添加ssl证书文件后报错:DerInputStream.getLength(): lengthTag=111, too big.

1、添加证书文件 springboot添加SSL证书&#xff0c;支持https与http 按照上述连接中的方法添加证书文件后&#xff0c;启动报错&#xff1a;DerInputStream.getLength(): lengthTag111, too big. 2、解决办法 在pom.xml中添加配置 再次启动解决问题 <plugin><arti…

Python Numpy库的教程

Numpy是Python中用于科学计算的一个重要库。它提供了高性能的多维数组对象和用于处理数组的数学函数。 本文将详细介绍Numpy库的使用方法和常见功能&#xff0c;并通过案例演示其实际应用。 1. 安装Numpy库 要使用Numpy库&#xff0c;首先需要安装它。在终端或命令提示符中执…

stable diffusion实践操作-提示词-人物属性

系列文章目录 stable diffusion实践操作-提示词 文章目录 系列文章目录前言一、提示词汇总1.1 人物属性11.2 人物属性2 前言 本文主要收纳总结了提示词-人物属性。 一、提示词汇总 1.1 人物属性1 角色类型人物身材胸部头发-发型头发-发色[女仆][霊烏路空][大腿][乳房][呆毛…

JS虚拟机JS加密技术:优缺点及案例研究

JS虚拟机JS加密技术&#xff1a;优缺点及案例研究 JS虚拟机是一种用JS语法实现的模拟虚拟机逻辑执行的代码&#xff0c;以执行JS代码的技术。它提供了一种将JS代码编译成二进制指令集的方法&#xff0c;并模拟执行这些指令。本文将介绍jsvmp技术的优缺点&#xff0c;并提供一些…

【计算机网络】OSI 七层网络参考模型

OSI&#xff08;Open Systems Interconnection&#xff09;七层网络参考模型是一种用于描述计算机网络通信的框架&#xff0c;将网络通信划分为七个不同的层次&#xff0c;每个层次负责不同的功能。 以下为 OSI 七层网络参考模型的简单表格&#xff1a; --------------------…

代码随想录打卡—day57—【编辑距离】— 9.2+9.3 编辑距离系列

1 647. 回文子串 647. 回文子串 纯暴力解法&#xff0c;应该是O&#xff08;n^3&#xff09;&#xff0c;居然AC了&#xff1a; class Solution { public:int countSubstrings(string s) {// 暴力int cnt 0;cout << s.substr(1,1);for(int i 0; i < s.size();i){…