Skip to content

Version History

Andreas Dieckmann edited this page Jun 28, 2024 · 592 revisions

Clockwork for Dynamo 3.x

3.0.0

(not yet released)

Revit version compatibility:

  • All nodes checked against Revit 2025.1 / Dynamo 3.0
    • AlmostZero: Replaced an obsolete Formula node
    • Booleans.CountBlocks: Replaced an obsolete Formula node

Clockwork for Dynamo 2.x

2.12.0

(not yet released)

New nodes:

  • Element.Assembly
  • RoomTag.IsInRoom

Revit version compatibility:

  • All nodes checked against Revit 2024.2 / Dynamo 2.19
    • Fixed a transaction-related bug in Element.MoveToPoint (contribution by Deniz Maral)
  • Added support for TopoSolids in these nodes:
    • Element.Host+
    • Element.Location+
    • Element.ResetSlabShape
    • Element.SlabShapeByPoints
    • Element.SlabShapeHasBeenModified
    • Element.SubComponents
    • Element.SuperComponent

Code breaking changes:

  • Assembly.FromElements now either accepts a single name with a flat list of elements or a list of names with a nested list of elements
  • Document.AddLink now only returns the RevitLinkInstance (or null if the model couldn't be linked)
  • All separator nodes have been simplified in that the SketchPlane input has been removed (SketchPlane will now automatically be derived from given floor/area plan). Aditionally, any curves passed to the nodes will now automatically be projected onto the sketchplane. Affected nodes:
    • AreaSeparator.FromCurve
    • RoomSeparator.FromCurve
    • SpaceSeparator.FromCurve
  • Also see list of deprecated nodes below

Changes:

  • Assembly.AddMembers now supports adding multiple members to multiple assemblies
  • Assembly.RemoveMembers now additionally outputs a boolean to indicate success/failure
  • Dimension.ReferencedElements now better supports linked models. It returns the actual referenced element for references from linked models (not just the RevitLinkInstance). Added an extra output port that returns the RevitLinkInstance (or null if the referenced element is from the current model). Added another extra output port that returns a stable reference (string representation) to the dimensioned element.
  • Document.SaveAs can now save project and family templates, too (suggested by jake1108)
  • Element.Category+ now supports ColorFillSchemes
  • Element.CopyByVector now supports single elements and multiple vectors
  • Element.CopyToLevel now supports single elements and multiple levels
  • Element.Host+ now supports Toposurface subregions
  • Element.Level now supports ramps
  • Element.Location+ now supports rectangular wall openings and has improved support for sketch-based elements
  • Element.Name+ now supports documents
  • Element.SetType (formerly FamilyInstance.SetType) should now support most Revit element types
  • Element.SubComponents now supports MultiSegmentGrids and Toposurfaces
  • Element.SuperComponent now supports MultiSegmentGrids
  • FamilyInstance.ByPointInView now supports multiple views (suggested by saw31) and multiple family types
  • RevitFaceReference.FromDynamoSurface now also returns a stable reference (string representation) to the face
  • System.Version now supports Windows 11
  • All nodes that include element naming now automatically replace illegal characters in names. Affected nodes:
    • Assembly.FromElements
    • FamilyType.Duplicate
    • Group.FromElements
    • Material.Duplicate
    • SelectionSet.ByElements
    • Sheet.PlaceholderByNumberAndName
    • View.Duplicate
    • View.DuplicateAsDependent
    • View.DuplicateWithDetailing
  • Rewrote more nodes in an ongoing effort to get rid of nested custom nodes (mostly TurnIntoList & ReturnListOrSingleValue nodes):
    • All Families of Category
    • AreaSeparator.FromCurve
    • Assembly.AddMembers
    • Assembly.FromElements
    • Assembly.RemoveMembers
    • Document.AddLink
    • Document.ProjectParametersByCategory
    • Document.ProjectPosition
    • Element.Area
    • Element.CopyByVector
    • Element.CopyToLevel
    • Element.Location+
    • Element.Materials+
    • Element.ResetSlabShape
    • Element.SetMaterialParameterByCategory
    • Element.SetType
    • Element.SetWorkset
    • FamilyInstance.ByPointInView
    • FamilyInstance.CopingElements
    • FamilyInstance.HandOrientation
    • FamilyInstance.SetLevel
    • FamilyType.CompoundStructureLayers
    • FamilyType.Duplicate
    • FamilyType.SetCompoundLayerMaterial
    • FamilyType.SetCompoundLayerWidth
    • GroupType.Groups
    • Material.Duplicate
    • RevitFace.FromDynamoSurface
    • RevitFaceReference.FromDynamoSurface
    • Room.Finishes
    • RoomSeparator.FromCurve
    • Sheet.PlaceholderByNumberAndName
    • SpaceSeparator.FromCurve
    • View.SetDesignOption
    • View.SetPhase

Bug fixes:

  • All Elements Of Category+ now will return an empty list instead of null when passed an invalid category
  • All Elements Of Family Type+ now will return an empty list instead of null when passed an invalid element type
  • All Families Of Category now will return an empty list instead of null if no families of the given category are found or when passed an invalid category
  • All Family Types Of Category now will return an empty list instead of null when passed an invalid category
  • Assembly.FromElements will return null instead of failing entirely if the assembly creation fails. It will also no longer fail if an assembly with that name already exists
  • Element.Category+ now will not fail when receiving an empty list or an element with an empty Category property
  • Element.SlabShapeHasBeenModified now will not fail when receiving an in-place floor / roof family
  • Element.SuperComponent now supports beams in beam systems again
  • Grid.Plane will now function properly again (cause was an issue in a nested List.ReplaceItemAtIndex+ node)
  • List.ReplaceEmptyLists will now function properly again (cause was an issue in a nested List.ReplaceItemAtIndex+ node)
  • List.ReplaceItemAtIndex+ will now replace multiple indices with a singleton again and return the original list when passed a null index

Deprecation:

2.6.0

New nodes:

  • Category.ResetMaterial
  • Category.SetMaterial
  • FamilyDocument.Properties
  • GenericForm.IsSolid
  • ParameterFilterElement.Parameters
  • ScheduleField.Parameter
  • VersionNumber.Compare (replaces VersionNumber.ToInteger)
  • View3D.SetSectionBox

Revit version compatibility:

  • Modified SchemaField.Properties for Revit 2022+ compatibility
  • All nodes checked against Revit 2023.1 / Dynamo 2.16
    • Modified Document.ProjectParameters for compatibility
    • Modified Document.ProjectParametersByCategory for compatibility
    • Modified FamilyParameter.Properties for compatibility

Changes:

  • Support for documentation browser view extension
  • Added deprecation warnings to node descriptions
  • Fixed node naming for all nested nodes
  • Assembly.Members now works with assemblies in linked models as well
  • Element.SetName now automatically replaces illegal characters in names
  • Element.SuperComponent now also supports topography subregions
  • Room.Boundaries now correctly identifies room bounding elements for all segments of walls or columns protruding into a room
  • Room.Finishes now supports room bounding elements in linked models
  • Renamed "All Elements Of Type+", "Document.ElementTypes" and "ElementType.ByName" to "All Elements Of Class+", "Document.ElementClasses" and "ElementClass.ByName" to reflect nomenclature changes in OOTB nodes introduced with the Revit 2023 version
  • Rewrote many nodes in an ongoing effort to get rid of nested TurnIntoList nodes:
    • Array.AssociatedFamilyParameter
    • Assembly.Disassemble
    • Assembly.Members
    • Dimension.AssociatedFamilyParameter
    • Element.AssociatedFamilyParameters
    • Element.ElementType+
    • Element.IsRelatedToMass
    • Family.HasRoomCalculationPoint
    • FileSystem.FileSize
    • FootingType.BreaksAtInserts
    • Group.Members
    • GroupType.Groups
    • ImportInstance.IsLinked
    • List.ReplaceItemAtIndex+
    • Object.Members
    • Object.MembersByName
    • Part.SourceElement
    • RoomTag.Room
    • SelectionSet.Elements
    • Sheet.Scale
    • Sheet.Schedules
    • String.ReplaceIllegalFilenameCharacters
    • String.ReplaceIllegalRevitCharacters
    • Topography.IsSubregion
    • View.IsPerspective
    • View.IsViewTemplate+
    • View.Scale

Bug fixes:

  • Fixed a stability issue that had previously caused graphs to crash when being re-run (contribution by Deniz Maral). Affected nodes (most nodes with category inputs):
    • All Elements Of Category+
    • All Families Of Category
    • All Family Types Of Category
    • All Intersecting Elements of Category By BoundingBox
    • All View-Dependent Family Instances Of Category
    • Category.Material
    • Category.Subcategories
    • Category.Type
    • Document.ProjectParametersByCategory
    • Element.Category+
    • Element.IsOfCategory
    • View.CategoryIsVisible
    • View.TemporarilyIsolateCategory
  • Element.Category+ now processes list correctly that contain SketchPlane objects
  • Element.Name+ now correctly returns the names of areas and topography elements
  • Fixed an issue in Element.Location+ where the node would fail when processing locations of super short line-based elements. It will now return their location as a Point instead of a Curve.
  • ParameterFilterElement.FilterRuleString now discards system parameters with unresolvable names

2.4.0

New nodes:

  • All Elements of Type+
  • CardinalDirectionFromAngle
  • Document.ComputeVolumes
  • Document.Schemas
  • Document.SetComputeVolumes
  • Element.DesignOption
  • Element.ExtensibleStorageData
  • Element.MoveToPoint
  • Family.IsEditable
  • Family.Types+
  • FamilyParameter.GetValueByFamilyType
  • ParameterFilterElement.FilterRuleString
  • Railing.ByPathTypeAndLevel
  • RevitLinkType.IsNested
  • Schedule.Fields
  • ScheduleField.Type
  • Schema.Fields
  • Schema.Properties
  • SchemaField.Properties
  • SharedParameterElement.GUID
  • Vector.CardinalDirection

Revit version compatibility:

  • All nodes checked against Revit 2021.1 / Dynamo 2.6
    • Modified Document.DesignOptions for compatibility
    • SharedParameterFile.Parse now supports the additional HideWhenNoValue column introduced with Revit 2021
  • All nodes checked against Revit 2022.1 / Dynamo 2.12
    • Modified DisplayUnit.ToInternalUnit for compatibility
    • Modified Document.ProjectParameters for compatibility
    • Modified Document.ProjectParametersByCategory for compatibility
    • Modified Document.ProjectPosition for compatibility
    • Modified Document.UnitTypes for compatibility
    • Element.Name+ now also supports ForgeTypeId objects
    • Modified FamilyParameter.GetValueByFamilyType for compatibility
    • Modified FamilyParameter.Properties for compatibility
    • Modified InternalUnit.ToDisplayUnit for compatibility
    • Modified UnitType.DisplayUnitType for compatibility
    • These changes also solve compatibility issues for the following nodes:
      • Element.Area
      • FamilyType.CompoundStructureLayers
      • FamilyType.SetCompoundLayerWidth
      • Room.Finishes

Changes:

  • All Families of Category+ now returns families grouped by category
  • Element.Category+ now also returns categories of view filters (ParameterFilterElement objects)
  • Element.Location+ now also returns a view's origin
  • Element.Location+ now also supports IndependentTags
  • Element.Location+ now also supports BasePoints
  • Element.Location+ now also supports ReferencePoints
  • Element.Name+ now also supports performance advisor rules
  • Element.Name+ now also supports schedule fields
  • Element.SubComponents now also supports GeometryCombinations (family editor only)
  • ElementType.ByName performance improved (contribution by Deniz Maral)
  • FamilyParameter.Properties now returns GUIDs as strings
  • FamilyType.SetCompoundLayerMaterial now supports lists as inputs for layer indices and widths
  • FamilyType.SetCompoundLayerWidth now supports lists as inputs for layer indices and widths
  • RoomTag.SetType now works with standard lacing

Bug fixes:

  • Dynamo.Version now supports two-digit version numbers
  • Element.Category+ deals correctly with Null inputs again
  • Element.Level now stable when fed Null values
  • Element.Location+ now correctly returns sketch loops of roofs with multiple sketch loops
  • Element.SetName now supports renaming archi-lab Worksets again
  • Element.SetSubcategory now works with native Revit subcategories as well as Dynamo-wrapped subcategories
  • Hex.ToDecimal now works in Dynamo versions > 2.1 as well

Other:

  • Complete overhaul of package samples

2.3.0

New nodes:

  • All Elements Of Category+
  • Color.ByName
  • Color.Name
  • Document.Enums
  • Element.CurtainGridLines
  • Element.DependentElements
  • Element.IsOfCategory (re-added to package)
  • Element.Mirror
  • Enum.Values
  • FamilyInstance.IsMirrored
  • FamilyParameter.SetFormula
  • FileSystem.FileCreated
  • FileSystem.FileLastAccessed
  • FileSystem.FileLastModified
  • FilledRegionType.FillPatterns
  • ParameterElement.SetAllowVaryBetweenGroups
  • RevitLinkType.AttachmentType
  • RevitLinkType.PathType
  • Solid.ByUnion+

Changes:

  • Key feature of this release: Most Clockwork nodes that have category inputs now not only support categories but also BuiltInCategories and BuiltInCategories as strings. That means that you can use them to query categories that are not supported by OOTB Dynamo nodes (e.g. LegendComponents, Profiles etc.). Affected nodes:
    • All Elements Of Category+
    • All Families Of Category
    • All Family Types Of Category
    • All Intersecting Elements Of Category By BoundingBox
    • All Intersecting Elements Of Category By Vector
    • All Placed Family Types of Category
    • All View-Dependent Family Instances Of Category
    • Category.Material
    • Category.Subcategories
    • Category.Type
    • Document.ContainsElementsOfCategory
    • Document.ProjectParametersByCategory
    • Element.IsOfCategory
    • Room.InsertsOfBoundariesByCategory
    • View.CategoryIsVisible
    • View.PermanentlyIsolateCategory
    • View.TemporarilyIsolateCategory
  • The following nodes now support linked documents:
    • All Placed Element Types Of Category
    • Document.ContainsElementsOfCategory
    • Element.AllInstances
    • Element.AllInstancesAtLevel
    • Element.AllViewDependentInstances
  • BuiltInCategory.ByName and Document.BuiltInCategories now have an option to also return categories that are not supported by OOTB Dynamo nodes
  • Document.ProjectParameters and Element.Category+ now have an additional output for BuiltInCategories
  • Element.Location+ now returns the profiles of ExtrusionRoofs
  • Element.Panels now has an option to return panels ordered by rows
  • Element.SetName now supports the renaming of worksets.
  • Group.Ungroup now has a second output that reports success as a boolean. Additionally, returning the ungrouped elements can now be turned off for two reasons:
    • Better performance when dealing with large numbers of groups.
    • Circumventing a bug where DynamoRevit will fail to instantiate TextNote elements contained in detail groups when run on top of non-English Revit.
  • SpotCoordinate.ByPoint and SpotElevation.ByPoint now work on any type of reference (previously only faces)

Revit version compatibility:

  • Entire package tested against Revit 2020.2 / Dynamo 2.3.
  • Modified the following nodes for compatibility:
    • Application.BasicFileInfo
    • Element.ByID
    • Material.Assets
    • Point.IsOutOfPlane
    • PointSequence.ContainsOutOfPlanePoints
    • ScopeIf+

Bug fixes:

  • Fixed a superweird bug in CustomNode.Properties where parts of the node's Python code would be changed when loading the node into Dynamo
  • DirectShape.FromRevitGeometry is now also working in Revit 2018 and later
  • Fixed order of outputs for Document.ProjectParameteryByCategory
  • Element.Inserts will now return inserts correctly for a list of elements
  • Element.Location+ will now return all curves of sketch-based elements
  • Fixed missing custom node reference in FibonacciSequence.FromValues
  • Fixed wrong Flatten reference in Grid.FromFace and Pattern.Quadrilateral2byX
  • RevisionCloud.FromElements now works as expected again
  • Room.State will now report rooms correctly as non-enclosed that only had their room-bounding elements removed during script execution.
  • Fixed a bug where SelectionSet.ByElements would return null in some odd cases
  • SharedParameterFile.Parse now supports older SP files as well that don't contain all columns (e.g. description and usermodifiable columns)
  • View.PrimaryView now works for all view types

2.1.2

Bug fixes:

  • Fixed a bug in Element.SetName

2.1.1

New nodes:

  • AngularDimension.ByElements
  • Array.GroupType
  • Dimension.ReferencedElements
  • Document.UnitTypes
  • ElementType.ByName
  • ElevationMarker.Views
  • FamilyParameter.MakeInstance
  • FamilyParameter.MakeType
  • SharedParameterFile.Parse
  • SpotCoordinate.ByPoint

Changes:

  • All Intersecting Elements Of Category By Vector now performs a lot faster and uses a temporarily generated view to perform its query
  • All View-Dependent Family Instances of Category now works for dependent views as well
  • Document.ElementTypes now shows all element types that are available in the OOTB dropdown node "Element Types". It also has a second output for the type names now.
  • Element.Category+ now also returns the category of the currently opened family document
  • Element.CutGeometry & Element.JoinGeometry now also return the original input elements
  • Element.Inserts now also returns railings hosted on stairs
  • Element.Location+ now has two additional outputs: "hasMultipleCurves" (boolean) and "multipleCurves" (lists of curves). The existing outputs "curves", "curveEndpoints" and "isCurve" will no longer output curves, points and True respectively for elements with multiple location curves (e.g. floor slabs). Additionally, the node now supports these additional object types:
    • Curtain grid lines
    • Dimensions
    • Grids
    • Openings (currently only non-rectangular ones, though)
    • Railings
    • Top rails
    • Stair landings
    • Stair runs
  • Element.Name+ now also returns names of family parameters
  • Element.Level now also supports stairs, stair runs, stair landings and extruded roofs
  • Element.SetName now also supports renaming of family parameters (while in a family document)
  • FamilyInstance.SubComponents was renamed to Element.SubComponents because it now also supports beam systems, stairs and railings.
  • FamilyInstance.SuperComponent was renamed to Element.SuperComponent because it now also supports beams in beam systems, stair components, hand rails and top rails.
  • UnitType.DisplayUnitType now also supports native Revit unit types (previously only Dynamo unit types)
  • Wall.Flip now reports success/failure as a boolean

Bug fixes:

  • Element.Category+ will no longer fail when processing null values
  • List.ReplaceItemAtIndex+ will no longer fail when processing 2D lists. This should also fix similar issues with List.ReplaceEmptyLists and List.ReplaceNulls.
  • View.ViewTemplate will no longer fail when processing null values or non-views
  • Fixed an issue that would prevent a number of Clockwork nodes with category inputs from working when archi-lab.net is also installed

2.1.0

Changes:

  • Migrated all nodes from Clockwork v1.32.0
  • Recategorized and renamed many nodes to reflect Dynamo's new library structure
  • Deprecated some nodes that are now available OOTB
  • CustomNode.Info now parses new JSON-based 2.x nodes as well

Older versions: