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 Max,
thank you for mentioning the text file approach. You're right, that is also a valid option.
I personally prefer the Ruby-based approach but maybe that is because I am quite familiar with it :-)
Let me list some advantages which come into …
Hallo,
there is no explicit tool for that but, that is a nice application for a PCell.
You could start with the circle sample PCell and modify it to represent a triangle with the required parameters.
Another approach is to use Ruby code to genera…
Hi Sveta,
it is in fact. But you should make yourself familiar with Ruby and the basics of the programming API.
Here is a very brief example. It creates one cell, one layer and one rectangle on that layer and writes the whole to a file called &quo…
Hi ronm,
Yes, that is possible. The key to that functionality is the method "Shapes#transform(shape, transformation)". The "transformation" is an affine transformation of class "Trans" which can represent a flipping or…
Hi,
I have made the .zip archive available on the server here: http://178.77.72.242/downloads/klayout-Icons-OSX.zip.
Thanks to Kazzz for providing it. If there is an enhancement, let me know. I'll update it then.
Regards,
Matthias
Hi,
I am as much novice as you are. Lacking Mac hardware (and given the non-profit nature of the project not willing to purchase one for the sole reason of supporting it), I myself don't use MacOS or develop on it. The binary packages are welcomed …
Hi,
there is a limitation to the shape size due to the 32 bit coordinate representation in GDS2. But given a usual database unit of 1nm (0.001), the size that is covered by the 32bit range is in the order of meters!
What database unit are you usin…
Hi Alex,
the round path PCell is not coded in Ruby but in C++ to support installations without Ruby interpreter. It's possible to create PCell's in C++ as well but I don't like to advertise that API. It's somethat different and not as easy to use a…
Hi OkGuy,
that is actually a nice idea, but right now it's not possible. The background color is a global configuration and that happens elsewhere, not in the .lyp file.
It's possible however to create a script that sets both the background color …
Hi Bertand,
I guess the Qt 5 plugin was overwriting the path to uic.exe. Because of that, the uic is no generating code which is compatible with Qt 4. Maybe it helps removing the Qt 5 plugin an reinstalling the Qt 4 plugin. I don't think this is re…
Hi Lital,
I'm afraid I don't understand the question. What kind of objects are $clip1 and $clip2?
"comning from" means that these cells have been created using the "clip" method. The output of the the clip method always is a ne…
Hi AGM,
But you can move these layers above the one with the faked background, right?
Right now, there is no "invert on drawing" option, although that would be possible. Let me take this as a suggestion. Currently, you can actually inver…
Hi Bertrand,
Your problems indicate there is an issue with UIC (the user interface compiler of Qt). Apparently it generates output which won't compile. Since UIC is called by VC++ according to the custom rule definitions I assume there is something…
Hi Arided,
thanks for mentioning this. The script should work on older versions like 0.21 as well, but I'd recommend using a recent version for better performance and higher stability.
Regards,
Matthias
Hi Arided,
the boolean operations of KLayout are not optimized for huge chips. Using the per-cell semihierarchical operation may work, but in the general case that will not render the correct result. The reason is that in order to do it correctly, …
Hi Bertrand,
That is quite unusual. There is no "QtWidgets/QAction" included somewhere in KLayout's source code. Does VC++ tell which compilation unit this problem occurs in?
BTW: I am using VS 2010 express myself but with a somewhat old…
Hi AGM,
Do you mean just "view" (inverted) or "draw"?
There is no "invert" viewing option right now. But you can mimic the effect by putting a border behind the layer and set the layer's color to the same color as bac…
Hi Arided,
your solution is correct.
The set_format_from_filename method expects a lowercase ".oas.gz" to correctly set the format. But your solution works in every case.
Float layer and datatype number do not make much sense. You can c…
Hi,
the cell list and layer list and other tool windows are dockable items. That means you can drag them by their title line and dock them somewhere else to the main window or even put them outside the window so they float freely as separate tool w…
Hi Dion,
I am sorry, but right now the full functionality of the XOR tool is not available through the scripting interface.
It can be emulated by the layer processing framework for example, but without the multi-threading and tiling feature.
It's…
Hi,
Please try to remove the "QT3_SUPPORT" defines from the project. They are not required and apparently they create conflicts in your built of the Qt libraries. I shall remove them in the next minor release.
If this define is set, the …
Hallo,
apparently there is no SSL support compiled into your Qt installation. I can't recall exactly, but it came for free on my installation. Maybe I had installed openSSL already.
If you need a quick workaround you can remove or disable the gsiD…
Hallo,
printing to scale is not the intention of the print function. You could save your layout as an image and choose the right width and height according to your printer resolution. For example, if your printer offers a resolution of 300 DPI, you…
Hi Natalie,
there are not circles in GDS, hence there is no support for that kind of shape yet.
One approximation to a circle is a path with round corners and a single point. I don't know however, how portable that solution is. Such an object will…
Hi Jared,
there is no boolean operation on shapes right now (maybe there never will, because a shape does not necessarily create one shape in the boolean operations).
The right object to use is the ShapeProcessor object. It can perform a boolean o…
Hi Dean,
the marker browser is not requesting something - it is just shown in case you were sending your output to a marker database. It is somewhat confusing that it will pop up even if there is no database created. I have updated the layer_proc.r…
Hi Jared,
do you mean "load"?
Ruby can execute a file in a specific place simply by writing
load("code.txt")
A more "Ruby" way is to create an object as the context for a script and use instance_eval on that object …
Hi Canny,
Version 0.21.19 is quite old. But that is not the reason for the error message. In "cell_by_name" will give you the cell index, not the cell object. To get the cell object from the index, you'll have to use "layout.cell(cel…
Hi Canny,
Here's a sketch:
l = ... # Index of layer on which the vias are locatedc = ... # Top cellshapes = c.shapes(l)region = RBA::Box::new(4000, 4000, 6000, 6000) # assumes DBU of 0.001 um shapes.each_touching(region) do |s| shapes.erase(s…
Hallo,
thank you for that feedback :-)
Not all commands in the menu are accessible as Ruby functions, because the Ruby API is on a lower level than the menu functions. The Ruby API provides methods as classes from the database level while menu fun…