Generate path between two points, based on list of avaliable tiles

Is there an existing algorithm or pathfinding system I could use to generate a path from point V1 to V2 using existing ‘tiles’

Let’s say V1 is on vector point (0,0), and V2 is on vector point (20,20),

and I have a list of available tiles to be used to generate this path (not just a simple grid or node based)
(see screenshot)

and also avoid pre-existing tiles in the way

Tiles have specified entry and exit points and can be rotated to achieve the goal

Soo… this is how I achieved this:

  1. Run A* pathfinding from point V1 to V2. Store result vector path.
  2. Parse vector path to ‘instruction sets’ (ie: [North (10 units), South(5 units), West(7 units)] )
  3. Parse each instruction set. (ie: North (10 units) => [TileStart, TileStraight x8, TileCornerLeft])
  4. Spawn and position tiles based on parsed instructions