Polygon discretization can be more accurately controlled than polylines. Also, the latter have to be “interpreted” leading to a less deterministic outcome in various readers than polygons. Another limitation for polylines is that they can not describe a change in width or an asymmetric waveguide. Hence, Interconnect objects in Nazca use polygons to describe waveguides (and e.g. metal lines).
There may be other situations where you want to use polylines. You still can use Interconnects.py methods to get to polylines. Polygons are only the final step in creating interconnects. Each interconnect has a “_solve” method that returns a polyline/path. Hence, call the _solve method to get a path = [(x1, y1), (x2, y2, …], which you then use as
Alternatively, it is quite straight forward to add a switch to mask_elements.py methods to produce a polyline rather than a polygon, with the above mentioned limitations of polylines.