I have been working quite a while on something similar to a slicer for 3d printing but for variable multilayer welds. I am roughly following what is described in the literature "equal area assumption". In short along a basecurve the weld get sliced into crosssections, this crosssection get sliced into passes, this passes get connected and return the paths, which the weld torch is going to follow. A scan (either a .stl or a .ply - point cloud) of the part geometry can be provided, since the cad based basecurve and the top cover face of the weld (top bead) are fitted to the scan and the slicing is carried out on this adapted model. It is only necessary to create the input parameters once, and every time the scan changes weldslicer creates the weld paths new.
In below chart along the weld (x-axis) the cross section (y-axis) varies. The colored fields represent the areas of the weld paths. Each area is within the weld procedure specifications determined Amin/Amax borders (caused by min/max. weld speed).
Some examples (Input and Output) are found on:
The tool for the CAD interaction is based on FreeCAD. With the provided workbench at https://www.weldslicer.com/examples you are able to see and simulate the generated paths. Also the workbench is used to generate the input data for the weldslicer itself.
The handling of the workbench and the result of the weldslicer can be seen on following youtube videos:
If someone is interested please let me know.