my first approach would be to use e572las to split all scan positions into different LAS files and then use las2txt to create TXT files. If you do not want any of the transforms applied buf prefer the local coordinates then you need to use the approriate command line options for e572las when splitting from e57 to LAS.
This tool reads LiDAR in the E57 format from a *.e57 file and
converts it to either standard LAS, compressed LAZ, or simple
ASCII TXT.
By default all scans contained in the E57 file are merged into
one output with all invalid points being omitted. The points of
different scans are given different point source IDs so that the
information which points belong to one scan is preserved. It's
possible to request '-split_scans' and '-include_invalid' to put
points from different scans into separate files and/or to include
invalid points as well.
Another useful option is '-v' or '-verbose' that informs about
the contents and the progress of processing.
Below are some typical example command lines for the data that
can be found here:
http://www.libe57.org/data.html e572las -v -i pumpACartesian.e57 -o pumpACartesian.laz
e572las -v -i Station018.e57 -o Station018.laz -set_scale 0.002 0.002 0.002
e572las -v -i trimble.e57 -o trimble.laz
e572las -v -i pump.e57 -o pump.las -split_scans
e572las -v -i trimble.e57 -o trimble.txt -oparse xyzi
e572las -v -i pump.e57 -o pump.laz -include_invalid
By default the tool will apply transformations and/or rotations
that it find stored in the pose of each scan. You can ask the tool
not to apply those with '-no_pose'. To selevtively suppress only
transformation or rotation use '-no_transformation' or '-no_rotation'