Revit二开--一键楼板功能 全面解析
之前很多朋友问我 一键楼板的功能怎么做,今天有点时间把源码放出来。
github 地址: https://github.com/binbinstrong/tangsengjiewa
/// <summary>
/// 一键楼板
/// </summary>
namespace 唐僧解瓦.建筑
{
/// <summary>
/// 一键楼板
/// </summary>
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
[Journaling(JournalingMode.UsingCommandData)]
class Cmd_CreateFloorQukly : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIApplication uiapp = commandData.Application;
UIDocument uidoc = uiapp.ActiveUIDocument;
Document doc = uidoc.Document;
Selection sel = uidoc.Selection;
var acview = doc.ActiveView;
var beamrefs = sel.PickObjects(ObjectType.Element,
doc.GetSelectionFilter(m => m.Category.Id.IntegerValue == (int)BuiltInCategory.OST_StructuralFraming),
"选择生成板的梁");
var beams = beamrefs.Select(m => m.GetElement(doc));
Transaction temtran = new Transaction(doc, "temtran");
temtran.Start();
foreach (Element beam in beams)
{
var joinedelements = JoinGeometryUtils.GetJoinedElements(doc, beam);
if (joinedelements.Count > 0)
{
foreach (var id in joinedelements)
{
var temele = id.GetElement(doc);
var isjoined = JoinGeometryUtils.AreElementsJoined(doc, beam, temele);
if (isjoined)
{
JoinGeometryUtils.UnjoinGeometry(doc, beam, temele);
}
}
}
}
temtran.RollBack();
var solidss

该博客详细介绍了Revit的二次开发中如何实现一键楼板的功能,包括功能效果展示,并提供了相关源码供读者学习和参考。欲了解更多Revit扩展开发知识,建议关注唐僧课堂。
最低0.47元/天 解锁文章
1383

被折叠的 条评论
为什么被折叠?



