Skip to content

Deprecated Nodes & Packages

Andreas Dieckmann edited this page Jul 26, 2018 · 39 revisions

Over time, some of the functionality developed for the Clockwork package has become available as built-in Dynamo functionality. Whenever that happens, I deprecate the respective Clockwork node.

Clockwork for Dynamo 2.x

The following nodes will be deprecated in Clockwork for Dynamo 2.x:

  • Directory.Contents+: Use built-in node FileSystem.GetDirectoryContents instead.
  • Element.IsOfCategory: Use Clockwork's Element.Category+ or built-in node Element.GetCategory with built-in node List.Equals instead.
  • Material.Properties: Use built-in nodes Material.Color, Material.MaterialClass, Material.Shininess, Material.Smoothness & Material.Transparency instead.

Clockwork for Dynamo 1.x

The following nodes were at some point deprecated in Clockwork for Dynamo 1.x or not migrated from the previous package version at all:

  • BoundingBox.ByElement: Use built-in node Element.BoundingBox instead. If you need a Revit BoundingBox convert with Clockwork's RevitBoundingBox.FromDynamoBoundingBox.
  • CurtainSystem.ByFace: Use built-in node CurtainSystem.ByFace instead.
  • DetailLevel.Coarse, DetailLevel.Fine & DetailLevel.Medium: Use built-in node Detail Level instead.
  • DimensionType.Style: Use built-in node DimensionType.StyleType instead.
  • Document.LinksAndImports: Use built-in nodes Element Types (set to ImportInstance) and All Elements of Type as well as Clockwork's ImportInstance.IsLinked instead.
  • Element.ParameterIsReadOnly: Use built-in nodes Parameter.ParameterByName and Parameter.IsReadOnly instead.
  • Elements.GroupByHost: Use Clockwork's Element.Host+and built-in node List.GroupByKey instead.
  • GlobalParameter.GetValue: Use built-in node GlobalParameter.Value instead.
  • List.RepeatItemsByLengths: Use built-in node List.OfRepeatedItem instead with both inputs set to @L1.
  • List.SublistLengths: Use built-in node List.Count with input set to @L2.
  • List.SublistsContain: Use built-in node List.ContainsItem with "list" input set to @L2.
  • RevisionCloud.FromCurves: Use built-in node RevisionCloud.ByCurve instead.
  • Room.IsPointInside: Use built-in node Room.IsInsideRoom instead.
  • Room.IsUnbounded: Use new Clockwork node Room.State instead and check if return value equals "Not enclosed".
  • TextAlignFlags.Bottom, TextAlignFlags.Center, TextAlignFlags.Left, TextAlignFlags.Middle, TextAlignFlags.Right & TextAlignFlags.Top: Use built-in nodes Select Horizontal Text Alignment && Select Vertical Text Alignmentinstead.
  • TextElement.Text: Use built-in node TextNote.Text instead.
  • TextNote.ByStringAndPosition: Use built-in node TextNote.ByLocation instead.
  • UV.IsInsidePolygon: Use built-in node Polygon.ContainmentTest instead.
  • Wall.ByFace: Use built-in node Wall.ByFace instead.
  • WallLocationLine.CoreCenterline, WallLocationLine.CoreExterior, WallLocationLine.CoreInterior, WallLocationLine.FinishFaceExterior, WallLocationLine.FinishFaceInterior & WallLocationLine.WallCenterline: Use built-in node Wall Location instead.

Clockwork for Dynamo 0.9.x

The following nodes were at some point deprecated in Clockwork for Dynamo 0.9.x or not migrated from the previous package version at all:

  • Document.Path: Use built-in nodes Document.Current, Document.FilePath and FilePath.DirectoryName instead.
  • List.ChopByLengths: Use built-in node List.Chop instead. (This was re-added in Clockwork 1.0.3 due to a bug in the OOTB node List.Chop ...)
  • SolarAnalysisType.Average, SolarAnalysisType.Cumulative & SolarAnalysisType.Peak: Not needed anymore due to changes in package Solar Analysis for Dynamo

Clockwork for Dynamo 0.8.2

