Technology file/management issue

edited November 2012 in KLayout Support
Hi Matthias, all

I currently have an issue with the technology management which is a bit complicate to explain, but i will do my best:
Lets imagine you have defined a technology using Technology and Tools/manage technology menus.
We have now a technology called Default (the base one) and a second one (say techno)
in this technology techno where i have defined a list of layers pertaining to my technology i want to call a layer property file each time i open a gds (or oasis) file build with this technology.
Now lets close the file build with the technology, and put the T icon with techno selected
Then open a gds file coming either from another layout tool or even from an old klayout version (when there wasn't technology management).
In this case, instead of having the Default technology used, the technology techno is applied to the gds, which is creating some issues (layer disappear, etc).

Actually the bug i have is a bit more complicated: i want this klayoutrc to be used by several users (say centralised) then i placed it in the Klayout durectory on a server and make it "restricted" access (to avoid modifications of the technology stored in it...)
In this case, when i do the following i also have some issues
lets open klayout, default technology selected.
then open a file builded with the technology techno. inthis case the technology is not properly applied. i need to select in the T icon the technology techno to have it applied and then there is a bug since all the layout disappear. I need to reopen it with the technology techno selected to see it properly
I think that it is linked to the way the informations are stored in the klayoutrc file.
Any though ?
Regards

Joël

Comments

  • edited November -1

    Hi Joel,

    I tried to reproduce the bug but I failed to do so.

    Maybe i should explain the way that the technology selector behaves. Actuall the selector ("T" icon) specifies the technology "in use". That is the one used when you open a new GDS file. The GDS file does not have a technology attached, so KLayout uses the current one and takes layer properties for example from that technology. That's whe you will get the selected technology irregardless of the technology used when saving the GDS file. That may explain you first observation.

    You can apply a certain technology to a layout by selecting the technology in the "T" icon and clicking at the icon. Then the layer definitions of that technology will be applied. If the technology definition does not have layer properties, nothing will be applied.

    A technology refers to layer properties by file, so if you move the klayoutrc, please check whether the path still is valid. That may be a reason for the observed behavior.

    Please also note that there is a bug in 0.22 (will be fixed in 0.22.3): the global klayoutrc will always override the local settings (that was different before). Hence, the user cannot change the settings currently - they will be lost when exiting KLayout.

    To be sure you could also delete the obsolete ".layviewrc" file in your home folder.

    Regards,

    Matthias

  • edited November 2012
    Hi Matthias,

    Thanks. I think i got it now. I think that the observed behaviour is linked to the global setting overriding the local one. I think that we will have to take care to be on the right technology settings before opening the gds (at least for now)

    Regards
    Joël
  • edited November -1

    Hi Joel,

    I'll fix the global/local configuration problem soon. I promise :-)

    Matthias

  • edited November -1
    Hi Matthias,

    Now things are working OK. However i have a "request".
    Is it possible to have something more elaborated than the simple "superseding"
    Let's me explain what i mean.
    Imagine that i create a new technology (using tools/manage technology)
    this is now written/saved into my local klayoutrc.
    Now i want to "disseminate (and also centralise)" this technology so that i can work from other computers and the technology is available and also to all the people i work with, but without modifiying the other configuration lines they may have in their own klayoutrc.
    Do you thing it is possible to have such a function (which may require an initial clearing of the klayoutrc file or, by default, the technolgy file being located in the root of the klayout exe, as are libraries/macro in Global folder) ?

    Best Regards
    Joël
  • edited December 2012

    Hi Joel,

    I guess I understand your request.

    Actually the intended solution for that use case is the import/export feature. This feature is available in the technology manager in the technology list's context menu (right mouse button). In that scenario, exchanging technologies works like this:

    Somebody creates a technology and exports it to a public place. Somebody else who wants to use the technology, imports it into his or her own configuration space using the import function. This is pretty simple but that way everybody has control about which technologies are available.

    I considered a more elaborate scheme like you suggested, namely "auto-import": in that scheme, KLayout would read all technologies from exported technology files stored in special folders, i.e. a "techs" folder in the installation path. That adds some complexity: for example it requires some proper flagging since such shared technologies have a different status, i.e. they must not be modified and the editing must be disabled then. Hence I have not implemented such a scheme yet. But I'll consider doing so in the next major release.

    Best regards,

    Matthias

  • edited November -1
    Hi Matthias,

    Thanks for your answer. I was not aware of the contextual menu in the technology manager. This feature is a good starting point for my purpose.
    Regards
    Joël
  • edited November -1
    Hi Matthias,

    just to come back on this technology file management.

    Is it possible to launch the import (or export) function of the technology manager using a script or a macro?
    I have not been able to find the API code for that.

    Regards
    Joël
  • edited November -1

    Hi Joel,

    I'm afraid there is no automation API for that function yet (but that's a good suggestion). Import and export were basically intended for easy exchange for technology setups between users.

    Basically it's possible to manipulate the technology information by setting the "technology-data" configuration variable (see Application#set_config). The value is the XML-encoded list of technology definition, which is a series of technologies in the format used in the technology files, combined under a "technologies" root element.

    Regards,

    Matthias

Sign In or Register to comment.