Hi Matthias,
I can't put the whole code on there. You would need all the processing data and some layout. This may be a bit too much in terms of confidentiality. I will head over there though and finally get set up. I have another simpler problem I …
Hi Matthias,
I inserted sleep commands everywhere to hunt down where the multiple bars are coming from. I think I found it !!!
I noticed that the LayoutView methods affect it. Here is an example. This is executed in your xsection_generator::output m…
I have to ask one last question. I made a progressbar by counting the number of "output" statements in the xs file, and then incrementing it with every "output" command during the eval(). all works fine, except when I click on th…
Actually, I think it is the opposite. I assume that all provided :through materials are empty by setting
through_empty = true
as I loop through all through_temp: if one material with more than zero polygons is found then
through_empty = fal…
Hi Matthias
in mask_data, I replaced:
if !v.kind_of?(Array) through = [v] else through = v end through.each do |i| if !i.kind_of?(MaterialData) raise "'#{method…
nil still creates the same error "expected material or array of material" when given to :through in .grow()
MaterialData.new([], self) works to prevent the hang-up, but this new empty layer blocks .grow() if I provide it as :through, alth…
All fixed and working now.
Posting the resolution here, because it wasn't really a xsection issue:
delta() was set to some unrealistic value. Doh !
Thank you !!!
Thomas.
Hi Matthias,
the "4888" link is where I started :-) Unfortunately, the step-by-step is with user input only.
Maybe I should clarify. I would like the code to run uninterrupted by user prompts or windows that pop up. The current xsection mo…
Hi Matthias,
thanks for getting back to me. I have modified a bit now. When I am finished and happy with it, I can post it somewhere.
Also, in the meantime, I have resolved the issue through trial and error. I ended up clearing all layers first, th…
Hi Matthias,
li.current.cellview == cv_index
hangs up. li is a LayerPropertiesIterator, li.current is a LayerPropertiesNodeRef, and that one doesn't like cellview. :-(
Thomas.
hi Matthias,
I had an old Linux machine I tried KLayout on (12.04) and I was
pleasantly surprised at its memory management and overall snappiness. DRC also ran nicely, similar speed as Win.
Therefore , I wanted to try on the latest Ubuntu version …
Hi Matthias,
no errors with klayout_app.exe. It does not complain about anything, but it also does not do anything either.
Is there a debug capability ? Any text output ?
The exe just loads into the memory, and then is gone after a second.
Thanks…
Hi Matthias,
I am trying to run the standalone version, but klayout.exe always throws an error about entry point not found.
the procedure entry point
?translate@tl@@YAAEBV?$basic_string$DV?$char_traites@D@stl
p_std@@V?$allocator@D@2@@stlp@@AEBV23@@…
Hi Matthias and David,
as usual - many thanks for all the help!
Regarding (4), I meant to ask if there is a way to keep the generated shapes of one DRC run during a
second run. Right now, the shapes are removed when a new DRC starts. Yes, tiling c…
Hi Matthias,
I have to bombard you with more questions on DRC.
(1) I cannot get the standalone version to run. is the drc file just a text file
without the headers of the lydrc file ? Also, what happens to commands that do access
layout_view ? Are…
Hi Matthias,
your code needed a little work here and there but I got it to work.
a small hurdle is that we dont really care about the from_layer name, we
only care that layer and layertype are correct. The individual designers that
feed me the gds …
Hi Matthias,
along the same lines:
how do you change PCELL parameters of an existing PCELL ? I iterate through all cells via
.called_cells, and I detect a PCELL with .is_pcell_variant?, but I cannot seem to change
that PCELL's parameters. (.cell.ch…
I wrote script that loops through all flat-list cells and changes the layers of shapes
over to a set of other layer. No problem, but I am struggling to change a layer
parameter of PCELLs in the script. I can detect if a cell is a PCELL with myCell.…
Thanks David,
I had tried to create a regular cell inside a pcell programmatically but that produced an error saying it was not allowed. In hindsight, and I thought I'd never say this, but I believe what I am trying to do is too dangerous. if cells …
Hi Matthias,
I ended up writing code for suggesting a cell name and checking against all cells.
After all duplicate shapes and cells are removed, and all cells are checked against
each other by content, the remaining cells that have names that are c…
Hi Matthias,
it was a bit more complicated. You were right, the basic and complex parameters are not required to be replaced. They remain with the original object. The problem with my code was the recursive nature of the index replacement. Took a wh…
Oh boy, that created a mess ! I had written up a very similar routine.
I ran it and it replaced the cells in all instances correctly, but I think it did just take
over the parameters from one instance. Still troubleshooting, but I think before repl…
Hi Matthias,
what you are suggesting, is that what the code behind the menu item MENU>CELL>REPLACE_CELL does ?
If so, is that accessible somewhere ? I feel like I am re-inventing the wheel ...
Thanks.
Thomas.
Hi David,
yes, I am almost done with my script. I flat iterated through all cells in the layout and wrote a function that tests whether they are identical to other ones in the list. This includes shapes and child cells. I have found that roughly 50%…
Hi Matthias,
I was thinking that I would want to remove duplicate shapes only within 1 cell (and then recurse), not shapes that overlap another cell's shape. Similarly, I would remove duplicate cells and instances only within one parent cell (and th…