ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PyRevit开发第一步:获取Revit文档Document

2021-09-13 09:02:40  阅读:343  来源: 互联网

标签:AddReference Autodesk PyRevit import Document Revit clr


1.安装PythonShell插件

image

PythonShell 2018 插件下载

交流QQ群: 17075104

新建项目后,运行功能Python Shell,
在弹出的窗口中复制或输入以下引用代码模块:

#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @Time      : 2021-01-01
# @Author    : ZedMoster1@gmail.com

from Autodesk.Revit.UI import *
from Autodesk.Revit.DB import *
import Autodesk
import math
import os
import re
import sys

import clr
from System import Array

clr.AddReference('RevitAPI')
clr.AddReference('RevitAPIUI')
clr.AddReference("System")

doc = __revit__.ActiveUIDocument.Document
uidoc = __revit__.ActiveUIDocument
uiapp = __revit__.Application

在上次命令行输入 doc 即可获取当前项目文档Document
image


2.通过Dynamo节点

image

右键在搜索窗口中输入 python script 选择节点,
双击节点后弹出输入脚本窗口,复制或输入一下引用代码模块:

#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @Time      : 2021-01-01
# @Author    : ZedMoster1@gmail.com

import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference('RevitAPIUI')
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
from Autodesk.Revit.UI import *
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

# 默认参数
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc = uiapp.ActiveUIDocument
doc = DocumentManager.Instance.CurrentDBDocument

# 输出
OUT = doc

点击完成编辑后,运行节点即可查看当前所在项目的Document


至此我们已经学会两种通过python获取Revit文档的方法,
接下来就是了解后续文档数据的过程.

标签:AddReference,Autodesk,PyRevit,import,Document,Revit,clr
来源: https://www.cnblogs.com/zedmoster/p/15258232.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有