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,
I can help out with the first problem - there is no quick fix available for sleepless kids, I'm afraid. But that problem will be solved just 15 years later. At this time it will be hard to get them out of bed :-)
For the sizing problem:
Sizin…
Hi,
that's very difficult to debug then. I am not aware of similar issues, but it is likely to be related to the way polygons are written. Maybe switching to other polygon modes (like SOLID/HATCH/LWPOLYLINE) helps.
Could you send a testcase to the…
Hi,
please give some more details. What is $output? Is this a file name ending with ".dxf"? Did you take a look into the file? Is it really DXF?
Does AutoCAD report any error? How does it fail?
Will AutoCAD read the file if you don't mo…
Hi Nathan,
while the editor is opened, the debugger is active. This slows down execution, because the debugger will hook itself into the interpreter. This will enable interacting with the execution of the code, but slow down each Python operation. …
To rotate the whole layout for example by 22.5 degree around the origin (0, 0) use
layout.transform(RBA::ICplxTrans::new(1.0, 22.5, false, 0, 0))
Matthias
Hi Ulli,
if it's just about drawing the layout in a different orientation you don't need to modify the layout.
Instead you can modify the view's global transformation like this:
RBA::LayoutView::current.set_config("global-trans", RBA::D…
Hi Wil,
Ruby 1.9 no longer is available for Ubuntu 16.04. So KLayout won't install on 16.04.
You always have the option to build KLayout from the sources. I'll provide a package for 16.04 on occasion of the next minor release. But don't ask me for…
Hi,
simple. This thing in discussion 814:
pya.Point(0,0)
defines the target coordinate of the cell (x, y). So just provide a counter and use a coordinate like "pya.Point(0, counter*50000)". Please note that the coordinates are "dat…
Hi,
I am not aware of the solution either. But I guess the general misconception is to replace "cells". In fact you can only replace "instances".
So the solution is
* Manually: go through the layout and change the target cells…
Hi Kazzz,
thanks for mentioning this issue. I understand the motivation for that. It is not a big issue for circles.
But I guess there is a similar topic for all the other "smooth" features like splines, ellipses, arcs and so forth. I do…
Very weired ... you're on Windows, are you? Maybe a problem with that build. It works perfectly for me on Linux.
I'll take a look into that.
Thanks for testing,
Matthias
Hi chhung,
is it mid-autumn already? I thought it's kind of late-summer to early-autumn transition ...
Sorry, just kidding :-)
Thanks for the data. The strange value like "x.ye-319" is a typical close-to-zero rounding issue. But I don't…
Hi Oliver
there is no such DRC rule yet, but you can add one:
# Include this in your DRC script to add a new check "polygons_with_more_points".# This check will create a new layer with all polygons with more than n points.class DRC::DRCL…
Hi,
134s may be good or bad depending on the hierarchical complexity of your layout. If the cell tree expands to a lot of effective instances, the cells traversed may become pretty big. In general, Ruby is quite efficient, but far from an optimized…
I'm sorry. The net tracer is a UI feature and script binding is not provided currently.
Technically it's possible, but it's more than a small effort.
Matthias
Hi chhung,
First of all, I'd like so suggest a new solution - not based on Ruby but on the "Layout Queries" of "Search & Replace": open "Search & Replace" from the "Edit" menu. Chose the "Custom&…
Hi,
the node icon seems to be kind of hardcoded within Qt. It is style-dependent, so when you chose an explicit style (i.e. add "-style windows" to the command line), the representation changes. Usually the default style is the best one a…
Oh sorry .. that was already a preview to a new version ... :-)
That reminds me of keeping an eye on backward compatibility.
I have edited the code above. Please try again.
Matthias
Hi David,
here is a simple SVG exporter:
class SVGWriter def initialize(file) @file = File.open(file, "w") end def start(w, h) @file.puts(<<"END")<?xml version="1.0" encoding="UTF-8" standa…
Hi Bob,
Anisotropic scaling is not a core feature of KLayout, so I guess you are referring to a script like http://www.klayout.org/svn-public/klayout-resources/trunk/scripts/scale_anisotropic.lym.
You can basically modify the script any way you wa…
Hi,
DXF is all gray area ... there is no format as badly documented as DXF.
I could reproduce the problem, but frankly I am not really in a mood to debug Inkscape's importer. I am able to read my DXF files into SolidWorks, AutoDesk's TrueView and …
Hi,
thanks for that nicely prepared testcase.
The solution is quite simple: the true parameters are not "radius" .. but "actual_radius" etc. The working code is:
...circ_params = { "layer" => layer, "actual_r…
Hi simg,
KLayout has the concept of a "technology setup" which allows associating a layout with some "technology". A "technology" is basically a set of settings for specific purposes. For example, the net tracer requir…
Hi jakub,
please make sure you are using the latest version.
If the problem still exists, I'd ask you to send a simple test case (GDS file with a description how to reproduce the bug) to the mail address on the contact page. The effect you describ…
Hi Chris,
Windows is entirely different from Linux - on Windows, a program needs to be compiled as a console application in order to show stdout or stderr on the screen. Being a GUI application, KLayout isn't. Which explains the behaviour.
You'll …
Hi Canny,
I did not know property names with blanks are valid.
That means, the last blank will separate the value from the property name, right?
Matthias
Hi werk,
A boolean operation returns a layer object and that is never false in Ruby. The method to test whether a layer is empty is is_empty?. So this should work:
if !(l1.input(l, d) ^ l2.input(l, d)).is_empty? ...end
Another remark: please don…
Hi Vikas,
The code is hard to read since it lacks the indents (hint: use four blanks in front of each line that are supposed to be formatted as code).
But basically the code is quite good. You just need to add the following:
1.) To get the layer …