private SortedList <string, string[]> GetRevInfo(IList <Element> revClouds, bool all) { string CurrBulletin = ""; logMsg(nl); logMsgDbLn2("revision clouds"); SortedList <string, string[]> RevisionInfo = new SortedList <string, string[]>(revClouds.Count); foreach (Element e in revClouds) { RevisionCloud revCloud = e as RevisionCloud; if (revCloud == null) { continue; } Revision rev = Doc.GetElement(revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION).AsElementId()) as Revision; if (rev == null) { continue; } int seq = rev.SequenceNumber; if (!all && !RevisionVisible[seq]) { continue; } string[] ri = new string[(int)REV_LEN]; string Key = ""; ri[(int)SEQ] = seq.ToString(); ri[(int)REV_SHTNUM] = GetSheetNumber(revCloud); ri[(int)REV_TITLE] = revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_DESCRIPTION).AsString(); ri[(int)REV_ID] = revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_NUM).AsString(); ri[(int)REV_ALTID] = revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_ISSUED_BY).AsString(); ri[(int)REV_NAME] = revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_ISSUED_TO).AsString(); ri[(int)REV_DATE] = revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_DATE).AsString(); ri[(int)REV_BASIS] = revCloud.get_Parameter(BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS).AsString(); ri[(int)REV_DESC] = revCloud.get_Parameter(BuiltInParameter.ALL_MODEL_MARK)?.AsString(); ri[(int)REV_ORDER] = SortKey.GetSortOrderCode(ri); // key = revision number (REV_ID) + (REV_SHTNUM) + (REV_TITLE) Key = SortKey.GetSortKey(ri[(int)REV_ORDER], ri[(int)REV_TITLE], ri[(int)REV_SHTNUM]); ri[(int)REV_SORTSEQ] = Key; RevisionInfo.Add(Key, ri); } return(RevisionInfo); }
private static string GetSheetNumber(RevisionCloud revCloud) { ISet <ElementId> s = revCloud.GetSheetIds(); foreach (ElementId ex in s) { return(((ViewSheet)Revision.Doc.GetElement(ex)).SheetNumber); } return(null); }
public RevisionCloudItem(Document doc, RevisionCloud revisionCloud) : base(doc, revisionCloud) { Mark = revisionCloud.get_Parameter(BuiltInParameter.ALL_MODEL_MARK).AsString(); Comments = revisionCloud.get_Parameter(BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS).AsString(); id = revisionCloud.Id; Revision = string.Empty; cloud = revisionCloud; HostViewName = GetHostViewName(doc); UpdateSheetNameAndNumberStrings(doc); }
private void ListRevInfo2(IList <Element> revTags) { int i = 0; logMsg(nl); logMsgDbLn2("revision tags"); IList <string[]> RevisionInfo = new List <string[]>(revTags.Count); foreach (Element e in revTags) { string[] ri = new string[(int)REV_LEN]; i++; IndependentTag revTag = e as IndependentTag; RevisionCloud revCloud = revTag.GetTaggedLocalElement() as RevisionCloud; Revision rev = Doc.GetElement(revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION).AsElementId()) as Revision; // show only visible revisions if (rev != null && RevisionVisible[rev.SequenceNumber]) { // ParameterSet psrt = revTag.Parameters; // ParameterSet ps = revCloud.Parameters; // IList<Parameter> po = revCloud.GetOrderedParameters(); ISet <ElementId> s = revCloud.GetSheetIds(); // get the sheet number foreach (ElementId ex in s) { // ri[(int) REV_SHTNUM] = ((ViewSheet) _doc.GetElement(ex)).SheetNumber; logMsgDbLn2("sheet number", ((ViewSheet)Doc.GetElement(ex)).SheetNumber); } string num = i.ToString(); logMsgDbLn2("tag rev seq| " + num, rev.SequenceNumber); logMsgDbLn2("revision title| " + num, revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_DESCRIPTION).AsString()); logMsgDbLn2("revision id| " + num, revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_NUM).AsString()); logMsgDbLn2("revision alt id| " + num, revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_ISSUED_BY).AsString()); logMsgDbLn2("revision date| " + num, revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_DATE).AsString()); logMsgDbLn2("revision desc 1?| " + num, revCloud.get_Parameter(BuiltInParameter.ALL_MODEL_MARK)?.AsString() ?? "null"); logMsgDbLn2("revision basis 1?| " + num, revCloud.get_Parameter(BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS)?.AsString() ?? "null"); } } }
public RevisionItem(Document doc, RevisionCloud revisionCloud) { if (revisionCloud == null) { throw new ArgumentNullException(nameof(revisionCloud)); } if (doc == null) { throw new ArgumentNullException(nameof(doc)); } var revision = doc.GetElement(revisionCloud.RevisionId); Init(revision); }
private void ListRevInfo3(IList <Element> revClouds) { int i = 0; logMsg(nl); logMsgDbLn2("revision clouds"); foreach (Element e in revClouds) { RevisionCloud revCloud = e as RevisionCloud; if (revCloud == null) { continue; } i++; Revision rev = Doc.GetElement(revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION).AsElementId()) as Revision; if (rev == null) { continue; } int seq = rev.SequenceNumber; string shtNumber = GetSheetNumber(revCloud); if (RevisionVisible[seq]) { string num = i.ToString(); logMsg(nl); logMsgDbLn2("sheet number| " + num, shtNumber); logMsgDbLn2("revision seq| " + num, seq); logMsgDbLn2("revision title| " + num, revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_DESCRIPTION).AsString()); logMsgDbLn2("revision id| " + num, revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_NUM).AsString()); logMsgDbLn2("revision alt id| " + num, revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_ISSUED_BY).AsString()); logMsgDbLn2("revision date| " + num, revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_DATE).AsString()); logMsgDbLn2("revision desc| " + num, revCloud.get_Parameter(BuiltInParameter.ALL_MODEL_MARK)?.AsString() ?? "null"); logMsgDbLn2("revision basis| " + num, revCloud.get_Parameter(BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS)?.AsString() ?? "null"); } } }
/// <summary> /// Constructor /// </summary> /// <param name="cloud"></param> /// <param name="parent"></param> /// <param name="issued"></param> public RevisionsViewViewModel(RevisionCloud cloud, RevisionsCommentViewModel parent, bool issued) { if (cloud != null) { this.ThisInstance = this; this.Parent = parent; this.Issued = issued; this.View = ThisApplication.thisApp.doc.GetElement(cloud.OwnerViewId) as View; this.Cloud = cloud; this.ViewName = this.View.LookupParameter(Constants.ViewClusterIn).AsString() + " | " + this.View.Name; //Check if RevCloud is correctly placed on the ViewSheet ViewSheet sheet = this.View as ViewSheet; if (sheet == null) { Globals.NumberOfIncorrectRevisions++; this.Parent.Parent.HasErrors = true; this.HasErrors = true; } } }
public void ByCurve_ValidArgs() { Polygon polygon = Polygon.RegularPolygon(Circle.ByCenterPointRadius(Point.ByCoordinates(0, 0, 0), 100), 5); Assert.NotNull(polygon); Revision rev1 = Revision.ByName("myName", "01.01.1970", "myDesc", false, "me", "to"); Assert.NotNull(rev1); Assert.IsInstanceOf(typeof(Revit.Elements.Revision), rev1); var revCloud = RevisionCloud.ByCurve(Revit.Application.Document.Current.ActiveView, polygon.Curves().ToList(), rev1); Assert.NotNull(revCloud); Assert.IsInstanceOf(typeof(Revit.Elements.RevisionCloud), revCloud); var curveGeo = revCloud.Curves; Assert.NotNull(curveGeo); Assert.AreEqual(revCloud.InternalRevitElement.RevisionId.IntegerValue, rev1.InternalElement.Id.IntegerValue); }
private void ListRevInfo1(IList <Element> revTags) { int i = 0; logMsg(nl); logMsgDbLn2("revision tags"); foreach (Element e in revTags) { i++; IndependentTag revTag = e as IndependentTag; RevisionCloud revCloud = revTag.GetTaggedLocalElement() as RevisionCloud; Revision rev = Doc.GetElement(revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION).AsElementId()) as Revision; // show only visible revisions if (rev != null && RevisionVisible[rev.SequenceNumber]) { ParameterSet psrt = revTag.Parameters; ParameterSet ps = revCloud.Parameters; IList <Parameter> po = revCloud.GetOrderedParameters(); ISet <ElementId> s = revCloud.GetSheetIds(); // need to get: // rev number // mark // description // sheet number logMsg(nl); logMsgDbLn2("tag name| " + i, revTag.Name); logMsgDbLn2("tag text| " + i, revTag.TagText); logMsgDbLn2("tag rev desc| " + i, rev.Description); logMsgDbLn2("tag rev date| " + i, rev.RevisionDate); logMsgDbLn2("tag rev seq| " + i, rev.SequenceNumber); logMsgDbLn2("tag cloud num| " + i, revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_NUM).AsString()); logMsgDbLn2("tag cloud date| " + i, revCloud.get_Parameter(BuiltInParameter.REVISION_CLOUD_REVISION_DATE).AsString()); logMsgDbLn2("tag cloud desc| " + i, revCloud.Name); logMsgDbLn2("tag cloud para set count| " + i, ps.Size); logMsgDbLn2("tag cloud para ordered count| " + i, po.Count); // using ordered parameter list // foreach (Parameter pm in p) // { // logMsgDbLn2("Tag cloud para| " + pm.Definition.Name, GetParameterInfo(pm)); // } // using all parameter list // foreach (Parameter pm in psrt) // { // logMsgDbLn2("Tag tag para| " + pm.Definition.Name, GetParameterInfo(pm) + " :: " + pm.GUID); // } // using all parameter list foreach (Parameter pm in ps) { logMsgDbLn2("Tag cloud para| " + pm.Definition.Name, GetParameterInfo(pm) + " :: " + pm.Id); } // using all parameter list foreach (ElementId ex in s) { logMsgDbLn2("sheet info", ((ViewSheet)Doc.GetElement(ex)).SheetNumber); } } } }