Why I can not find Curves.DeconstructPolyCurve Node?

Hi! I am a new user of Dynamo. I want to deconstruct curtain wall geometry in revit model into points. I found that Curves.DeconstructPolyCurve can help but I could not find it. Is there anyone can tell me why?

1 Like

It’s a node from the Lunchbox package:

Thank you so much!

1 Like

@Thomas_Corrie I’ve this lunchbox installed ,


But ,why con’t find this package from add-ons?

Have you installed it from the package manager? If so, you need to visit https://provingground.io/tools/lunchbox/ to get the full installer

1 Like

Thanks @Thomas_Corrie ,that works .

Bitbucket only there, now or does the Package Manager work, fine?

1 Like

Proving Ground have discontinued Lunchbox for Dynamo so there is only the code available now on Bitbucket (per your link) so it would need to be built from source to get the whole package. There is a related discussion here: Lunchbox package for revit 2021

However, if you are after a particular node then it is probably easier to look at the surce code to understand the logic to recreate the node either with OOTB nodes, Python or even ZeroTouch. For example the node in the original question Curves.DeconstructPolyCurve can be seen in the Zero Touch nodes section of the repository.

        /// <summary>
        /// Get segment and vertices of a polycurve
        /// </summary>
        /// <param name="polycurve">PolyCurve</param>
        /// <returns name="Segments">PolyCurve segments.</returns>
        /// <returns name="Points">Points at PolyCurve discontinuities.</returns>
        /// <search>lunchbox,polycurve</search>
        [MultiReturn(new[] { "Segments", "Points" })]
        public static Dictionary<string, object> DeconstructPolyCurve(PolyCurve polycurve)
        {
            Curve[] curves = polycurve.Curves();
            List<Point> points = new List<Point>();
            foreach (Curve c in curves)
            {
                points.Add(c.StartPoint);
            }

            return new Dictionary<string, object>
      {
        {"Segments", curves},
        {"Points", points}
      };
        }

Which can easily be recreated using the OOTB nodes PolyCurve.Curves and Curve.StartPoint

2 Likes

or just use explode…i think :wink: