Import of LandXML data via Dynamo. Assignment of lists and creation of points

Hello everyone,

after reading a lot in the last few weeks, I’d like to get in touch and ask a question at this point. I have been sitting in front of a problem for some time and can not get any further - I would like to ask you for help.

The question has already been fundamentally discussed in the forum, but unfortunately this did not bring me the desired success.

It’s about importing a LandXML dataset with Dynamo. In extracts, I attach it. Within this dataset, axis points are defined, which finally yield a point for each axis x, y and z.
My goal now is, to read those points into Dynamo using the correct mapping and then, reuse them within Revit. Basically, the import directly through Revit is probably easier, but I’m here explicitly about how to solve the question using Dynamo.

The points in question are to be found within the “Value List” - “Sublist 1” - “Below List 3” and output there with the coordinates. Please see the attachment. All the points I need are nicknamed “asp” within the XML file.

It would be very nice if you could explain to me briefly how I can access these lists and output the desired points with the corresponding values ​​as coordinates in Dynamo.

Thanks in advance and a good start to the new week!

Unfortunately, it was only possible to attach a single image within the post. Therefore completeness, an extract of the XML file


I think your separator should be "> in the first String.Split
But you need a second one with < as separator

The XYZ coordinates are now separated but still a long string, so you need a third one with “space”
After that you need to convert strings to numbers.

Many thanks for your quick response. Unfortunately, I am still a bit beside myself, as I can design the desired assignment exactly.

Could I ask you, if you have time, to show a short sample workflow in Dynamo? That would be great!

1 Like

That’s the method, but the workflow will get more complex as you get into an actual dataset. It may be beneficial to build these as in-line functions if possible.

First of all thank you both for the quick help! I have looked at the workflow you have sent me m. and can now understand the assignment a little better. Does it make sense from your point of view to describe such a process with Dynamo? And asked the other way around - if so - how would you generally describe such a process? Do you have any further hints for me, how can I best start? Jacob, you advise to use in-line functions. Would you have a tip for me, how to start? Unfortunately, I’m just starting to use Dynamo…

Start by doing the Dynamo Primer. Cover to cover. Skip nothing, even if you feel you won’t need it - the concepts will be valuable. It’s a weekend time investment, if that.

Next, use node to code liberally (select a few nodes, right click the background and choose node to code) to understand how the nodes are called.

Lastly, start building variables which were only called once into the same line as when they are called.

Make a point by coordinates, using 0 for the X and Y values, and a range from 0 to 9 as the Z. Node to code the lot of it and you should see something like this:


That can be simplified as such:

1 Like

If you open your xml file in excel, most of the parsing is done automaticly.
Doing repair work in excel is a lot easier i think, and you can access the values with Dynamo.

Thank you again! I have already tried on some things. My current state is now the following, in which the list of points is created as desired.

Now all points are contained within a Point.ByCoordinates (x, y, z,) block. Can I display these points in Dynamo? In Revit, they are at least displayed in the 3D view. For comparison, a picture from Civil and Revit.

If a view in Dynamo is possible, I would like to connect certain points within the Point.ByCoordinates to a line. How could one select these points?

Sorry, these may be very simple questions, please be patient :slight_smile:

1 Like

They are there in Dynamo, but the Dynamo canvas displays a view with the focus on the 0,0,0, point.
You points are way off if you look at the coordinates
If you switch to the geometry view in the right top corner and then right click and choose zoom to fit.
If you richt click on the Dynamo canvas or in the node search and type “line” you get a list of all nodes for line creation.

AND, start reading the Primer as Jacob said

1 Like