LandXML to Revit really took a huge step forward with the introduction of the Site Designer for Revit, However this converts the surfaces from the LandXML file to a toposurface, and that is not always the best solution. It can be altogether wrong actually as I will show you later.
The workflow beneath converts a LandXML to a directshape in Revit. I guess you can further develop this to solids and whatnot, but unnecessary in my context.
Close up of meaty part:
I’ve used a combination of Lunchbox’ XML nodes and regular string handling to get to the desired results. That being creating a mesh from the extracted points and index groups.
I may put my head on the block here now, but I’ve never fully understood what the index groups really is. All of a sudden it just struck me?.. a list of indexgroups always corresponds to a seperate list of points and the numbers contained in each index group is the index of points in the separate list that that together makes one mesh face! Hah, so easy! Dynamo is educating me I guess..
Notice the python script which uses regex in python to find all the names of the surfaces. Somehow this can also be done with the Clockwork regex nodes, but I’m not sure of the input syntax to those. Please notify me if you get it to work with the Lunchbox XML nodes or with Clockworks regex nodes! 🙂