Good to hear Nazca works well for you.
Starting with your last image: Nazca uses outward pointing connections by definition. If you define your own block/cell, make sure you define pins pointing outwards from the circuit element. This would never lead to confusion of bend directions. Bend directions follow the standard mathematical convention of positive angles for counter clockwise rotation. Moreover, Nazca avoids quite nasty global layout states, e.g. no global cross section or global flip states, nor mixed in- and outward pin/port directions as mentioned above.
For the dotted L1 line case, you can just add an upward bend to the two blocks you connect this particular shape to. Connect the two bends with
ubend_p2p(length=L), where L is the length of the straight section, like in a sliding trumpet, used to extend the shape.
For length extraction in two port elements/cells you can use the nd.trace module, for geometrical path lengths. To optimize the length of a section you can use a root or minimizer solver, as discussed in this trail_cellpost. The trial cell decorator shown there will be part of the nd.bb_util module in Nazca >0.5.13. (
If you want to trace through interconnects and blocks/cells you can resort to the pathfinder module. That would need a dedicated tutorial to explain how to use it though. It can handle geometrical, optical and electrical path information.