如何使用python开发Revit|PyRevit开发:如何创建墙

必看部分:

Document获取:

必看文章


基础部分:

创建墙

基本思路:

  1. 首先添加引用
  2. 获取当前项目文档
  3. 开启事务
  4. 获取墙类型
  5. 获取标高
  6. 创建

实现代码:

import Autodesk
from Autodesk.Revit.DB import FilteredElementCollector, BuiltInParameter, BuiltInCategory, Line, Wall, XYZ, Transaction
doc = __revit__.ActiveUIDocument.Document

levels = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Levels).WhereElementIsNotElementType().ToElements()
walls = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).WhereElementIsElementType().ToElements()

for level in levels:
	elevation = level.get_Parameter(BuiltInParameter.LEVEL_ELEV).AsDouble()
	if elevation == 3000/304.8:
		level_0 = level
for wall in walls:
	name = wall.get_Parameter(BuiltInParameter.SYMBOL_NAME_PARAM).AsString()
	if name == '常规 - 200mm':
		wall_type = wall
		
p_1 = XYZ(0,0,level_0.Elevation)
p_2 = XYZ(50,0,level_0.Elevation)
p_3 = XYZ(50,50,level_0.Elevation)
line_1 = Line.CreateBound(p_1, p_2)
line_2 = Line.CreateBound(p_2, p_3)
lines = [line_1, line_2]

t = Transaction(doc, '创建墙')
t.Start()
for line in lines:
	wall_1 = Wall.Create(doc, line, wall_type.Id, level_0.Id, 3000/304.8, 0, False, True)
t.Commit()

在这里插入图片描述

总结:

1.创建构件需要开启事务(Transaction)
2.确定标高及指定墙类型存在


欢迎大家添加交流QQ群: 17075104
一起学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值