The following nodes were at some point deprecated in Clockwork for Dynamo 0.8.2 or not migrated from the previous package version at all:

  • Buckyball.Coordinates, Buckyball.Struts & Buckyball.Surfaces: These nodes have been integrated into Clockwork's Buckyball.ByOriginAndRadius and are no longer needed.
  • Document.DimensionTypes: Use built-in nodes Element Types (set to DimensionTypes) and All Elements of Type instead
  • DoorOrWindow.ExitsToOneRoomOnly: Functionality is now more or less integrated into Clockwork's Door.Rooms and Window.Rooms nodes (roomCount output)
  • Element.Type (LinkedFile): Use Clockwork's Element.Type instead
  • HostedObject.FacingOrientation: Use built-in node FamilyInstance.FacingOrientation instead.
  • Roof.CreationMethodIsByExtrusion, Roof.CreationMethodIsByFace, Roof.CreationMethodIsByFootprint & Roof.CreationMethodIsInPlace: Use Clockwork's Roof.CreationMethod and string comparison instead
  • Roof.KindIsBasic & Roof.KindIsGlazed: Use Clockwork's Roof.Kind and string comparison instead
  • StructuralFoundation.KindIsIsolated, StructuralFoundation.KindIsSlab & StructuralFoundation.KindIsWallFooting: Use Clockwork's StructuralFoundation.Kind and string comparison instead
  • Surface.Vertices: Use built-in nodes Face.Vertices and Vertex.PointGeometry instead
  • UnitType.FromDynamoUnitType: Functionality is now integrated into Clockwork's UnitType.DisplayUnitType
  • Centimeters.ToFeet, CubicFeet.ToCubicMeters, CubicMeters.ToCubicFeet, Feet.ToCentimeters, Feet.ToMeters, Feet.ToMillimeters, Meters.ToFeet, Millimeters.ToFeet, SquareFeet.ToSquareMeters & SquareMeters.ToSquareFeet: Use built-in node Convert Between Units instead
  • View.DetailLevelIsCoarse, View.DetailLevelIsFine & View.DetailLevelIsMedium: Use Clockwork's View.DetailLevel and string comparison instead
  • View.TypeIs3D, View.TypeIsAreaPlan, View.TypeIsCeilingPlan, View.TypeIsDetail, View.TypeIsDraftingView, View.TypeIsElevation, View.TypeIsFloorPlan, View.TypeIsLegend, View.TypeIsRendering, View.TypeIsSchedule, View.TypeIsSection & View.TypeIsWalkthrough: Use Clockwork's View.Type and string comparison instead
  • Wall.CreationMethodIsByFace, Wall.CreationMethodIsInPlace & Wall.CreationMethodIsStandard: Use Clockwork's Wall.CreationMethod and string comparison instead
  • WallType.FunctionIsCoreShaft, WallType.FunctionIsExterior, WallType.FunctionIsFoundation, WallType.FunctionIsInterior, WallType.FunctionIsRetaining & WallType.FunctionIsSoffit: Use Clockwork's WallType.Function and string comparison instead
  • WallType.KindIsBasicWall, WallType.KindIsCurtainWall & WallType.KindIsStackedWall: Use Clockwork's WallType.Kind and string comparison instead

Clockwork for Dynamo 0.7.x

The following nodes were at some point deprecated in Clockwork for Dynamo 0.7.x or not migrated from the previous package version at all:

  • Accumulate List: Use LunchBox Mass Addition in package LunchBox instead
  • All Placed Loadable Family Types of Category: Use Clockwork's All Placed Family Types of Category instead
  • Angle Between Vectors: Use LunchBox Vector Angle in package LunchBox instead
  • Combine List With Nested List & Combine Two Nested Lists: Use built-in node List.Combine instead
  • Count True And False: Use built-in nodes CountTrue & CountFalse instead
  • CurtainSystem.Type, Dimension.Type, Floor.Type, Roof.Type, StructuralFoundation.FootingType & Wall.Type (aka Get Curtain System Type, Get Dimension Type, Get Floor Type, Get Roof Type, Get Footing Type & Get Wall Type in 0.6.3): Use Clockwork's Element.Type instead
  • Curve Array: Curve arrays now need to be created inside the python nodes that will use them, so a separate node is useless
  • Degrees To Radians: Use built-in node Math.DegreesToRadians instead
  • Directory.FromFilePath (aka Get Directory From File Path in 0.6.3): Use built-in node Directory.FromPath instead
  • Dispatch: Use built-in node List.FilterByBoolMask instead
  • Elements.RemoveDuplicates (aka Duplicate Revit Elements From List in 0.6.3): Use built-in node List.UniqueItems instead
  • False For All (Booleans): Use built-in node AllFalse instead
  • Filter List By Category: Use Clockwork's Element.IsOfCategory in conjunction with the built-in node List.FilterByBoolMask instead
  • Filter List By Regular Expression Matches: Use Clockwork's String.MatchRegularExpression in conjunction with the built-in node List.Filter instead
  • Filter Roofs By Creation Method: This node was split up into several nodes that can be used in conjunction with the built-in node List.Filter:
    • Roof.CreationMethod
    • Roof.CreationMethodIsByExtrusion
    • Roof.CreationMethodIsByFace
    • Roof.CreationMethodIsByFootprint
    • Roof.CreationMethodIsInPlace
  • Filter Roofs By Kind: This node was split up into several nodes that can be used in conjunction with the built-in node List.Filter:
    • Roof.Kind
    • Roof.KindIsBasic
    • Roof.KindIsGlazed
  • Filter Structural Foundations By Kind: This node was split up into several nodes that can be used in conjunction with the built-in node List.Filter:
    • StructuralFoundation.Kind
    • StructuralFoundation.KindIsIsolated
    • StructuralFoundation.KindIsSlab
    • StructuralFoundation.KindIsWallFooting
  • Filter Views By Detail Level: This node was split up into several nodes that can be used in conjunction with the built-in node List.Filter:
    • View.DetailLevel
    • View.DetailLevelIsCoarse
    • View.DetailLevelIsFine
    • View.DetailLevelIsMedium
  • Filter Walls By Creation Method: This node was split up into several nodes that can be used in conjunction with the built-in node List.Filter:
    • Wall.CreationMethod
    • Wall.CreationMethodIsByFace
    • Wall.CreationMethodIsInPlace
    • Wall.CreationMethodIsStandard
  • Filter Wall Types By Function: This node was split up into several nodes that can be used in conjunction with the built-in node List.Filter:
    • WallType.Function
    • WallType.FunctionIsCoreShaft
    • WallType.FunctionIsExterior
    • WallType.FunctionIsFoundation
    • WallType.FunctionIsInterior
    • WallType.FunctionIsRetaining
    • WallType.FunctionIsSoffit
  • Filter Wall Types By Kind: This node was split up into several nodes that can be used in conjunction with the built-in node List.Filter:
    • WallType.Kind
    • WallType.KindIsBasicWall
    • WallType.KindIsCurtainWall
    • WallType.KindIsStackedWall
  • Get Faces From Solid: Use built-in node Geometry.Explode instead
  • Get Family From Family Type: Use built-in node FamilySymbol.Family instead
  • Get Family Instances By Category: Use built-in node All Elements Of Category instead
  • Get Family Instances By Category And Name: Use built-in node All Elements Of Category and Clockwork's All Elements of Name instead
  • Get Family Symbols From Family: Use built-in node Family.Symbols instead
  • Get Family Type: Use built-in node FamilyInstance.Symbol instead
  • Get First Four Indices: Use code block instead (mylist[0..3])
  • Get First Three Indices: Use code block instead (mylist[0..2])
  • Get Highest And Lowest From List: Use built-in nodes List.MaximumItem & List.MinimumItem instead
  • Get Phase By Name: Use Clockwork's All Elements Of Name in conjunction with Clockwork's Document.Phases instead
  • If Empty Replace With New Value: <Empty> items do not appear anymore in 0.7.x
  • If X Equal, If X Greater Than, If X Greater Than Or Equal, If X Less Than & If X Less Than Or Equal: Use Formula node (if(condition,val_if_true,val_if_false)) or code block (condition ? val_if_true : val_if_false) instead
  • Is Empty: <Empty> items do not appear anymore in 0.7.x
  • LibG Vector Components: Use built-in nodes Vector.X, Vector.Y & Vector.Z instead
  • List.BinaryToDecimal - Use Clockwork's String.BinaryToDecimal instead
  • Mesh From Face: This was a Revit-specific method. Meshes now use ASM geometry so this node no longer serves a purpose.
  • Plane By Reference Or Sketch Plane: Use built-in nodes ReferencePlane.Plane & SketchPlane.Plane instead
  • Plane Properties: Use built-in nodes Plane.Normal, Plane.Origin, Plane.Xaxis & Plane.Yaxis instead
  • Radians To Degrees: Use built-in node Math.RadiansToDegrees instead
  • Recursive Boolean Difference: Use built-in node Solid.DifferenceAll instead
  • Remove Duplicates From List: Use built-in node List.UniqueItems instead
  • Remove Duplicate Uvs Or XYZ From List: Use built-in nodes Point.PruneDuplicates & List.UniqueItems instead
  • Replace Substring: Use built-in node String.Replace instead
  • Select Subcategory By Name: Use Clockwork's All Elements Of Name in conjunction with Clockwork's Category.Subcategories instead
  • SolarRadiationCSV.Parse (aka Parse Solar Radiation CSV in 0.6.3): This node was used for processing CSV files generated by the Solar Radiation Analysis tool in Autodesk Vasari. This functionality is now available in package Solar Analysis for Dynamo.
  • Topo To Mesh: Use built-in node Topo.Mesh instead
  • Transform Curve Loop: This was a Revit-specific method that is no longer needed.
  • Triangles From Mesh: This node was replaced by Mesh.FaceVertices
  • True For All (Booleans): Use built-in node AllTrue instead
  • UV Components: Use built-in nodes UV.U & UV.V instead
  • UV Or XYZ Is In List: Use built-in node List.ContainsItem instead
  • Vectors Are Parallel: Use built-in node Vector.IsParallel instead
  • XYZs Almost Equal: Use built-in node Geometry.IsAlmostEqualTo instead
  • XYZs From MeshTriangle: This node was replaced by Mesh.FaceVertices

