Revit二次开发小技巧(十二)组构件修改方法分享

阅读: 评论:0

Revit二次开发小技巧(十二)组构件修改方法分享

Revit二次开发小技巧(十二)组构件修改方法分享

有时候会涉及到组构件的修改,当是又想通过这一次的修改,可以同步到相同的组构件中。这里给大家分享一个自己封装的组构件修改的类,希望可以给大家点帮助。

public class GroupMethod{/// <summary>/// 目标组(名字、相同组名称的集合)/// </summary>private List<Tuple<string, GroupType, IEnumerable<Group>>> TargetGroupList = new List<Tuple<string, GroupType, IEnumerable<Group>>>();/// <summary>/// 原本组里面的ID/// </summary>private List<List<ElementId>> groupIDList = new List<List<ElementId>>();private Document Doc;/// <summary>/// 错误信息/// </summary>public string ErrorMessage = "";public GroupUtils(Document doc){Doc = doc;}/// <summary>/// 添加组合/// </summary>/// <param name="group"></param>public void AddGroup(Group targetGroup){int findGroupIndex = TargetGroupList.FindIndex(x => x.Item1 == targetGroup.Name);if (findGroupIndex == -1 && targetGroup != null){GroupType groupType = targetGroup.GroupType;var groups = groupType.Groups.OfType<Group>().Where(x => x.Id.IntegerValue != targetGroup.Id.IntegerValue);TargetGroupList.Add(Tuple.Create(targetGroup.Name, groupType, groups));//解组Transaction trans = null;if (!Doc.IsModifiable)trans = new Transaction(Doc, "解组");trans?.Start();groupIDList.Add(targetGroup.UngroupMembers().ToList());trans?.Commit();}}/// <summary>/// 修改组里面的构件结束/// </summary>/// <returns></returns>public bool ChangeEnding(){try{Transaction trans = null;if (!Doc.IsModifiable)trans = new Transaction(Doc, "重新成组");trans?.Start();for (int i = 0; i < TargetGroupList.Count; i++){var groupTuple = TargetGroupList[i];Group nwGroup = Doc.Create.NewGroup(groupIDList[i]);Doc.Regenerate();GroupType nwGroupTyple = nwGroup.GroupType;foreach (var oldGroup in groupTuple.Item3){oldGroup.GroupType = nwGroupTyple;}//删除原本的组Doc.Delete(groupTuple.Item2.Id);Doc.Regenerate();nwGroupTyple.Name = groupTuple.Item1;}trans?.Commit();return true;}catch (Exception ex){ErrorMessage += $"{ex.Message} 请联系开发人员tn";return false;}}}

分享就到这里了,希望对你有帮助~~~

本文发布于:2024-02-02 14:06:00,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170685396144301.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:构件   小技巧   方法   Revit   十二
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23