# Convert quad4 elements to line2.
# It creates duplicate elements along common edges so use Tools -> Find duplicate elements to remove them.

for element_id in mw.selected_elements():

  node_ids = mw.nodes(element_id)

  # Tri3
  if len(node_ids) == 3:
    mw.new_element("line2", [node_ids[0], node_ids[1]])
    mw.new_element("line2", [node_ids[1], node_ids[2]])
    mw.new_element("line2", [node_ids[2], node_ids[0]])

  # Tri6
  if len(node_ids) == 6:
    mw.new_element("line3", [node_ids[0], node_ids[1], node_ids[2]])
    mw.new_element("line3", [node_ids[2], node_ids[3], node_ids[4]])
    mw.new_element("line3", [node_ids[4], node_ids[5], node_ids[0]])

  # Quad4
  if len(node_ids) == 4:
    mw.new_element("line2", [node_ids[0], node_ids[1]])
    mw.new_element("line2", [node_ids[1], node_ids[2]])
    mw.new_element("line2", [node_ids[2], node_ids[3]])
    mw.new_element("line2", [node_ids[3], node_ids[0]])

  # Quad8
  if len(node_ids) == 8:
    mw.new_element("line3", [node_ids[0], node_ids[1], node_ids[2]])
    mw.new_element("line3", [node_ids[2], node_ids[3], node_ids[4]])
    mw.new_element("line3", [node_ids[4], node_ids[5], node_ids[6]])
    mw.new_element("line3", [node_ids[6], node_ids[7], node_ids[0]])

# Delete the original shells
mw.delete_elements(mw.selected_elements())

