I just finished working on a Python script that can automatically generate a URDF file from a set of DH parameters. I wrote this to provide some level of visualization for my research in manipulator structure optimization. You can find the code here. It can be called from the command line or integrated into other code; the example robot is an ABB IRB2600. If you have feedback, please let me know! As always, feel free to use this code as you want, but please provide credit when possible.
This was pretty heavily inspired by the Matlab robotics toolbox, which has the ability to generate some geometry for any arbitrary kinematic structure. As far as I know this doesn’t exist yet in the Python port of the toolbox, so I might try to integrate this script into the port in the future to add the same functionality.
Some disclaimers: yes, DH parameters are a kinematic description and not a structural one. Remember that there are an infinite number of robot structures that could satisfy some set of DH parameters, and this code just outputs one. The output may not be the structure you had in mind when you wrote down the DH parameters, but that’s showbiz.
A tool I found really helpful while making this was an online URDF visualizer created by Igor Zubrycki, which you can find here.