Hi Jim,
you can use master or any other branch, but without warranty.
The usual approach (and the one favoured by GitHub) is: features are developed in branches. When they are considered stable enough they are integrated into the master (pull request). Hence the master is kind of "latest greatest", but with a certain risk of being spoiled. There are also forks from other user with their own masters and branches. Don't confuse them with the ones from the KLayout project.
But eventually, when the master is considered to have a sufficient quality, a release is made by creating a release tag (https://github.com/KLayout/klayout/releases). A release is a snapshot which is then turned into Windows binaries, Linux packages, PyPI wheels etc. This this is a lengthy process and I don't want to do this too often.
Matthias
Hi @Ege_Bey,
thanks for bringing this up.
The web site is: https://wiki.f-si.org/index.php/FSiC2024
To register, simply send a mail with your name and organization (if applicable) to fsic2024 'at' f-si.org. We will collect the registrations from …
I think you should first cover the whole area with a honeycomb pattern, then draw a circle on a different layer and use a boolean AND with a third output layer to select the honeycombs inside. The ring can be added using a boolean OR to that layer.
…
Hi @JWK,
You mean, you like to have the label inside the chip cell? That is not possible as every chip has to get it's own label and a single chip cell is the same everywhere. Except if you turn every chip instance into a separate cell.
With the o…
Dear all,
There is some development: I got in touch with people who want to clarify if the spec can be implemented in Open Source. If we're lucky, we can settle the legal issue and go into a first implementation.
Matthias
Hi @jiunnweiyeh,
did you try "smoothed"?
Like this:
l86 = input(86, 0)l86.smoothed(0.5.um).output(108, 0)
This function removes the step, but generates a non-horizontal edge. Will this be acceptable?
Matthias
Hi @cyrustabery,
is multigon support out already in OASIS? The last time I got notice of that extension, it was still under discussion.
Basically @wsteffe is right. Internally I would always revert to polygon formats, but like DXF the reader shoul…
@mjcich Thanks for the feedback.
PyPI has a strange policy of "all or nothing", so while the packages are built by the GitHub actions, parts may be available already while others are not. In addition, things are constantly changing and so…
Very good :)
0/0 is a special layer in DXF (a kind of wildcard). Usually, geometry should not show up there if they are properly assigned to a layer, but it can appear inside blocks that lack destination layer mapping.
Matthias
You should not need to build Windows versions. There is a wheel available for Python 3.11 and 3.12 for klayout 0.28.17 based on Visual C++ 2017.
How come you need to build from source?
Matthias
This means that OpenGL is not good enough. GLSL 1.5 is only supported from OpenGL 3.2 on.
I have a NVIDIA T1200 with Ubuntu 22 and my version is:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.0.4-0ubuntu1~22.04.1
I do not fully under…
That is not difficult but you need:
* The path to the first file (target)
* The path to the second file (source)
* A list of source and target cell names (where to copy from, where to copy to)
* The name of the output file
The script is:
# targe…
Hi @Stephan_Kohler,
to emulate the "import layout" behavior you need to first read the DXF file and then copy over the content to the target layout.
Like here:
dxfPath="path/to/dxf"tmp = pya.Layout()# Define the load optionslo…
Hi @cadnav,
GLSL 1.5 comes with OpenGL 3.2 which dates back to 2009. I intentionally used an old version to stay compatible with older platforms. What is glxinfo | grep "OpenGL version" saying on your system?
I for myself never had issue…
Hi @dick_freebird,
unlike the .lyp, the mapping file is based on LEF/DEF layer/purpose pairs, so there is no direct way to translate .lyp to the mapping file.
And yes, a warning is issued if layers are encountered that are not listed in the file.
…
Hi @mliberty,
I suggest that maybe you use a .map file. That is much easier to use than the layer map specification inside the .lyt file. The original idea was to supply some pattern-based layer generation with additional translation, but I guess I…
Hi @mikamar,
you have a misconception of the XSection abilities. It is NOT a 3d technology simulator. It is a simplistic implementation and cannot capture effects from structures left or right of the ruler line.
You can capture the effect to some …
Hi @woelt,
It's not common to store a script file next to a layout as scripts are meant to be universal. Scripts are configuration and layout is data. The idea is to keep these things separate and there is no provision for dynamic script locations …
Hi @mtnhomecad,
I tried your script and can see the effect you mention.
But it is hard to understand what you're trying to do and where the actual bug is.
I'd start with structuring the code with functions - there are too many loops nested into o…
Actually the extractor normalizes the shape, but the display is wrong. The marker needs to be moved back to the original location.
I have fixed that now (-> see issue above). During the testing I found a small bug in the resistor extraction code…
@sekigawa Cool! Thanks for this feedback :)
You're always welcome!
It was much easier to implement in C++ - this is a spot where scripting will not really help as it conflicts with the internal logic.
I'll put that into 0.28.16. 0.29 will need a l…
Hi @sekigawa,
I have added some feature (branch "tech-specific-grids"). It allows specifying a grid list per technology:
(Image)
In addition, grids less than 0.5µm are shown in nanometers.
I can include that in the next minor release.…
Holy cow!
@jiunnweiyeh You like these kind of puzzles do you? :)
From the academic viewpoint that looks like a variant of the path finding problem (see https://en.wikipedia.org/wiki/Pathfinding). "A*" is an algorithm often used in router…
Hi @rrzzxx22,
why not opening a new discussion?
I don't know what you are trying to do. I assume (but cannot confirm) that you can configure KLayout as Python interpreter inside PyCharm (using 'klayout -r xyz.py' to run a Python script). However, …
Hi @Dunkelwind,
I agree with @dick_freebird that you should first target a clean layout through DRC coverage. "bad devices" should be detected by DRC in the first place.
Still, the "error" feature should work. Maybe the resisto…
"..." just indicates that "sel" is an array. If you try to expand the tree node, it should expand to nothing.
Looks like you have not selected anything, right?
Matthias
Hi @sekigawa,
I though about the problem and I basically think it will be very hard to override the "Grid" menu behavior. This is because this menu is updated occasionally by the system with it's own rules and it is hard to predict when.
…