前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Revit 二次开发入门教程--用HelloRevit进行程序调试(第四期)

Revit 二次开发入门教程--用HelloRevit进行程序调试(第四期)

作者头像
一席青衣卧龙城
发布于 2022-04-21 04:00:18
发布于 2022-04-21 04:00:18
1.1K00
代码可运行
举报
文章被收录于专栏:Revit二次开发Revit二次开发
运行总次数:0
代码可运行

用我们上期提供的模板,开始我们的代码之路吧!本期就写很简单的代码,主要是教会大家如何去调试代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data;  
using Autodesk.Revit; 
using Autodesk.Revit.UI; 
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Architecture;
namespace zpx
{
    [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 HelloRevit : 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, "HelloRevit");
  ts.Start();
          //这里我们就写了很简单的一行代码,弹框输出HelloRevit
           MessageBox.Show("HelloRevit");
  ts.Commit();
   return Result.Succeeded;
          }
     }
 }

让我们开始调试程序吧!

调试程序有两种方法,接下来我会一一道来。

一、利用dell文件来调试(小编推荐用此方法)

1.点击生成“生成解决方案”

2.将生成的dell文件路径复制下来,如图蓝色框即为dell文件生成的路径。

3.切换到Revit界面,点击外部工具,选择add-in manager。

4.在弹出的对话框中点击Load,在文件名中粘贴dell文件的路径,点击打开。

5.点击所对应的类名,点击Run,运行测试。

6.revit弹出对话框,显示HelloRevit,恭喜运行成功,说明代码没问题。

以后每次更新代码后,点击生成,不需要重新添加路径dell文件会自动更新,直接运行就可以了,方便快捷。

二、附加到进程来进行调试。

1.点击调试,选择附加到进程。

2.找到revit进程,在附加里选择托管类型。

3.运行就可以调试了,类似就不多截图了。

这种方法并不会自己生成dell文件,需要手动配置,调试的时候附加进程,编辑代码的时候要分离,因此比较麻烦,不推荐使用。


可能出现的问题处理办法:

在调试的时候可能会出现:所生成项目的处理器架构“MSIL”与引用“RevitAPI”的处理器架构“AMD64”不匹配。

解决办法: 如下图所示去配置管理器修改我们的平台类型就可以了。

下期开始我们就只讲解代码,不会在教大家调试代码啦!


一纸清墨书过往,谁人勘破这离殇。

精讲Revit二次开发,望与君交。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 精讲Revit二次开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python基于APScheduler实现定时任务
Python这个语言的优势就在于有丰富的第三方库,既然原生实现有这样那样的缺点,我们可以借助第三方库来实现定时任务。
Steve Wang
2021/12/20
2.6K0
Python定时任务
1、第一种办法是最简单又最暴力。那就是在一个死循环中,使用线程睡眠函数 sleep()。
周小董
2019/03/25
5.8K0
Python定时任务
Python定时任务(下)
上篇文章,我们了解到有三种办法能实现定时任务,但是都无法做到循环执行定时任务。因此,需要一个能够担当此重任的库。它就是 APScheduler。
猴哥yuri
2018/08/16
2K0
Python 定时任务的实现方式
目前所在的项目组需要经常执行一些定时任务,之前都是用 Node.JS 的 cron来实现 schedule job。可是这次需要连接不同的 DB,而且实现的逻辑也有些许不同,于是选择使用 Python 的定时器。
李振
2021/11/26
1.6K0
Python 定时任务的实现方式
python定时任务最强框架APScheduler详细教程
上次测试女神听了我的建议,已经做好了要给项目添加定时任务的决定了。但是之前提供的四种方式中,她不知道具体选择哪一个。为了和女神更近一步,我把我入行近10年收藏的干货免费拿出来分享给女神,希望女神凌晨2点再找我的时候,不再是因为要给他调程序了。
无涯WuYa
2020/07/15
8.2K0
python定时任务最强框架APScheduler详细教程
Python下定时任务框架APSched
今天准备实现一个功能需要用到定时执行任务,所以就看到了Python的一个定时任务框架APScheduler,试了一下感觉还不错。
py3study
2020/01/08
1.5K0
高效定时任务处理:深入学习Python中APScheduler库的奥秘
APScheduler是Python中一个强大的第三方库,用于在后台执行定时任务。它允许我们根据设定的时间间隔、日期规则或特定时间来执行任务,适用于定时执行脚本、定时发送邮件、定时处理数据等场景。APScheduler的功能使得在Python中实现定时任务变得非常简单和高效。本文将从入门到精通地介绍APScheduler库的使用方法,带你掌握在Python中实现定时任务的技巧。
子午Python
2023/08/14
3.3K0
轻量级python定时器apscheduler
cron也有缺点: 1、不适合复杂的定时任务 2、定时任务修改,需要重启crontab管理 3、定时任务,没有状态存储,也不是知道是否执行了
测试加
2022/04/27
1K0
轻量级python定时器apscheduler
Python任务调度模块 – APScheduler,Flask-APScheduler实现定时任务
  看代码,定义一个函数,然后定义一个scheduler类型,添加一个job,然后执行,就可以了,代码是不是超级简单,而且非常清晰。看看结果吧。
用户1214487
2018/07/31
4.8K0
Python任务调度模块 – APScheduler,Flask-APScheduler实现定时任务
Python定时任务框架之Apscheduler 案例分享
  前面已经讲过Celery做定时任务的场景,现在分享另一个框架Apscheduler。Apscheduler的全称是Advanced Python Scheduler。它是一个轻量级的 Python 定时任务调度框架。同时,它还支持异步执行、后台执行调度任务。本人小小的建议是一般项目用APScheduler,因为不用像Celery那样再单独启动worker、beat进程,而且API也很简洁。
全栈测试开发日记
2023/02/02
1.8K0
Python定时任务框架之Apscheduler 案例分享
Python定时任务神器-APScheduler
但是这些定时任务库都只是提供了简答的,或者只支持静态的定时任务。而对于需要复杂定时功能,或者动态注册定时任务的场景,则无法满足。
上帝De助手
2019/09/17
3.1K0
Flask 学习-86.Flask-APScheduler 创建定时任务
Flask-APScheduler是根据APScheduler编写的一个flask模块,它提供了API管理任务。
上海-悠悠
2023/01/03
2.1K0
Apscheduler时间调度程序——python定时任务
APScheduler的全称是Advanced Python Scheduler。它是一个轻量级的 Python 定时任务调度框架。APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时,它还支持异步执行、后台执行调度任务。
SingYi
2022/07/14
1.1K0
Python任务调度模块APSched
官网文档:http://apscheduler.readthedoc... API:http://apscheduler.readthedoc...
py3study
2020/01/06
1.1K0
Python中定时任务框架APScheduler入门
如果对Python的环境搭建及模块安装还不熟悉,可以看看我写的另一篇博客 Python环境搭建及模块安装 。
Qwe7
2022/03/17
9640
Python 实现定时任务的八种方案!
来源:https://www.biaodianfu.com/python-schedule.html
Python编程与实战
2021/10/12
34K0
python定时模块:apscheduler
其中 BlockingScheduler是阻塞性的调度器,是最基本的调度器,下面调用 start方法就会阻塞当前进程,所以如果你的程序除了调度进程没有其他后台进程,那么是可以是否的,否则这个调度器会阻塞你程序的正常执行。
悟乙己
2021/12/07
9240
python定时模块:apscheduler
python定时任务:apscheduler的使用
APScheduler基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务。基于这些功能,我们可以很方便的实现一个python定时任务系统。
KEVINGUO_CN
2020/03/17
1.3K0
【Python】APScheduler简介
APScheduler,全称是_Advanced Python Scheduler_,具体的介绍可以看PyPI或者readthedocs的文档介绍,这篇 blog 主要是翻译User Guide一节的主要内容,不过惯例还是先简单介绍一下这个库特别的地方。
用户5522200
2020/05/11
2.7K0
太好用了!Python 定时任务调度框架 APScheduler 详解!
我们在工作过程中,可能会遇到有定时任务的需求。大部分定时任务偏向 数据采集、消息提醒、邮件自动发送、数据指标统计 等场景。
Python兴趣圈
2023/12/11
6.5K0
太好用了!Python 定时任务调度框架 APScheduler 详解!
推荐阅读
相关推荐
Python基于APScheduler实现定时任务
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验