I think you need to do this with python. I asked ChatGPT:
import arcpy
# Set the input feature class
input_fc = r"path\to\your\feature\class"
# Create an arcpy.da.UpdateCursor to iterate through each row in the feature class
with arcpy.da.UpdateCursor(input_fc, ["SHAPE@"]) as cursor:
for row in cursor:
# Get the geometry of the current row
line = row[0]
# Create an empty array to hold the updated vertex coordinates
new_vertices = arcpy.Array()
# Iterate through each part of the line
for part in line:
# Create an empty array to hold the updated part vertices
new_part = arcpy.Array()
# Iterate through each vertex in the part
for vertex in part:
# Get the z-value of the current vertex in meters
z_meters = vertex.Z
# Convert the z-value to feet
z_feet = z_meters * 3.28084
# Create a new Point object with the updated z-value in feet
new_vertex = arcpy.Point(vertex.X, vertex.Y, z_feet)
# Append the new vertex to the updated part
new_part.append(new_vertex)
# Append the updated part to the array of updated vertices
new_vertices.append(new_part)
# Create a new Polyline object with the updated vertex array
# For the record, ChatGPT forgot to add the has_z argument below. It's not perfect!
new_line = arcpy.Polyline(new_vertices, has_z=True)
# Update the geometry of the current row with the new geometry
row[0] = new_line
# Update the cursor to save the changes to the current row
cursor.updateRow(row)
I did a quick test and it worked for me. I ran it from a Notebook in my Pro project