import xml.etree.ElementTree as ET
R=ET.Element("robot",{"name":"camera_pin_mount"}); ET.SubElement(R,"link",{"name":"world"})
j=ET.SubElement(R,"joint",{"name":"w","type":"fixed"}); ET.SubElement(j,"parent",{"link":"world"}); ET.SubElement(j,"child",{"link":"m"})
ET.SubElement(j,"origin",{"xyz":"0 0 0","rpy":"0 0 0"})
L=ET.SubElement(R,"link",{"name":"m"})
for fn,rgba in [("camera_pin_base.stl","0.30 0.66 0.45 1"),("arducam_b0332_mm.stl","0.15 0.15 0.18 1"),("camera_pin_cover.stl","0.95 0.55 0.15 1")]:
    v=ET.SubElement(L,"visual"); ET.SubElement(v,"origin",{"xyz":"0 0 0","rpy":"0 0 0"})
    ET.SubElement(ET.SubElement(v,"geometry"),"mesh",{"filename":fn,"scale":"0.001 0.001 0.001"})
    ET.SubElement(ET.SubElement(v,"material",{"name":"m"+fn}),"color",{"rgba":rgba})
ET.indent(ET.ElementTree(R),"  "); ET.ElementTree(R).write("camera_pin_mount.urdf",encoding="unicode",xml_declaration=True)
print("wrote camera_pin_mount.urdf")
