-
Notifications
You must be signed in to change notification settings - Fork 200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Cell Origin Coordinates at (0,0) #271
Comments
I strongly agree with this suggestion. I’ve found these challenges myself, and I’ve seen many students struggle here too. A standard origin convention makes PDKs and teams easier to manage, so it would be nice if the tool facilitated this.
Lukas Chrostowski
Professor, ECE
University of British Columbia
604-822-8507
http://www.mina.ubc.ca/lukasc
http://siepic.ubc.ca
… On May 31, 2019, at 1:30 PM, Demis D. John ***@***.***> wrote:
One of the most tedious things I find myself doing in KLayout is trying to center an instantiated cell at coordinates (0,0) or some well-known offset from there. (ASML steppers always reference the centers of images/cells/patterns.)
Some KLayout functions that make this tedious:
Selection > Make Cell: Converts selected objects to a new cell, but with the Cell's internal origin & instantiation point set at the bottom-left of the cell (which is arbitrary based on the object extents in the selection - not really a useful design coordinate!). I then have to move all objects inside the cell by half the cell's dimensions and then move the cell instantiation point. Sometimes this is extremely complicated when the cell/objects are not symmetrically placed about the origin of the main layout!
If "Make cell" maintained the origin of the original layout as the new instance's origin, this would be extremely valuable and more intuitive (for me at least). It could pop up an options window to ask what the instance origin should be.
The drawback is that the origin might be outside the extent of objects - so does the bounding box for the cell extend all the way to include the origin, or just allow the + to lie outside the bounding box? I think the latter.
No visual marker of the current viewport's Origin. Have to estimate by moving mouse around and looking at the coordinates. Or I draw a dummy shape centered at (0,0).
If looking into a cell heirarchy, it should update the origin location marker, since a cell's origin is not the same as the top-level origin.
Can't snap to origin. Minor effect on the above problem.
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
This is highly nontrivial, because after centering the content in an
existing cell, all references to that cell in the layout have to be
adjusted to get the same top level outcome. If this cell has been rotated
or magnified, then the transformation in each reference has to be adjusted.
If you only need this for "make cell" then it is easier because no
references exist yet.
Best regards, Erwin
On Fri, May 31, 2019 at 3:34 PM Lukas Chrostowski <notifications@github.com>
wrote:
… I strongly agree with this suggestion. I’ve found these challenges myself,
and I’ve seen many students struggle here too. A standard origin convention
makes PDKs and teams easier to manage, so it would be nice if the tool
facilitated this.
Lukas Chrostowski
Professor, ECE
University of British Columbia
604-822-8507
http://www.mina.ubc.ca/lukasc
http://siepic.ubc.ca
> On May 31, 2019, at 1:30 PM, Demis D. John ***@***.***>
wrote:
>
> One of the most tedious things I find myself doing in KLayout is trying
to center an instantiated cell at coordinates (0,0) or some well-known
offset from there. (ASML steppers always reference the centers of
images/cells/patterns.)
>
> Some KLayout functions that make this tedious:
>
> Selection > Make Cell: Converts selected objects to a new cell, but with
the Cell's internal origin & instantiation point set at the bottom-left of
the cell (which is arbitrary based on the object extents in the selection -
not really a useful design coordinate!). I then have to move all objects
inside the cell by half the cell's dimensions and then move the cell
instantiation point. Sometimes this is extremely complicated when the
cell/objects are not symmetrically placed about the origin of the main
layout!
> If "Make cell" maintained the origin of the original layout as the new
instance's origin, this would be extremely valuable and more intuitive (for
me at least). It could pop up an options window to ask what the instance
origin should be.
> The drawback is that the origin might be outside the extent of objects -
so does the bounding box for the cell extend all the way to include the
origin, or just allow the + to lie outside the bounding box? I think the
latter.
> No visual marker of the current viewport's Origin. Have to estimate by
moving mouse around and looking at the coordinates. Or I draw a dummy shape
centered at (0,0).
> If looking into a cell heirarchy, it should update the origin location
marker, since a cell's origin is not the same as the top-level origin.
> Can't snap to origin. Minor effect on the above problem.
> Thanks!
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#271?email_source=notifications&email_token=ABJPNPI37LLVRXAWYPWUNTDPYGDUJA5CNFSM4HR5ZGHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWWJW4I#issuecomment-497851249>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABJPNPNF2S5U5FPH5MGEVA3PYGDUJANCNFSM4HR5ZGHA>
.
|
@ejprinz : (Not sure if you're saying that fixing this is non-trivial, or if the problem itself is non-trivial and is worth solving.)
@lukasc-ubc : Please post here if there are other functions that cause students to encounter this difficulty (w/r/to cell+global origins & instantiation points). |
@demisjohn Have you looked into "Adjust Origin"? Select the cell in the cell tree and use "Edit/Cell/Adjust Origin" and select where you want to have the new center. This feature also allows adjusting the instances of the cell (on by default). The bounding box can be based on visible layers or on all layers. |
@demisjohn: |
@klayoutmatthias The
Since The Axis options in Background does show the viewport's origin which is very helpful, thanks! Now if only I could mouse-snap to the origin... but that is for another thread. |
Alternatively, this could also be a new function such as |
I see that you're reusing the existing |
Fixed #271 (proposal, more choices for the cell origin on 'make cell')
Just tried this new version, it works very well. Nice work, and thank you! |
One of the most tedious things I find myself doing in KLayout is trying to center an instantiated cell at coordinates (0,0) or some well-known offset from there. (ASML steppers always reference the centers of images/cells/patterns.)
Some KLayout functions that make this tedious:
Thanks!
The text was updated successfully, but these errors were encountered: