gdsfactory / kfactory

gdsfactory with a klayout backend
https://gdsfactory.github.io/kfactory/
MIT License
31 stars 11 forks source link

Virtual Cells #178

Closed sebastian-goeldi closed 9 months ago

sebastian-goeldi commented 1 year ago

Is your feature request related to a problem? Please describe. Currently, there is no good way in kfactory for doing all-angle routing or ,more generally speaking ways, of handling off-grid operations that will be snapped later on.

Describe the solution you'd like We can use virtual cells:

@joamatab @SkandanC @tvt173

SkandanC commented 1 year ago

So everytime a DPolygon is added, is gets added to a virtual kcell, which is flattebed, and addded back to the kcell?


From: Sebastian Goeldi @.> Sent: Wednesday, September 6, 2023 4:50 PM To: gdsfactory/kfactory @.> Cc: Skandan Chandrasekar @.>; Mention @.> Subject: [gdsfactory/kfactory] Virtual DCells (Issue #178)

Is your feature request related to a problem? Please describe. Currently, there is no good way in kfactory for doing all-angle routing or ,more generally speaking ways, of handling off-grid operations that will be snapped later on.

Describe the solution you'd like We can use virtual cells:

@joamatabhttps://github.com/joamatab @SkandanChttps://github.com/SkandanC @tvt173https://github.com/tvt173

— Reply to this email directly, view it on GitHubhttps://github.com/gdsfactory/kfactory/issues/178, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AX72Z27OSGREY3A27WHX6R3XZDO2ZANCNFSM6AAAAAA4N46F2E. You are receiving this because you were mentioned.Message ID: @.***>

sebastian-goeldi commented 1 year ago

No, you first define your VCell and then upon KCell.create_instance / __lshift__ it will be converted / flattened and inserted into the KCell. But the VCell itself can stay as a container similar to how KCell / Instance work together

SkandanC commented 1 year ago

Ah ok, but does flattening "on the go" have any advantage over flattend before write to gds?


From: Sebastian Goeldi @.> Sent: Wednesday, September 6, 2023 5:48 PM To: gdsfactory/kfactory @.> Cc: Skandan Chandrasekar @.>; Mention @.> Subject: Re: [gdsfactory/kfactory] Virtual Cells (Issue #178)

No, you first define your VCell and then upon KCell.create_instance / lshift it will be converted / flattened and inserted into the KCell. But the VCell itself can stay as a container similar to how KCell / Instance work together

— Reply to this email directly, view it on GitHubhttps://github.com/gdsfactory/kfactory/issues/178#issuecomment-1709174073, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AX72Z2YT4NS5MLVIROGOBBTXZDVTLANCNFSM6AAAAAA4N46F2E. You are receiving this because you were mentioned.Message ID: @.***>

sebastian-goeldi commented 1 year ago

It's mainly about origins of Instances, they must be on grid. So as long as you are allowing traditional Instances, there will be snapping.

sebastian-goeldi commented 9 months ago

Closed by #228