Pre-Clockwork Packages

If you have installed Clockwork or are planning to do so, you should uninstall all of my previous 0.6.3 packages (that is if you had those installed at all, of course). As a rule of thumb, uninstall everything that is organized in the CAAD_RWTH category in the node browser. Here's a (hopefully) complete list of all deprecated 0.6.3 packages:

  • Accumulate List
  • Almost Zero
  • Alphabetical Sequence
  • Altitude And Azimuth From Vector
  • Angle Between Vectors
  • Angle Bisector
  • Angle By Angle Sum
  • Binary To Decimal
  • Buckyball
  • Central Projection On Face
  • Central Projection On Plane
  • Convex Hull 2D
  • Correct Normal Orientation
  • Count Sequences Of True Or False
  • Count True And False
  • Create Placeholder Sheets
  • CSV To List
  • Curve Array
  • Custom Rounding
  • Dispatch
  • Drop Last Row And Column From UV Field
  • Elements From And To IDs
  • Equal List Lengths
  • Evaluate Divided Surface Grid Nodes
  • Exterior Angle
  • Family To Type And Back
  • Foundation Stuff
  • Get And Set Family Type
  • Get And Set Name
  • Get Bounding Box
  • Get Current Revit Document Path
  • Get Directory From File Path
  • Get Element By Face
  • Get Element Location
  • Get Faces From Solid
  • Get Highest And Lowest From List
  • Get Third XYZ Axis
  • Group List Of Lists By Key
  • Has Out-Of-Plane XYZs
  • Hosted Object Stuff
  • Increment Or Decrement By 1
  • Intersects For Divided Surfaces
  • Invert And Mirror Normalized values
  • Is Empty
  • Is Multiple
  • Is Odd Number
  • Is Point Inside Polygon
  • Is Related To Mass
  • Law Of Cosines
  • Law Of Sines
  • LibG Vector Components
  • Lines Through Points (Closed Loop)
  • List Not Empty
  • Mappable Conditions
  • Match List With Key Values
  • Material Stuff
  • Mesh Stuff
  • Move XYZs from Plane To Plane
  • Normalization
  • Parameter Exists
  • Parse Solar Radiation CSV
  • Phasing Stuff
  • Plane By Reference Or Sketch Plane
  • Plane From First 3 XYZs
  • Plane From Planar Face
  • Plane Properties
  • Plane-Vector Intersection
  • Project Stuff
  • Pythagorean Theorem
  • Recursive Boolean Difference
  • Regular Expressions
  • Remove Duplicates From List
  • Replace Substring
  • Return List Or Single Value
  • Revit API Helpers
  • Revit App Version Info
  • Roof And Floor Stuff
  • Room Stuff
  • Select By Category
  • Sequence With Leading Zeros
  • Similar
  • Simple Patterning
  • Solve Triangle By XYZs
  • Sort List Of Lists
  • Standard Colours
  • Standard Normals
  • Subcategory Stuff
  • Sublist Helpers
  • Swap UV
  • Switch
  • Topo Stuff
  • Transform Curve Loop
  • True And False For Any And All
  • Turn Into List
  • Unit Conversion
  • UV Components
  • Vector And Plane Are Parallel
  • Vector Is In Plane
  • Vector-Vector Intersection
  • Vectors Are Orthogonal
  • Vectors Are Parallel
  • View Stuff
  • Wall Stuff
  • XYZ Axis From Vector
  • XYZ Grid From Face
You can’t perform that action at this time.