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
My proposal was size and move by half the size amount. At least that is how I would implement it internally :)
So like:
# bottom and left sized by 1µm:sized_bottom_left = original.sized(0.5.um).moved(0.5.um, -0.5.um)
This simple solution suffers …
Let's see - I am in touch with some people about this. It's all about how open SEMI is and how willing they are to collaborate with Open Source.
DXF IMHO does not qualify for mask data transfer as it does not even have a concept of "inside&quo…
@Ege_Bey The stream readers/writers are dynamically loaded. You have to supply them separately I assume. If pyInstaller does what I think it does, it will analyze the DLLs and package all dependencies. I cannot know about dynamically loaded librarie…
Okay, the application should not crash ... but you're passing an invalid layer id to get_info.
get_info takes a layer ID which you get when you know the GDS layer number/datatype. A layer ID is an internal layer index and typically is a low number.…
Very good.
If the instances you want to delete are on top level, you can also use "View/Select Top Level Objects". In this mode, you only select instances rather than shapes inside instances.
Matthias
Hi @ravn,
currently (with 0.27), the hidden feature is not dynamic - you can set it at the beginning, but not change it.
In 0.28 you will be able to dynamically change the visibility of a parameter in a new PCell method called "callback"…
Hello @dai,
thanks for this perfect test case. I'll investigate the problem. Looks like a general problem with extended and related functions in deep mode.
I have created a ticket for this: https://github.com/KLayout/klayout/issues/1190
As a quic…
Sure, that's of interest!
DXF has a way to specify parts of curves as rational or non-rational B-splines. It does not look much like the sketch above, but I'm lacking details of the OASIS proposal. I don't have access to SPIE papers and I can only …
I see - I guess my approximation is kind of crude for this application, but basically W and L should should give some average path length and width. Approximately.
Matthias
Yes, it is. But I need to explain.
The layer name is a database feature. A layer inside the database is given by either layer/datatype numbers (GDS, OASIS) or a name (CIF, DXF, LEF/DEF, Magic). So these are the coordinates of a layer.
The layer pr…
Hello @dai,
So the blue patched are your terminals? That is kind of strange - usually they are connected on opposite sides.
The computation is L and W assumes a rectangular geometry with two ends being entirely assigned to "contact". The…
There is a bug there which has been there for a long time, but for some reason the crash became popular recently ...
I have recently fixed such a bug after a lengthy debug session, but this fix did not make it into 0.27.12. You can try the latest m…
@jiunnweiyeh
I'm a bit confused because initially you meant selected instances, but from the DRC script you do something with "interact" and work on shapes ...
Anyway, here is a script that lets you select instances and connects their ce…
No sorry, I understood that.
But what do you mean by type(mypcell)? "mypcell" comes from where?
Sometimes things change between versions, for example deprecated methods may no longer be available or methods may behave differently. I cann…
So your issue is that "software just stopped working"?
Please read my messages above. This is ridiculous. I cannot help with such little information and without getting ANY feedback.
Matthias
It's a runtime option.
But that means your Qt is not built with OpenGL support. Maybe one can enable it somehow on CentOS (e.g. installing some packages) - on Ubuntu I have no trouble finding Qt with OpenGL.
Matthias
Yes, there is a reason. This happens when Qt does not include OpenGL.
OpenGL is a pain. I'll leave it to others to figure out how to get it running. I have too little experience there.
Matthias
Maybe ... but "existance" of a layer is not a well-defined concept in GDS and OASIS. A layer does not exist if there is nothing drawn on it. So if you think of a technology option, that is not the right way to do that. A layout may be draw…
Hi Laurent,
I'd suggest this solution:
e = M1.edges[0, 90, -45, 45].each do |a| e = e.without_angle(a)ende.output("M1_angle", "Non 45 degree angle ME1")
(Image)
You don't need 135, 180 etc. angle checks. Angles are measured…
That depends what you want to do.
I understand that you want to modify the object. A plain copy does not make much sense, right?
So when you want to copy-and-modify and shape, you need to focus on a specific shape type. Most shape types (with the …
I just checked why nil isn't working any longer - actually, the argument became type-bound which avoids issues when you forget to specify one argument, but on the other hand, nil is no longer a valid value.
Hence currently, the way to specify the d…
Hi Thomas,
the problem occurred to me as well. So rule #1 of successful software development applies: make the programmer feel the same pain as the users and you will get a premium product.
In other words: a solution is in sight. The master branch…
@Default I think you mean when scripting, right?
Problem is that "dup" will create a copy in the Python/Ruby sense, but the underlying "Instance" object still acts as a pointer into the database. That is the nature of the object…
Very good and thanks for the hint. Honestly, I don't know why nil was working. I need to check. By "previous versions" you mean which one?
Thanks,
Matthias