The Nazca Cell would typically have predefined Pins and their exact (x,y,a) coordinates.
This tutorial may help: nazca-design.org/make_a_cell_put_a_cell/
For example:
import nazca as nd
import nazca.demofab as demo
with nd.Cell(name=’cellA’) as cellA:
demo.shallow.strt(10).put(0)
nd.Pin(name=’a1′).put(0, 0, 0)
cellA.put(‘a1’)
nd.export_gds()
If you wish to rotate the cell, you would simply put it at the angle; the pin coordinates inside the Cell remain:
cellA.put(‘a1′, 0, 0, 30)
You can rotate the pin inside the cell:
with nd.Cell(name=’cellA’) as cellA:
demo.shallow.strt(10).put(0)
nd.Pin(name=’a1′).put(0, 0, -30)
cellA.put(‘a1’)
To ‘force’ pin rotation as a parameter, you may use a function, example:
def cellA_func(cell_rotation=-30):
with nd.Cell(name=’cellA’) as cellA:
demo.shallow.strt(10).put(0)
pin1 = nd.Pin(name=’a1′).put(0, 0, cell_rotation)
return cellA
cellA_func(cell_rotation=-30).put(‘a1’)