RawrRanger

About

Username
RawrRanger
Joined
Visits
1,767
Last Active
Roles
Member

Comments

  • Hi double0darbo, Not sure whether this suits you work workflow or can achieve the accuracy / performance you like, but should be the eaisiest ways to break complex shapes into simpler polygons gds with Polygon can be resaved as dxf format with dec…
  • Hi halfmoonhalf, It freezes the layer as well as cell display status. If you enables the freeze function, the layer visibility in navigator will not change along with the main view window, so as the cells. (Image)
  • Hi halfmoonhalf Cells can be show or hidden individually in views, so using terms like "show this cell" might not be the best. Example: with pad cell hidden: (Image) with pad cell shown: with pad cell Show As New Top: (Image)
  • Hi yrrapt, Assuming the STI forms a circular shape with a hole inside, the hole can be extract by DRC function `holes` https://www.klayout.de/doc/about/drc_ref_layer.html#h2-1307 this should allows you to use this gen-layer in LVS but draw…
  • Hi TysonJones, I ran into similar issue, I like the user to pre-select some shapes for further process, but failed ti find a way to exit directly using normal method. My work around is to send a esc by script in mouse_moved_event, so once the cur…
  • Hi TysonJones, Not quit sure what is the correct way to exit the plug in, the way I exit the plugin is sending a esc key command by script. def deactive(self): esc_key = 16777216 keyPress = pya.QKeyEvent(pya.QKeyEvent.KeyPress…
  • Hi dick_freebird, This example loop through each cell and check for child cells and print them into a indented string list. import pyalayoutView = pya.Application.instance().main_window().current_view()cellView = layoutView.active_cellview()layo…
  • Hi wsteffe Layer label with grey texts means currently there's no shapes in the layer if those layers were created by *.lyp, then these layers might not being actually created. For instance, if you open a empty file and load an *.lyp into the emp…
  • Hi rrzzxx22, The active layer is set using LayoutView.current_layer following example sets active to layer (4/0) if this layer exist. import pyadef setActiveLayer(layerNo, layerDt): layoutView = pya.Application.instance().main_window().current_…
  • Hi wsteffe There you can utilize the FileDialog to create a popup dialog for fiel selection. the *.dxf parameter limits the user from selecting other formats, this can be changed based on your use case. import pyalayoutView = mainWindow.view(mainW…
  • HI wsteffe, For file import I recommend to add reload function to your code, this will ensure the change you made in import files will take effect immidiately. Klayout seems to run every thing at start and changes that being made on the fly will no…
  • Hi wsteffe, If you like to add a button in toolbar which triggers a function, this can be achieved with on_triggered act.on_triggered(lambda : print("something"))
  • For View level, please check out this example in attached, This file consist of many levels and shoud give you a better idea about the view range selection . This is a sequence of screenshot of ramping up lower view range from 0 to 5 shapes or cells…
  • HI wsteffe, for package registration, with additional trunk should work https://github.com/wsteffe/layoutDD.git/trunk
  • Hi wsteffe, (1) Import PCB: This can be done in two ways, using pre-defined *.lyp, it will automatically match the layer number/datatype if the layer name is same as dxf name, which avoids no number/datatype issue. An *.lyp with layer mapped DXF is…
  • Hi wsteffe Due to gds format supports cell and sub cell structures, which top cell is at view level 0, and sub cells directly under top will be view level 1 cells under sub cell will have higer level number. This only affects display and does not c…
  • For clip from mutiple layout, this example takes selection from different layout and perform clip to the target. clipped shapes will be insert into corrosponding layout based on the source of clipper. Generated layout should be able to export to dx…
  • Hi wsteffe, Items 1~5 are all achievable through GUI, (2) to load multiple layout into the view just need to select add layout to current panel option during creating layout or loading layout with a existed file opened in window. This creates two …
  • Hi ajantonio47 Right click on Layers and check both Hide empty layers and Test for shapes in view options. This should do the trick. (Image)
  • Hi wsteffe This examples load two layout into the user interface @1 this one is the DXF for clipping @2 another is a newly create layout by code, can later be change to another layout with custom clip shapes. The code that generates Rect can be re…
  • Hi wsteffe, For part 1 and 2, opening multiple layout in same window is achievable, following example loads a DXF file and a program generated layout for clipping into the same LayoutView. each layout will be held by individual cellView, and opera…
  • Hi wsteffe, Due to the nature of gds, all curves will be stored in a collection of points and segments, even if the curves was imported from DXF. Some layout tools supports True Curves with non-standard file format, but I found most of them cannot…
  • Hi YCW1026 Here's an example from previous post, which selects all inst with same name: https://www.klayout.de/forum/discussion/comment/7228/#Comment_7228
  • For file conversion part, currently I did not notice options that provides export to DXF with layer description preserved, once you export the cell into new file, you might encounter some difficulty recognizing layers. Since the automatic assigned …
  • Hi wsteffe, Like you've mensioned, If the file is imported by non-generic layout files then the layer_number and datatype part might fail, due to this info is not specified in their file format , the layer_num and datatypes will all -1. if you sav…
  • Hi jiunnweiyeh output_cell(die_pm1) can be added right below this line cell(die_pm1) this makes all following output results into to die_pm1 so you don't need to update every output individually in your files
  • Hi jiunnweiyeh Specified the output cell output_cell(die_pm1) should able to solve the issue
  • Hi wsteffe, Indeed, the sortClipPolygons does exactly the same as you described, this existed to sort polygons in a order that it always shows upright next (touches) to previous clip shape. In test case, all polygons are connected with each other …
  • HI wsteffe, This example list out all the polygons within given cell/layer, you can access them by index or filter out usefull polygons by their data points. def layerPolygons(cell, ln, dt): return [itr.shape().polygon.transformed(itr.trans()) …
  • Hi wsteffe not quite sure whether I fully understand your request, but this example shows how to chop gds in chunks and save them. The layout I run for the following image is as attached zip file. (Image) import pyaimport mathimport functoolsf…