Revit二次开发-墙开洞问题
墙开洞有多种情况,这里分平面/矩形墙上开洞和圆/弧墙开洞两部分。
所有墙开洞的基本思路都是创建族,加载族,布置族。
平面/矩形墙上开洞
思路是创建一个族,在墙上开一个矩形、圆形、其他异形洞口;然后将洞口布置在指定的位置。
- 以基于墙的公制常规模型.rft创建族,布置需要的洞口。
- 将洞口加载到指定的document。
- 计算洞口位置,获取组类型、标高、墙等其他参数,使用Autodesk.Revit.Creation.Document.NewFamilyInstance布置族。
圆/弧墙开洞
思路与矩形墙开洞一致,只是有些问题:上面矩形墙的族直接布置在弧墙上,可能会导致洞口挖不开。
分两种:1是开矩形洞,2是开圆形或其他异形洞。
圆/弧墙开矩形洞
弧墙开矩形洞直接使用revit给的api就可以:
Autodesk.Revit.Creation.Document
Opening NewOpening(Wall wall, DB.XYZ pntStart, DB.XYZ pntEnd);
计算矩形洞的两个角点就好。
圆/弧墙开圆形或其他异形洞
- 以基于墙的公制常规模型.rft创建族。使用
Autodesk.Revit.ApplicationServices.Applic