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 David,
recall our discussion about "OO style" API? That's another case.
I shall explain that: obj.shape.path returns a copy of that path. You basically modify the copy, so it won't have an effect.
But you can assign the path object:
…
Hi Z Lim,
basically the solution seems to work. I don't know what's actually wrong in your case.
I have tried your files with an image of mine.
It's important to put the .rcc and .ui file to the place where the macro is installed (in may case `~/…
Hi David,
that's a good question .. actually that is a lacking feature, but a nice idea.
It may be possible with a custom query, but that's surely somewhat complex. I workaround is to first create a dummy instance of LIBNAME.CELL2 once, then repla…
Hi Seb,
I know that path exists - although my experiences are bad with that. I got damaged binary files when I tried it previously. That was some time ago and maybe it's working better now.
Still I accept patches. If you have one you think is wort…
Thanks very much again, David!
Plus here is the line for writing the screenshot:
# Arguments: file name, image width and height (both in pixels)# The format will be PNG.lv.save_image("image_file.png", 640, 480)
Matthias
Huuuu ... I'm scared!
You like to explore every dark corner of the system, do you? :-)
Not that I don't like being challenged, but I feel a bit like having opened Pandora's box :-)
Basically there is a limitation. Remember that PCell's in librari…
Hi David,
I'm a bit confused .. the second issue should be fixed. I'll have to check whether I forgot to merge that fix into the 0.23 branch ...
But the first issue (guiding shape can be selected even if hidden) I was a bit reluctant to fix, since…
Hi Dave,
Initially I used indexes because they are the data types used internally. But noticing that it's more convenient to work with objects I shifted to returning objects and gradually enhanced the interface with convenience methods taking or re…
Hi Massimo,
is it possible to send a sample file showing that issue to the mail address given on the Contact page?
I suspect an issue with these weird Aperture declarations.
Thanks,
Matthias
Hi zlim,
Resources are not loaded within Python automatically. But you can compile the resource file with rcc.
Here is the recipe:
* Compile the qrc file into a binary resource file for dynamic loading:
rcc -binary myicon.qrc >myicon.rcc
* …
Well, help is always appreciated :-)
If there are source code contributions I can of course integrate them. I just can't open the source code repository right now, basically because I integrated proprietary IP in the testcase area and the configura…
Hi Chris,
I hardly dare to make any statements now, trying not to add to the confusion I created before.
But looking at the code, there is no coerce_parameters call in the GDS reader. Basically, the GDS (and OASIS) reader will simply recover the p…
Hi shawnh,
first of all, thanks.
Regarding the net tracer - it's actually designed for tracing single (small) nets, so it won't be able to replace a true netlist extraction tool. I bet you'll quickly reach the limits of that feature, even if there…
Hi all,
@David: thanks again for you notes :-)
I have not really understood the request. Do you mean you want to select those rectangles that fit into a circle (like a wafer map)?
You have a full programming language available - producing shapes …
Hi Chris,
thanks for that heap of information and that nice report.
I'll have a look into that ... given the confusion that I raised, I'll have to check my own code. I'll be back ...
Matthias
Hi Chris,
Oh yes ... it looks like I was somewhat off track regarding my own code.
When digging through the implementation, I find the following
* coerce_parameters is only called when editing the parameters in the user interface. Not when changi…
Hi Chris,
I think emulating the selection is pretty tedious. I can provide an option that enables selection of objects inside PCell's/library cells, but I'd disable that initially because of the implications I mentioned.
I'd like to put that into …
Hi,
I'm sorry, but the program is not built for that kind of application. I don't know how to redirect output to a graphics view. You may be able to reuse the LayoutView component - but right now it won't work properly without being embedded into a…
Hi,
please replace the file name by a valid path - without any path, the program will probably try to write to the installation directory which does not make a lot of sense.
The new top cell is always created. If you don't want to have this cell, …
Hi ycc,
here is some tested code. It produces a clip from the rectangle -1mm, -1mm to +1mm, +1mm (for database unit 0.001µm). Please note that the rectangle coordinates must be given in database units:
layout = RBA::CellView::active.layoutclip_rec…
Hi Chris,
I'm afraid, but that's intentional. It gave me too much headache thinking about the implications of selectable subshapes and instances from within PCell's and library cells. Such shapes and instances must not be edited, hence I'd had to p…
Hi zlim,
thanks for mentioning this issue. That's a bug. I'm afraid the only workaround until the real fix will be to close and re-open the layout or to store and restore the technology after the reload. But the problem also persists when reloading…
Hi Chris,
Regarding the GUI interaction you're right - sorry for the confusion. Right now, only Apply will set the parameters. But I was projecting into the future :-)
In general I think the whole handling is a matter of philosophy. I did not have…
Hi Chris,
I'd recommend putting these lines at the end of the generation script. Specifically "add_missing_layers" is a good idea. That scheme saves some mouse clicks and doesn't scare away inexperienced users :-)
Matthias
Hi,
since the code above works I can't say a lot, except that it looks fine ... I still don't know what you're doing. Can you give a sample of non-working code? And give instructions how to run it and what is the expected and actual result? What is…
Hi Chris,
thanks for providing this code.
As I mentioned in the [http://klayout.de/forum/comments.php?DiscussionID=630&page=1#Item_6](other entry), there will be a very similar method in 0.24.
I used the following sample code:
mw = RBA::Appl…
Hi,
Thanks for the hint about the typo in the sample code. It's supposed to be "cell_index", not "index".
I'm a bit confused about your request. Actually you don't create a MainWindow object - it's already there. You can obtain…
Hi Chris,
yes ... that solves the puzzle. By "inconsistent" I meant that old_contacts was not always updated to reflect the previous value.
Regarding "you cannot assume a certain history of events", I mean that you cannot neces…