Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This Renovate PR updates the centrally-managed Nice3point.Revit.Extensions NuGet package versions from preview builds to the corresponding stable releases for Revit 2021–2027.
Changes:
- Bump
Nice3point.Revit.Extensionsversions for$(RevitVersion)2021–2027 from*-preview.4.20260324to stable*releases in central package management.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2021.5.0-preview.4.20260324→2021.5.02022.5.0-preview.4.20260324→2022.5.02023.5.0-preview.4.20260324→2023.5.02024.3.0-preview.4.20260324→2024.3.02025.2.0-preview.4.20260324→2025.2.02026.1.0-preview.4.20260324→2026.1.02027.0.0-preview.4.20260324→2027.0.0Release Notes
Nice3point/RevitExtensions (Nice3point.Revit.Extensions)
v2027.0.0Compare Source
This update focuses on improved API design through C# 14 extension methods syntax, .NET 10 support, Revit 2027 support, and covers all known Utils classes.
New Extensions
Element
element.CanBeDeletedelementId.CanBeDeleted(Document)Transformation
element.Copy(XYZ),Copy(double, double, double)elementId.Copy(Document, XYZ),Copy(Document, double, double, double)element.Mirror(Plane)elementId.Mirror(Document, Plane)element.Move(XYZ),Move(double, double, double)elementId.Move(Document, XYZ),Move(Document, double, double, double)element.Rotate(Line, double)elementId.Rotate(Document, Line, double)element.CanBeMirroredelementId.CanBeMirrored(Document)elementIds.CanBeMirrored(Document)elementIds.MirrorElements(Document, Plane, bool)elementIds.MoveElements(Document, XYZ)elementIds.RotateElements(Document, Line, double)elementIds.CopyElements(Document, XYZ)elementIds.CopyElements(Document, Document)elementIds.CopyElements(Document, Document, Transform, CopyPasteOptions)elementIds.CopyElements(View, View)elementIds.CopyElements(View, View, Transform, CopyPasteOptions)view.GetTransformFromViewToView(View)Joins and cuts
element.JoinGeometry(Element)element.UnjoinGeometry(Element)element.AreElementsJoined(Element)element.GetJoinedElements()element.SwitchJoinOrder(Element)element.IsCuttingElementInJoin(Element)element.CanBeCutWithVoidelement.GetCuttingVoidInstances()element.AddInstanceVoidCut(FamilyInstance)element.RemoveInstanceVoidCut(FamilyInstance)element.IsInstanceVoidCutExists(FamilyInstance)element.IsAllowedForSolidCutelement.IsElementFromAppropriateContextelement.GetCuttingSolids()element.GetSolidsBeingCut()element.CanElementCutElement(Element, out CutFailureReason)element.CutExistsBetweenElements(Element, out bool)element.AddCutBetweenSolids(Element)element.AddCutBetweenSolids(Element, bool)element.RemoveCutBetweenSolids(Element)element.SplitFacesOfCuttingSolid(Element, bool)Application extensions
application.AsControlledApplication()application.IsDgnExportAvailableapplication.IsDgnImportLinkAvailableapplication.IsDwfExportAvailableapplication.IsDwgExportAvailableapplication.IsDwgImportLinkAvailableapplication.IsDxfExportAvailableapplication.IsFbxExportAvailableapplication.IsGraphicsAvailableapplication.IsIfcAvailableapplication.IsNavisworksExporterAvailableapplication.IsSatImportLinkAvailableapplication.IsShapeImporterAvailableapplication.IsSkpImportLinkAvailableapplication.Is3DmImportLinkAvailableapplication.IsAxmImportLinkAvailableapplication.IsObjImportLinkAvailableapplication.IsStlImportLinkAvailableapplication.IsStepImportLinkAvailableapplication.IsMaterialLibraryAvailableapplication.GetAllCloudRegions()UIApplication extensions
uiApplication.AsControlledApplication()Ribbon
pushButton.TryAddShortcuts(string)pushButton.TryAddShortcuts(params IEnumerable<string>)Document
document.Versiondocument.IsValidVersionGuid(Guid)document.CheckAllFamilies(out ISet<ElementId>)document.CheckAllFamiliesSlow(out ISet<ElementId>)Global parameters
document.AreGlobalParametersAlloweddocument.FindGlobalParameter(string)document.GetAllGlobalParameters()document.GetGlobalParametersOrdered()document.SortGlobalParameters(ParametersOrder)document.IsUniqueGlobalParameterName(string)globalParameter.MoveUpOrder()globalParameter.MoveDownOrder()elementId.IsValidGlobalParameter(Document)elementId.MoveGlobalParameterUpOrder(Document)elementId.MoveGlobalParameterDownOrder(Document)Managers and services
document.GetTemporaryGraphicsManager()document.GetAnalyticalToPhysicalAssociationManager()document.GetLightGroupManager()view.CreateSpatialFieldManager(int)view.GetSpatialFieldManager()Parameters
parameter.IsBuiltInParameterBuiltInParameter
builtInParameter.ToParameter(Document)builtInParameter.ToElementId()builtInParameter.GetParameterTypeId()elementId.IsParameter(BuiltInParameter)Filtering
element.IsParameterApplicable(ElementId)element.IsParameterApplicable(Parameter)categories.RemoveUnfilterableCategories()ParameterFilterElement.GetAllFilterableCategories()ParameterFilterElement.GetFilterableParametersInCommon(Document, ICollection<ElementId>)ParameterFilterElement.GetInapplicableParameters(Document, ICollection<ElementId>, IList<ElementId>)Category
BuiltInCategory
builtInCategory.ToCategory(Document)builtInCategory.ToElementId()elementId.IsCategory(BuiltInCategory)Geometry
Bounding box
boundingBox.Contains(XYZ)boundingBox.Contains(XYZ, bool)boundingBox.Contains(BoundingBoxXYZ)boundingBox.Contains(BoundingBoxXYZ, bool)boundingBox.Overlaps(BoundingBoxXYZ)Curve
curveElement.GetHostFace()curveElement.GetProjectionType()curveElement.SetProjectionType(CurveProjectionType)curveElement.GetSketchOnSurface()curveElement.SetSketchOnSurface(bool)reference.GetFaceRegions(Document)CurveElement.CreateArcThroughPoints(Document, ReferencePoint, ReferencePoint, ReferencePoint)CurveElement.AddCurvesToFaceRegion(Document, IList<ElementId>)CurveElement.CreateRectangle(Document, ReferencePoint, ReferencePoint, CurveProjectionType, bool, bool, out IList<ElementId>, out IList<ElementId>)CurveElement.ValidateForFaceRegions(Document, IList<ElementId>)CurveLoop.IsValidHorizontalBoundary(IList<CurveLoop>)CurveLoop.IsValidBoundaryOnSketchPlane(SketchPlane, IList<CurveLoop>)CurveLoop.IsValidBoundaryOnView(Document, ElementId, IList<CurveLoop>)Solid
geometry.IsNonSolidgeometry.IsSolidgeometry.LacksSubnodessolid.ComputeIsGeometricallyClosed()solid.ComputeIsTopologicallyClosed()solid.CutWithHalfSpace(Plane)solid.CutWithHalfSpaceModifyingOriginalSolid(Plane)solid.ExecuteBooleanOperation(Solid, BooleanOperationsType)solid.ExecuteBooleanOperationModifyingOriginalSolid(Solid, BooleanOperationsType)Solid.CreateBlendGeometry(CurveLoop, CurveLoop)Solid.CreateBlendGeometry(CurveLoop, CurveLoop, ICollection<VertexPair>)Solid.CreateBlendGeometry(CurveLoop, CurveLoop, ICollection<VertexPair>, SolidOptions)Solid.CreateExtrusionGeometry(IList<CurveLoop>, XYZ, double)Solid.CreateExtrusionGeometry(IList<CurveLoop>, XYZ, double, SolidOptions)Solid.CreateRevolvedGeometry(Frame, IList<CurveLoop>, double, double)Solid.CreateRevolvedGeometry(Frame, IList<CurveLoop>, double, double, SolidOptions)Solid.CreateSweptGeometry(CurveLoop, int, double, IList<CurveLoop>)Solid.CreateSweptGeometry(CurveLoop, int, double, IList<CurveLoop>, SolidOptions)Solid.CreateSweptBlendGeometry(Curve, IList<double>, IList<CurveLoop>, IList<ICollection<VertexPair>>)Solid.CreateSweptBlendGeometry(Curve, IList<double>, IList<CurveLoop>, IList<ICollection<VertexPair>>, SolidOptions)Solid.CreateFixedReferenceSweptGeometry(CurveLoop, int, double, IList<CurveLoop>, XYZ)Solid.CreateFixedReferenceSweptGeometry(CurveLoop, int, double, IList<CurveLoop>, XYZ, SolidOptions)Solid.CreateLoftGeometry(IList<CurveLoop>, SolidOptions)Tessellation
triangulation.ConvertTrianglesToQuads()filter.GetFilteredOutline(Outline)View
view.GetDrawOrderForDetails(ISet<ElementId>)element.GetReferencedViewId()element.ChangeReferencedView(ElementId)elementId.GetReferencedViewId(Document)elementId.ChangeReferencedView(Document, ElementId)SSE point
category.GetSsePointVisibility(Document)category.SetSsePointVisibility(Document, bool)ForgeTypeId
typeId.IsBuiltInParametertypeId.IsBuiltInGrouptypeId.IsSpectypeId.IsValidDataTypetypeId.IsSymboltypeId.IsUnittypeId.IsMeasurableSpectypeId.IsValidUnit(ForgeTypeId)typeId.GetBuiltInParameter()typeId.GetDiscipline()typeId.GetValidUnits()typeId.GetTypeCatalogStringForSpec()typeId.GetTypeCatalogStringForUnit()typeId.GetBuiltInParameterGroupTypeId()typeId.DownloadCompanyName(Document)typeId.DownloadCompanyName(Document, string)typeId.DownloadParameterOptions()typeId.DownloadParameterOptions(string)typeId.DownloadParameter(Document, ParameterDownloadOptions)typeId.DownloadParameter(Document, ParameterDownloadOptions, string)ForgeTypeId.GetAllBuiltInParameters()ForgeTypeId.GetAllBuiltInGroups()ForgeTypeId.GetAllSpecs()ForgeTypeId.GetAllMeasurableSpecs()ForgeTypeId.GetAllDisciplines()ForgeTypeId.GetAllUnits()Label
typeId.ToLabel()typeId.ToSpecLabel()typeId.ToSymbolLabel()typeId.ToUnitLabel()typeId.ToGroupLabel()typeId.ToParameterLabel()failureSeverity.ToLabel()structuralSectionShape.ToLabel()FilteredElementCollector
document.CollectElements()document.CollectElements(ElementId)document.CollectElements(View)document.CollectElements(ICollection<ElementId>)collector.OfClass<T>()collector.OfClasses(IList<Type>)collector.OfClasses(params Type[])collector.ExcludingClass<T>()collector.ExcludingClasses(IList<Type>)collector.ExcludingClasses(params Type[])collector.OfCategories(ICollection<BuiltInCategory>)collector.OfCategories(params BuiltInCategory[])collector.ExcludingCategory(BuiltInCategory)collector.ExcludingCategories(ICollection<BuiltInCategory>)collector.ExcludingCategories(params BuiltInCategory[])collector.OfElements(ICollection<ElementId>)collector.OfCurveElementType(CurveElementType)collector.ExcludingCurveElementType(CurveElementType)collector.OfStructuralType(StructuralType)collector.ExcludingStructuralType(StructuralType)collector.Types()collector.Instances()collector.Rooms()collector.RoomTags()collector.Areas()collector.AreaTags()collector.Spaces()collector.SpaceTags()collector.FamilySymbols(ElementId)collector.FamilySymbols(Family)collector.FamilyInstances(Document, ElementId)collector.FamilyInstances(FamilySymbol)collector.IsCurveDriven()collector.IsViewIndependent()collector.IsPrimaryDesignOptionMember()collector.IsNotPrimaryDesignOptionMember()collector.OwnedByView(ElementId)collector.OwnedByView(View)collector.NotOwnedByView(ElementId)collector.NotOwnedByView(View)collector.VisibleInView(Document, ElementId)collector.VisibleInView(View)collector.NotVisibleInView(Document, ElementId)collector.NotVisibleInView(View)collector.OnLevel(ElementId)collector.OnLevel(Level)collector.NotOnLevel(ElementId)collector.NotOnLevel(Level)collector.InDesignOption(ElementId)collector.InDesignOption(DesignOption)collector.NotInDesignOption(ElementId)collector.NotInDesignOption(DesignOption)collector.InWorkset(WorksetId)collector.NotInWorkset(WorksetId)collector.WithStructuralUsage(StructuralInstanceUsage)collector.WithoutStructuralUsage(StructuralInstanceUsage)collector.WithStructuralWallUsage(StructuralWallUsage)collector.WithoutStructuralWallUsage(StructuralWallUsage)collector.WithStructuralMaterial(StructuralMaterialType)collector.WithoutStructuralMaterial(StructuralMaterialType)collector.WithFamilyStructuralMaterial(StructuralMaterialType)collector.WithoutFamilyStructuralMaterial(StructuralMaterialType)collector.WithPhaseStatus(ElementId, ICollection<ElementOnPhaseStatus>)collector.WithPhaseStatus(ElementId, params ElementOnPhaseStatus[])collector.WithPhaseStatus(Phase, ICollection<ElementOnPhaseStatus>)collector.WithPhaseStatus(Phase, params ElementOnPhaseStatus[])collector.WithoutPhaseStatus(ElementId, ICollection<ElementOnPhaseStatus>)collector.WithoutPhaseStatus(ElementId, params ElementOnPhaseStatus[])collector.WithoutPhaseStatus(Phase, ICollection<ElementOnPhaseStatus>)collector.WithoutPhaseStatus(Phase, params ElementOnPhaseStatus[])collector.WithExtensibleStorage(Guid)collector.WithExtensibleStorage(Schema)collector.HasSharedParameter(string)collector.IntersectingBoundingBox(Outline)collector.IntersectingBoundingBox(Outline, double)collector.NotIntersectingBoundingBox(Outline)collector.NotIntersectingBoundingBox(Outline, double)collector.InsideBoundingBox(Outline)collector.InsideBoundingBox(Outline, double)collector.NotInsideBoundingBox(Outline)collector.NotInsideBoundingBox(Outline, double)collector.ContainingPoint(XYZ)collector.ContainingPoint(XYZ, double)collector.NotContainingPoint(XYZ)collector.NotContainingPoint(XYZ, double)collector.IntersectingElement(Element)collector.NotIntersectingElement(Element)collector.IntersectingSolid(Solid)collector.NotIntersectingSolid(Solid)collector.SelectableInView(Document, ElementId)collector.SelectableInView(View)collector.NotSelectableInView(Document, ElementId)collector.NotSelectableInView(View)collector.WhereParameter(BuiltInParameter)collector.WhereParameter(ElementId)collector.First()collector.FirstOrDefault()collector.Count()collector.Any()ParameterFilterRuleFactory
collector.WhereParameter(parameter).Equals(string)collector.WhereParameter(parameter).Equals(int)collector.WhereParameter(parameter).Equals(double, double)collector.WhereParameter(parameter).Equals(ElementId)collector.WhereParameter(parameter).NotEquals(string)collector.WhereParameter(parameter).NotEquals(int)collector.WhereParameter(parameter).NotEquals(double, double)collector.WhereParameter(parameter).NotEquals(ElementId)collector.WhereParameter(parameter).IsGreaterThan(string)collector.WhereParameter(parameter).IsGreaterThan(int)collector.WhereParameter(parameter).IsGreaterThan(double)collector.WhereParameter(parameter).IsGreaterThan(double, double)collector.WhereParameter(parameter).IsGreaterThan(ElementId)collector.WhereParameter(parameter).IsGreaterThanOrEqualTo(string)collector.WhereParameter(parameter).IsGreaterThanOrEqualTo(int)collector.WhereParameter(parameter).IsGreaterThanOrEqualTo(double, double)collector.WhereParameter(parameter).IsGreaterThanOrEqualTo(ElementId)collector.WhereParameter(parameter).IsLessThan(string)collector.WhereParameter(parameter).IsLessThan(int)collector.WhereParameter(parameter).IsLessThan(double, double)collector.WhereParameter(parameter).IsLessThan(ElementId)collector.WhereParameter(parameter).IsLessThanOrEqualTo(string)collector.WhereParameter(parameter).IsLessThanOrEqualTo(int)collector.WhereParameter(parameter).IsLessThanOrEqualTo(double, double)collector.WhereParameter(parameter).IsLessThanOrEqualTo(ElementId)collector.WhereParameter(parameter).Contains(string)collector.WhereParameter(parameter).NotContains(string)collector.WhereParameter(parameter).StartsWith(string)collector.WhereParameter(parameter).NotStartsWith(string)collector.WhereParameter(parameter).EndsWith(string)collector.WhereParameter(parameter).NotEndsWith(string)collector.WhereParameter(parameter).HasValue()collector.WhereParameter(parameter).HasNoValue()collector.WhereParameter(parameter).IsAssociatedWithGlobalParameter(ElementId)collector.WhereParameter(parameter).IsNotAssociatedWithGlobalParameter(ElementId)Families and modeling
Family
family.CanBeConvertedToFaceHostBasedfamily.ConvertToFaceHostBased()family.CheckIntegrity()elementId.CanBeConvertedToFaceHostBased(Document)elementId.ConvertToFaceHostBased(Document)elementId.CheckFamilyIntegrity(Document)Form.CanBeDissolved(Document, ICollection<ElementId>)Form.DissolveForms(Document, ICollection<ElementId>)Form.DissolveForms(Document, ICollection<ElementId>, out ICollection<ElementId>)FamilySymbol
familySymbol.IsAdaptiveFamilySymbolfamilySymbol.CreateAdaptiveComponentInstance()familySymbol.SetStructuralSection(StructuralSection)FamilySymbol.GetProfileSymbols(Document, ProfileFamilyUsage, bool)FamilyInstance
familyInstance.IsVoidInstanceCuttingElementfamilyInstance.GetElementsBeingCut()familyInstance.GetStructuralSection()familyInstance.GetStructuralElementDefinitionData(out StructuralElementDefinitionData)Wall
wall.IsJoinAllowedAtEnd(int)wall.AllowJoinAtEnd(int)wall.DisallowJoinAtEnd(int)Adaptive components
family.IsAdaptiveComponentFamilyfamily.GetNumberOfAdaptivePoints()family.GetNumberOfAdaptivePlacementPoints()family.GetNumberOfAdaptiveShapeHandlePoints()familySymbol.IsAdaptiveFamilySymbolfamilySymbol.CreateAdaptiveComponentInstance()familyInstance.HasAdaptiveFamilySymbolfamilyInstance.IsAdaptiveComponentInstancefamilyInstance.IsAdaptiveInstanceFlippedfamilyInstance.SetAdaptiveInstanceFlipped(bool)familyInstance.MoveAdaptiveComponentInstance(Transform, bool)familyInstance.GetAdaptivePlacementPointElementRefIds()familyInstance.GetAdaptivePointElementRefIds()familyInstance.GetAdaptiveShapeHandlePointElementRefIds()referencePoint.IsAdaptivePlacementPointreferencePoint.IsAdaptivePointreferencePoint.IsAdaptiveShapeHandlePointreferencePoint.MakeAdaptivePoint(AdaptivePointType)referencePoint.GetAdaptivePlacementNumber()referencePoint.GetAdaptivePointConstraintType()referencePoint.GetAdaptivePointOrientationType()referencePoint.SetAdaptivePlacementNumber(int)referencePoint.SetAdaptivePointConstraintType(AdaptivePointConstraintType)referencePoint.SetAdaptivePointOrientationType(AdaptivePointOrientationType)Annotation
element.IsMultiAlignSupportedelement.GetAnnotationOutlineWithoutLeaders()element.MoveWithAnchoredLeaders(XYZ)Detail
element.IsDetailElement(View)element.BringForward(View)element.BringToFront(View)element.SendBackward(View)element.SendToBack(View)elementId.IsDetailElement(Document, View)elementId.BringForward(Document, View)elementId.BringToFront(Document, View)elementId.SendBackward(Document, View)elementId.SendToBack(Document, View)elementIds.AreDetailElements(Document, View)elementIds.BringForward(Document, View)elementIds.BringToFront(Document, View)elementIds.SendBackward(Document, View)elementIds.SendToBack(Document, View)view.GetDrawOrderForDetails(ISet<ElementId>)Parts
element.HasAssociatedPartselement.GetAssociatedParts(bool, bool)element.GetAssociatedPartMaker()elementId.HasAssociatedParts(Document)elementId.GetAssociatedParts(Document, bool, bool)elementId.GetAssociatedPartMaker(Document)elementId.GetSplittingCurves(Document)elementId.GetSplittingCurves(Document, out Plane)elementId.GetSplittingElements(Document)linkElementId.IsValidForCreateParts(Document)linkElementId.HasAssociatedParts(Document)linkElementId.GetAssociatedParts(Document, bool, bool)linkElementId.GetAssociatedPartMaker(Document)part.IsMergedPartpart.IsPartDerivedFromLinkpart.GetChainLengthToOriginal()part.GetMergedParts()part.GetSplittingCurves()part.GetSplittingCurves(out Plane)part.GetSplittingElements()partMaker.GetPartMakerMethodToDivideVolumeFw()elementIds.AreElementsValidForCreateParts(Document)elementIds.ArePartsValidForDivide(Document)elementIds.ArePartsValidForMerge(Document)elementIds.CreateParts(Document)elementIds.CreateMergedPart(Document)elementIds.DivideParts(Document, ICollection<ElementId>, IList<Curve>, ElementId)elementIds.FindMergeableClusters(Document)hostOrLinkElements.CreateParts(Document)Assembly
assemblyInstance.AcquireViews(AssemblyInstance)assemblyInstance.Create3DOrthographic()assemblyInstance.Create3DOrthographic(ElementId, bool)assemblyInstance.CreateDetailSection(AssemblyDetailViewOrientation)assemblyInstance.CreateDetailSection(AssemblyDetailViewOrientation, ElementId, bool)assemblyInstance.CreateMaterialTakeoff()assemblyInstance.CreateMaterialTakeoff(ElementId, bool)assemblyInstance.CreatePartList()assemblyInstance.CreatePartList(ElementId, bool)assemblyInstance.CreateSheet(ElementId)assemblyInstance.CreateSingleCategorySchedule(ElementId)assemblyInstance.CreateSingleCategorySchedule(ElementId, ElementId, bool)Mass
massInstance.IsMassFamilyInstancemassInstance.GetMassGrossFloorArea()massInstance.GetMassGrossSurfaceArea()massInstance.GetMassGrossVolume()massInstance.GetMassLevelDataIds()massInstance.GetMassJoinedElementIds()massInstance.GetMassLevelIds()massInstance.AddMassLevelData(ElementId)massInstance.RemoveMassLevelData(ElementId)massInstanceId.IsMassFamilyInstance(Document)massInstanceId.GetMassGrossFloorArea(Document)massInstanceId.GetMassGrossSurfaceArea(Document)massInstanceId.GetMassGrossVolume(Document)massInstanceId.GetMassLevelDataIds(Document)massInstanceId.GetMassJoinedElementIds(Document)massInstanceId.GetMassLevelIds(Document)massInstanceId.AddMassLevelData(Document, ElementId)massInstanceId.RemoveMassLevelData(Document, ElementId)Disciplines
MEP
Pipe
pipe.HasOpenConnectorpipe.PlaceCapOnOpenEnds()pipe.PlaceCapOnOpenEnds(ElementId)pipe.BreakCurve(XYZ)connector.ConnectPipePlaceholdersAtElbow(Connector)connector.ConnectPipePlaceholdersAtTee(Connector, Connector)connector.ConnectPipePlaceholdersAtCross(Connector, Connector, Connector)placeholderIds.ConvertPipePlaceholders(Document)Duct
duct.BreakCurve(XYZ)duct.ConnectAirTerminal(ElementId)connector.ConnectDuctPlaceholdersAtElbow(Connector)connector.ConnectDuctPlaceholdersAtTee(Connector, Connector)connector.ConnectDuctPlaceholdersAtCross(Connector, Connector, Connector)placeholderIds.ConvertDuctPlaceholders(Document)Fabrication
document.ExportToPcf(string, IList<ElementId>)connector.ValidateFabricationConnectivity(Connector)MEP Support
document.NewDuctworkStiffener(FamilySymbol, Element, double)Structure
Rebar
rebar.CanBeSpliced(RebarSpliceOptions, Line, XYZ)rebar.CanBeSpliced(RebarSpliceOptions, Line, ElementId)rebar.CanBeSpliced(RebarSpliceOptions, RebarSpliceGeometry)rebar.GetLapDirectionForSpliceGeometryAndPosition(RebarSpliceGeometry, RebarSplicePosition)rebar.GetSpliceChain()rebar.GetSpliceGeometries(RebarSpliceOptions, RebarSpliceRules)rebar.Splice(RebarSpliceOptions, Line, XYZ)rebar.Splice(RebarSpliceOptions, Line, ElementId)rebar.Splice(RebarSpliceOptions, IList<RebarSpliceGeometry>)rebar.UnifyRebarsIntoOne(ElementId)elementId.GetRebarSpliceGeometries(Document, RebarSpliceOptions, RebarSpliceRules)elementId.SpliceRebar(Document, RebarSpliceOptions, Line, XYZ)elementId.SpliceRebar(Document, RebarSpliceOptions, Line, ElementId)elementId.SpliceRebar(Document, RebarSpliceOptions, IList<RebarSpliceGeometry>)elementId.UnifyRebarsIntoOne(Document, ElementId)sourceRebars.AlignByFace(Document, Reference, Reference)sourceRebars.AlignByHost(Document, Element)rebarShape.GetAllParameters()externalDefinition.IsValidRebarShapeParameterexternalDefinition.GetRebarShapeParameterElementId(Document)externalDefinition.GetOrCreateRebarShapeParameterElementId(Document)definitionFile.SearchExternalDefinition(Document, ElementId)definitionFile.SearchExternalDefinition(Parameter)document.NewRebarSpliceType(string)document.NewRebarCrankType(string)element.GetRebarSpliceLapLengthMultiplier()element.GetRebarSpliceShiftOption()element.GetRebarSpliceStaggerLengthMultiplier()element.SetRebarSpliceLapLengthMultiplier(double)element.SetRebarSpliceShiftOption(RebarSpliceShiftOption)element.SetRebarSpliceStaggerLengthMultiplier(double)element.GetRebarCrankLengthMultiplier()element.GetRebarCrankOffsetMultiplier()element.GetRebarCrankRatio()element.SetRebarCrankLengthMultiplier(double)element.SetRebarCrankOffsetMultiplier(double)element.SetRebarCrankRatio(double)elementId.GetRebarSpliceLapLengthMultiplier(Document)elementId.GetRebarSpliceShiftOption(Document)elementId.GetRebarSpliceStaggerLengthMultiplier(Document)elementId.SetRebarSpliceLapLengthMultiplier(Document, double)elementId.SetRebarSpliceShiftOption(Document, RebarSpliceShiftOption)elementId.SetRebarSpliceStaggerLengthMultiplier(Document, double)elementId.GetRebarCrankLengthMultiplier(Document)elementId.GetRebarCrankOffsetMultiplier(Document)elementId.GetRebarCrankRatio(Document)elementId.SetRebarCrankLengthMultiplier(Document, double)elementId.SetRebarCrankOffsetMultiplier(Document, double)elementId.SetRebarCrankRatio(Document, double)Structural framing
familyInstance.CanFlipFramingEndsfamilyInstance.FlipFramingEnds()familyInstance.IsFramingJoinAllowedAtEnd(int)familyInstance.AllowFramingJoinAtEnd(int)familyInstance.DisallowFramingJoinAtEnd(int)familyInstance.GetFramingEndReference(int)familyInstance.IsFramingEndReferenceValid(int, Reference)familyInstance.CanSetFramingEndReference(int)familyInstance.SetFramingEndReference(int, Reference)familyInstance.RemoveFramingEndReference(int)Structural sections
familyInstance.GetStructuralSection()familyInstance.GetStructuralElementDefinitionData(out StructuralElementDefinitionData)familySymbol.SetStructuralSection(StructuralSection)elementId.GetStructuralSection(Document)elementId.SetStructuralSection(Document, StructuralSection)elementId.GetStructuralElementDefinitionData(Document, out StructuralElementDefinitionData)Analytical
element.IsAnalyticalElementelement.IsPhysicalElementelementId.IsAnalyticalElement(Document)elementId.IsPhysicalElement(Document)document.GetAnalyticalToPhysicalAssociationManager()Model access and interoperability
ModelPath
modelPath.ConvertToUserVisiblePath()modelPath.CreateNewLocal(ModelPath)modelPath.GetUserWorksetInfo()modelGuid.ConvertToCloudPath(Guid, string)application.GetAllCloudRegions()Worksharing
element.GetCheckoutStatus()element.GetCheckoutStatus(out string)element.GetWorksharingTooltipInfo()element.GetModelUpdatesStatus()elementId.GetCheckoutStatus(Document)elementId.GetCheckoutStatus(Document, out string)elementId.GetWorksharingTooltipInfo(Document)elementId.GetModelUpdatesStatus(Document)document.RelinquishOwnership(RelinquishOptions, TransactWithCentralOptions)worksets.CheckoutWorksets(Document)worksets.CheckoutWorksets(Document, TransactWithCentralOptions)elementIds.CheckoutElements(Document)elementIds.CheckoutElements(Document, TransactWithCentralOptions)Coordination model
element.IsCoordinationModelInstanceelement.IsCoordinationModelTypeelement.GetCoordinationModelVisibilityOverride(View)element.SetCoordinationModelVisibilityOverride(View, bool)element.GetAllPropertiesForReferenceInsideCoordinationModel(Reference)element.GetCategoryForReferenceInsideCoordinationModel(Reference)element.GetVisibilityOverrideForReferenceInsideCoordinationModel(View, Reference)element.SetVisibilityOverrideForReferenceInsideCoordinationModel(View, Reference, bool)elementType.GetCoordinationModelTypeData()elementType.GetCoordinationModelColorOverride(View)elementType.SetCoordinationModelColorOverride(View, Color)elementType.GetCoordinationModelTransparencyOverride(View)elementType.SetCoordinationModelTransparencyOverride(View, int)elementType.ContainsCoordinationModelCategory(string)elementType.GetCoordinationModelColorOverrideForCategory(View, string)elementType.SetCoordinationModelColorOverrideForCategory(View, string, Color)elementType.GetCoordinationModelVisibilityOverrideForCategory(View, string)elementType.SetCoordinationModelVisibilityOverrideForCategory(View, string, bool)elementType.ReloadCoordinationModel()elementType.ReloadAutodeskDocsCoordinationModelFrom(string, string, string, string)elementType.ReloadLocalCoordinationModelFrom(string)elementType.UnloadCoordinationModel()document.GetAllCoordinationModelInstanceIds()document.GetAllCoordinationModelTypeIds()document.LinkCoordinationModelFromLocalPath(string, CoordinationModelLinkOptions)document.Link3DViewFromAutodeskDocs(string, string, string, string, CoordinationModelLinkOptions)Export
element.ExportIdsubelement.ExportIdelementId.GetExportId(Document)document.GbXmlIdsurface.GetNurbsSurfaceData()External files
element.IsExternalFileReferenceelement.GetExternalFileReference()elementId.IsExternalFileReference(Document)elementId.GetExternalFileReference(Document)document.GetAllExternalFileReferences()External resources
document.GetAllExternalResourceReferences()document.GetAllExternalResourceReferences(ExternalResourceType)resourceType.GetServers()externalResourceReference.ServerSupportsAssemblyCodeDataexternalResourceReference.ServerSupportsCadLinksexternalResourceReference.ServerSupportsIfcLinksexternalResourceReference.ServerSupportsKeynotesexternalResourceReference.ServerSupportsRevitLinksExternalResourceReference.IsValidShortName(Guid, string)Point clouds
filter.GetFilteredOutline(Outline)DirectContext3D
category.IsADirectContext3DHandleCategorycategory.GetDirectContext3DHandleInstances(Document)category.GetDirectContext3DHandleTypes(Document)element.IsADirectContext3DHandleInstanceelement.IsADirectContext3DHandleTypeBreaking Changes
The entire library has been rewritten using C# 14 extension member syntax.
All extension methods are now declared inside
extension(T)blocks, which means they participate in member lookup and appear in IntelliSense alongside native Revit API members. There are no changes to call sites — allexisting code continues to compile without modification.
Methods converted to properties.
The following boolean methods have been converted to read-only properties to align with modern C# conventions and Revit API style:
element.CanBeDeleted(wasCanDeleteElement())element.CanBeMirrored(wasCanMirrorElement())family.CanBeConvertedToFaceHostBased(wasCanConvertToFaceHostBased())element.IsAnalyticalElement(wasIsAnalyticalElement())element.IsPhysicalElement(wasIsPhysicalElement())document.AreGlobalParametersAllowed(wasAreGlobalParametersAllowed())typeId.IsBuiltInParameter(wasIsBuiltInParameter())parameter.IsBuiltInParameter(wasIsBuiltInParameter())typeId.IsBuiltInGroup(wasIsBuiltInGroup())typeId.IsSpec(wasIsSpec())typeId.IsValidDataType(wasIsValidDataType())typeId.IsSymbol(wasIsSymbol())typeId.IsUnit(wasIsUnit())typeId.IsMeasurableSpec(wasIsMeasurableSpec())pipe.HasOpenConnector(wasHasOpenConnector())element.IsAllowedForSolidCut(wasIsAllowedForSolidCut())element.IsElementFromAppropriateContext(wasIsElementFromAppropriateContext())solid.IsValidForTessellation(wasIsValidForTessellation())familyInstance.CanFlipFramingEnds(wasCanFlipFramingEnds())family.CanBeConvertedToFaceHostBased(wasCanBeConvertedToFaceHostBased())externalDefinition.IsValidRebarShapeParameter(wasIsValidRebarShapeParameter())referencePoint.IsAdaptivePlacementPoint(wasIsAdaptivePlacementPoint)referencePoint.IsAdaptivePoint(wasIsAdaptivePoint)referencePoint.IsAdaptiveShapeHandlePoint(wasIsAdaptiveShapeHandlePoint)Renamed methods.
Old names are marked
[Obsolete]with[CodeTemplate]attributes that provide automatic IDE quick-fixes:CanDeleteElement()→CanBeDeletedCanMirrorElement()→CanBeMirroredCanMirrorElements()→CanBeMirroredCanConvertToFaceHostBased()→CanBeConvertedToFaceHostBasedAreEquals(BuiltInCategory)→IsCategory(BuiltInCategory)AreEquals(BuiltInParameter)→IsParameter(BuiltInParameter)Namespace changes.
Several extension classes have been moved to dedicated namespaces to prevent type resolution conflicts in headless environments such as unit tests and Revit Design Automation:
RibbonExtensionsNice3point.Revit.ExtensionsNice3point.Revit.Extensions.UIContextMenuExtensionsNice3point.Revit.ExtensionsNice3point.Revit.Extensions.UIUiApplicationExtensionsNice3point.Revit.ExtensionsNice3point.Revit.Extensions.UIPresentationFrameworkExtensionsNice3point.Revit.ExtensionsNice3point.Revit.Extensions.UISystemExtensionsNice3point.Revit.ExtensionsNice3point.Revit.Extensions.RuntimeAnalyticalToPhysicalAssociationManagerExtensionsNice3point.Revit.ExtensionsNice3point.Revit.Extensions.StructureLightGroupManagerExtensionsNice3point.Revit.ExtensionsNice3point.Revit.Extensions.LightingSpatialFieldManagerExtensionsNice3point.Revit.ExtensionsNice3point.Revit.Extensions.AnalysisPlumbingUtilsExtensionsNice3point.Revit.ExtensionsNice3point.Revit.Extensions.PlumbingMechanicalUtilsExtensionsNice3point.Revit.Extensions.MechanicalCoordinationModelLinkUtilsExtensionsNice3point.Revit.Extensions.ExternalDataRemoved members.
The following members have been removed without a replacement or superseded by built-in language and framework features:
SystemExtensions.AppendPath(string, params string[])— usePath.CombinedirectlySystemExtensions.Contains(string, StringComparison)— use Polyfills packageImperialExtensions are marked
[Obsolete]. Use the UnitsNet package instead.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.