<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Layout — KLayout</title>
        <link>https://www.klayout.de/forum/</link>
        <pubDate>Sun, 08 Mar 2026 19:06:18 +0000</pubDate>
        <language>en</language>
            <description>Layout — KLayout</description>
    <atom:link href="https://www.klayout.de/forum/categories/layout/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Missing polygon point after substraction of two rectangles leads to &quot;flagging&quot; artefact</title>
        <link>https://www.klayout.de/forum/discussion/2847/missing-polygon-point-after-substraction-of-two-rectangles-leads-to-flagging-artefact</link>
        <pubDate>Mon, 23 Feb 2026 11:08:30 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>ChristianP</dc:creator>
        <guid isPermaLink="false">2847@/forum/discussions</guid>
        <description><![CDATA[<p>When I substract or XOR two rectangles, Klayout transforms this into a polygon with a hole, as shown in the sketch below. I added the numbers to show the order of the polygon points for this example. When I now apply a rotation to the polygon, a small gap along the line between points 2 and 3 appears. I assume this is due to snapping of the points to the grid, which leads to slightly different angles for the lines 2-3 vs. 6-7.<br />
This "flagging" artefact could be overcome if point 3 was included as an additional point between 6 and 7. Is there a way to tell KLayout to do so in the substraction algorithm?<br />
Thanks for any assistance with this.</p>

<p><img src="https://www.klayout.de/forum/uploads/editor/sg/k71e5cqv29wg.png" alt="" title="" /></p>

<p><img src="https://www.klayout.de/forum/uploads/editor/si/hqesv6jgbfxv.png" alt="" title="" /></p>
]]>
        </description>
    </item>
    <item>
        <title>scaling in one direction</title>
        <link>https://www.klayout.de/forum/discussion/263/scaling-in-one-direction</link>
        <pubDate>Mon, 28 Jan 2013 09:51:29 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>giangriff</dc:creator>
        <guid isPermaLink="false">263@/forum/discussions</guid>
        <description><![CDATA[Hallo everyone.<br />
How do I scale one object along one axis only? <br />
<br />
I have an instance which is containing several differently-shaped poligons and i would like it to get "taller" or "shorter" along the y-axis, but the only option I see, is to scale it on both axis. Modifying the different polygons in Partial mode would take me forever.<br />
<br />
Thank you!]]>
        </description>
    </item>
    <item>
        <title>How to only keep layout in fixed area?</title>
        <link>https://www.klayout.de/forum/discussion/2794/how-to-only-keep-layout-in-fixed-area</link>
        <pubDate>Fri, 26 Sep 2025 10:05:21 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>Weiling_Zheng</dc:creator>
        <guid isPermaLink="false">2794@/forum/discussions</guid>
        <description><![CDATA[<p>Hi,<br />
<a href="https://www.klayout.de/forum/profile/Matthias" rel="nofollow">@Matthias</a> <br />
Do you know how to get layout in fixed area and save in another gds file?</p>

<p>When patterns are connected to each other, select and save are not complete, it will miss patterns.<br />
I can only find a way not very straight to do this.<br />
I can draw a pattern signaling which area I want to keep. Then, using boolean "and" function to get the overlaping area.<br />
But when there are too many layers, it is cumbersome to write all those layers. Do there have some function giving all the layers in a layout?</p>

<p>For example, how to keep figures only in black box?<br />
<img src="https://www.klayout.de/forum/uploads/editor/vi/ckhznunmqrzt.png" alt="" title="" /></p>

<p>Best regards!<br />
Weiling</p>
]]>
        </description>
    </item>
    <item>
        <title>rotating multiple shapes</title>
        <link>https://www.klayout.de/forum/discussion/2781/rotating-multiple-shapes</link>
        <pubDate>Fri, 12 Sep 2025 14:08:53 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>mpee</dc:creator>
        <guid isPermaLink="false">2781@/forum/discussions</guid>
        <description><![CDATA[<p>Hi all,</p>

<p>I am looking for a way to rotate polygons by 45° on a dedicated layer but they should stay in place. <br />
Practically saying I want to rotate tons of diamond shapes into orthogonal shapes, but the shape itself should remain in its position.</p>

<p>If I am using the rotate function while having multiple shapes selected, the origin of the shapes is also changed.</p>

<p><img src="https://www.klayout.de/forum/uploads/editor/zl/tug9truww0wf.png" alt="" title="" /></p>

<p>The array is shown in the screenshot while the regular rotation (having 2 shapes selected) is changing the origin and if I am rotating shape by shape the result is good... Any ideas <img src="https://www.klayout.de/forum/resources/emoji/smile.png" title=":)" alt=":)" height="20" /> Many thanks, Martin</p>
]]>
        </description>
    </item>
    <item>
        <title>Design / Library Management</title>
        <link>https://www.klayout.de/forum/discussion/2304/design-library-management</link>
        <pubDate>Sat, 17 Jun 2023 01:15:19 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>dick_freebird</dc:creator>
        <guid isPermaLink="false">2304@/forum/discussions</guid>
        <description><![CDATA[<p>I'm starting to accumulate and now reuse a lot of low<br />
level (custom transistor) layouts in my work and it's <br />
getting a bit crowded in the file pile.</p>

<p>I have seen that there's some kind of "use a second<br />
GDS file as a library" capacity. I've found it a bit clunky <br />
to copy between open layouts so have been just exporting <br />
"done" devices to their own individual GDS file. Those <br />
seem like my two options for corralling a herd of funky<br />
one-off device layouts for a series of future products<br />
(a lateral PNP is a lateral PNP, unless it's in a LM158).</p>

<p>But thought I'd kick off a discussion of how other people <br />
(if anybody out there is going down the same or similar <br />
road) like to approach this aspect of design management.</p>
]]>
        </description>
    </item>
    <item>
        <title>Metal was not cut to small like expect when use RNetExtractor</title>
        <link>https://www.klayout.de/forum/discussion/2771/metal-was-not-cut-to-small-like-expect-when-use-rnetextractor</link>
        <pubDate>Thu, 21 Aug 2025 10:42:26 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>dai</dc:creator>
        <guid isPermaLink="false">2771@/forum/discussions</guid>
        <description><![CDATA[<p>Hi <a href="https://www.klayout.de/forum/profile/Matthias" rel="nofollow">@Matthias</a>,</p>

<p>I’m trying to use RNetExtract to extract a net. My expectation was that the metal shape would be split into smaller pieces to form a resistor network, but the result only contains very few resistors. I also tried setting skip_simplify=True, but the outcome didn’t change much.</p>

<p>Is there a way to control or limit the size of each resistor segment when the metal is divided? With the current segmentation, the extracted resistors seem a bit inaccurate.</p>

<p>I’ve attached the script and the GDS file I used.</p>

<p>Thanks to you and your team,<br />
dai</p>
]]>
        </description>
    </item>
    <item>
        <title>Read multiple gds best practice</title>
        <link>https://www.klayout.de/forum/discussion/2748/read-multiple-gds-best-practice</link>
        <pubDate>Thu, 10 Jul 2025 09:34:51 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>ryanke</dc:creator>
        <guid isPermaLink="false">2748@/forum/discussions</guid>
        <description><![CDATA[<p>Dear all,</p>

<p>I'm currently using layout.read() to sequentially load multiple GDS files into a main layout and insert all cells into a top_cell. However, this process has proven to be quite time-consuming, and the bottleneck appears to be the sequential reading of each GDS file.</p>

<p>I've also thinking of use multiple layout to read concurrently, but the bottleneck becomes the copy_tree() part which copies all cells into the top cell.</p>

<p>I've also reviewed the reader source code in hopes of identifying potential optimizations for the read() function, but I haven't yet found a way to improve its performance.</p>

<p>May I kindly ask if anyone has experience with a more efficient approach to speed up this process? Additionally, do you believe there is still room to optimize the read() function itself?</p>

<p>Any insights or suggestions would be greatly appreciated. Thank you in advance!</p>
]]>
        </description>
    </item>
    <item>
        <title>Difficulty checking instance origin</title>
        <link>https://www.klayout.de/forum/discussion/2743/difficulty-checking-instance-origin</link>
        <pubDate>Wed, 18 Jun 2025 20:22:35 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>SBkev</dc:creator>
        <guid isPermaLink="false">2743@/forum/discussions</guid>
        <description><![CDATA[<p>Hi all,</p>

<p>I'm having difficulty checking the origin of an instance. The only method I'm aware of is double-clicking the cell's box when the levels are set appropriately, like so:<br />
<img src="https://www.klayout.de/forum/uploads/editor/mw/4d6ehy8oroj0.png" alt="" title="" /><br />
<img src="https://www.klayout.de/forum/uploads/editor/eo/eyyhmkvdwjrg.png" alt="" title="" /></p>

<p>This works great when there's only 1 instance, however in this case where there's multiple overlapping instances, I have difficulty selecting the correct instance.</p>

<p>Are there other methods? A way to view the 'object properties' of multiple instances would be great <img src="https://www.klayout.de/forum/resources/emoji/smile.png" title=":smile:" alt=":smile:" height="20" /></p>

<p>Thanks!</p>
]]>
        </description>
    </item>
    <item>
        <title>Point removal in Polygons</title>
        <link>https://www.klayout.de/forum/discussion/2711/point-removal-in-polygons</link>
        <pubDate>Mon, 05 May 2025 21:00:06 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>ddougherty</dc:creator>
        <guid isPermaLink="false">2711@/forum/discussions</guid>
        <description><![CDATA[<p>Hello,</p>

<p>It seems K-Layout removes colinear points in polygons.  I'm reading in external point arrays and creating the polygons like this:</p>

<p>p1=SimplePolygon.new(pts,true)<br />
 _cell.shapes(lyrnum).insert(p1)</p>

<p>This works fine, but some of the points are removed if the density is too high and the radius of the edges is too large.<br />
Is there a way to remove/skip this processing?  It messes up algorithms trying to extract the 'spine' of the polygon to calculate the path length and local radius of the waveguide patterns we make.</p>

<p>Thanks,</p>

<p>Dave</p>
]]>
        </description>
    </item>
    <item>
        <title>how to insert a polygon?</title>
        <link>https://www.klayout.de/forum/discussion/2701/how-to-insert-a-polygon</link>
        <pubDate>Wed, 23 Apr 2025 05:23:57 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>jiunnweiyeh</dc:creator>
        <guid isPermaLink="false">2701@/forum/discussions</guid>
        <description><![CDATA[<p>Hi sir,<br />
I got a list that is a polygon each points (coordinate) from another software.<br />
can I follow that to create a shape as the coordinate list to make me double check by manual ?<br />
that is what my code and idea.....but ~~ that not workable...</p>

<pre><code>fatalword="(-2348.275000,-4985.623000),(-2348.275000,-4985.624000),(-2347.906000,-4986.132000),(-2347.505000,-4986.616000),(-2347.075000,-4987.075000),(-2346.616000,-4987.505000),(-2346.132000,-4987.906000),(-2345.624000,-4988.275000),(-2345.093000,-4988.612000),(-2344.542000,-4988.914000),(-2343.973000,-4989.182000),(-2343.389000,-4989.414000),(-2342.791000,-4989.608000),(-2342.182000,-4989.764000),(-2341.565000,-4989.882000),(-2340.942000,-4989.960000),(-2340.314000,-4990.000000),(-2339.686000,-4990.000000),(-2339.686000,-5180.000000),(-2340.314000,-5180.000000),(-2340.942000,-5180.040000),(-2341.565000,-5180.118000),(-2342.182000,-5180.236000),(-2342.791000,-5180.392000),(-2343.389000,-5180.586000),(-2343.973000,-5180.818000),(-2344.542000,-5181.086000),(-2345.093000,-5181.388000),(-2345.624000,-5181.725000),(-2346.132000,-5182.094000),(-2346.616000,-5182.495000),(-2347.075000,-5182.925000),(-2347.505000,-5183.384000),(-2347.906000,-5183.868000),(-2348.275000,-5184.376000),(-2348.275000,-5184.377000),(-2348.275000,-5126.411000),(-2347.961000,-5126.391000),(-2347.650000,-5126.352000),(-2347.341000,-5126.293000),(-2347.036000,-5126.215000),(-2346.738000,-5126.118000),(-2346.445000,-5126.002000),(-2346.161000,-5125.868000),(-2345.886000,-5125.717000),(-2345.620000,-5125.548000),(-2345.366000,-5125.364000),(-2345.124000,-5125.163000),(-2344.895000,-5124.948000),(-2344.680000,-5124.719000),(-2344.479000,-5124.477000),(-2344.295000,-5124.223000),(-2344.126000,-5123.958000),(-2343.975000,-5123.682000),(-2343.841000,-5123.398000),(-2343.725000,-5123.106000),(-2343.628000,-5122.807000),(-2343.550000,-5122.502000),(-2343.491000,-5122.194000),(-2343.452000,-5121.882000),(-2343.432000,-5121.568000),(-2343.432000,-5011.758000),(-2343.452000,-5011.444000),(-2343.491000,-5011.132000),(-2343.550000,-5010.824000),(-2343.628000,-5010.519000),(-2343.725000,-5010.220000),(-2343.841000,-5009.928000),(-2343.975000,-5009.644000),(-2344.126000,-5009.368000),(-2344.295000,-5009.103000),(-2344.479000,-5008.849000),(-2344.680000,-5008.607000),(-2344.895000,-5008.378000),(-2345.124000,-5008.162000),(-2345.366000,-5007.962000),(-2345.620000,-5007.777000),(-2345.886000,-5007.609000),(-2346.161000,-5007.458000),(-2346.445000,-5007.324000),(-2346.738000,-5007.208000),(-2347.036000,-5007.111000),(-2347.341000,-5007.033000),(-2347.650000,-5006.974000),(-2347.961000,-5006.934000),(-2348.275000,-5006.915000),(-2348.275000,-4985.623000)"
pattern_list= Array.new()


layoutView = RBA::Application::instance.main_window.current_view.active_cellview.layout
layout_view = RBA::Application::instance.main_window.current_view
current_work_cell= RBA::Application::instance.main_window.current_view.active_cellview.cell_name
layout = RBA::CellView.active.layout

fatalword.split("),(").each do  |xx|
pattern_list &lt;&lt; xx.gsub("(","").gsub(")","")
end
puts pattern_list


layer1 = layout.layer(1, 0)
top = layout.cell(current_work_cell)
top.shapes(layer1).insert(RBA::Polygon::new(pattern_list))
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>how to &quot;lock&quot; cells?</title>
        <link>https://www.klayout.de/forum/discussion/2624/how-to-lock-cells</link>
        <pubDate>Wed, 20 Nov 2024 01:23:47 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>olisnr</dc:creator>
        <guid isPermaLink="false">2624@/forum/discussions</guid>
        <description><![CDATA[<p>my layout has a "seal-ring" cell. and all 5' i select it by accident. some time i delete it, and dont realize it, until i have the choice of press 20i times ctrl-Z or draw it new...</p>

<p>is there a "lock cell" attribute, i can apply to this cell? or what is the way to prevent destroying done work?</p>
]]>
        </description>
    </item>
    <item>
        <title>Keep zoom\magnification level after global-trans rotation</title>
        <link>https://www.klayout.de/forum/discussion/2603/keep-zoom-magnification-level-after-global-trans-rotation</link>
        <pubDate>Tue, 15 Oct 2024 12:47:31 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>mikamar</dc:creator>
        <guid isPermaLink="false">2603@/forum/discussions</guid>
        <description><![CDATA[<p>Hi Matthias-</p>

<p>Please see code below. <br />
I would like to have 'r90' image with the exact same magnification 'r0' image. <br />
What's the best way to do that?</p>

<p>Thanks,</p>

<pre><code>def wait():
  counter = 1
  start = time.time()
  while True:
      time.sleep(0.1)
      if time.time() - start &gt; 1:
          start = time.time()
          counter = counter - 1
          if counter &lt;= 0:
              break

main_window = pya.Application.instance().main_window()
layout = main_window.create_layout(0).layout()
layout_view = main_window.current_view()

layout.dbu = 1

cell = layout.create_cell("TOP")

layer_index = layout.insert_layer(pya.LayerInfo.new(10, 0))

cell.shapes(layer_index).insert(pya.Box.new(0, 0, 1, 5))
cell.shapes(layer_index).insert(pya.Box.new(0, 4, 3, 5))
cell.shapes(layer_index).insert(pya.Box.new(0, 2, 2, 3))


layout_view.max_hier()
layout_view.select_cell(cell.cell_index(), 0)
layout_view.add_missing_layers()
layout_view.zoom_fit()

layout_view.set_config("global-trans", "r0")
wait()
box = layout_view.box() 
layout_view.save_image_with_options('c:/temp/r0.png',1000,1000,1,1,1,box,False)      

layout_view.set_config("global-trans", "r90")
wait()
box = layout_view.box()  
layout_view.save_image_with_options('c:/temp/r90.png',1000,1000,1,1,1,box,False)
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>The Names of Things</title>
        <link>https://www.klayout.de/forum/discussion/2582/the-names-of-things</link>
        <pubDate>Tue, 03 Sep 2024 23:01:04 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>dick_freebird</dc:creator>
        <guid isPermaLink="false">2582@/forum/discussions</guid>
        <description><![CDATA[<p>I was asked about something, that made me think about using<br />
instance names to find (say) a specific transistor.</p>

<p>But I find that there -is- no instance name to a placed cell. I find<br />
no "handle", although the coords are shown attached to objects.<br />
Perhaps the coords and name are the only handle. But seems <br />
to me that a managed list ought to assign a name to each element<br />
just to keep order (two objects could share same coords).</p>

<p>Being able to search by name is a great help, when it happens. <br />
Forcing same name onto schematic and layout objects really<br />
helps with LVS debug.</p>

<p>Am I just not looking in the right place or the right way? Or,<br />
is this a thing which can be "brought to the surface" to let<br />
us assign the names we want, and manipulate layouts using <br />
them for our purposes?</p>
]]>
        </description>
    </item>
    <item>
        <title>is there a possibility to past (Ctrl+V) at the cursor position?</title>
        <link>https://www.klayout.de/forum/discussion/2583/is-there-a-possibility-to-past-ctrl-v-at-the-cursor-position</link>
        <pubDate>Thu, 05 Sep 2024 15:08:23 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>olisnr</dc:creator>
        <guid isPermaLink="false">2583@/forum/discussions</guid>
        <description><![CDATA[<p>Ctrl+B duplicates the selection on the same position. for Ctrl-V i would expect that the duplicate is set to the cursor position. but in my KLayout its placed also at the same position. that means that i need to copy and past and move instead of copy and paste <img src="https://www.klayout.de/forum/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>

<p>is there a modifier for Ctrl+V to paste on the cursor position, do i have a wrong setting, or is this intended?</p>
]]>
        </description>
    </item>
    <item>
        <title>How to export GDS files into Gerber files, such as .gbl?</title>
        <link>https://www.klayout.de/forum/discussion/2581/how-to-export-gds-files-into-gerber-files-such-as-gbl</link>
        <pubDate>Sun, 01 Sep 2024 06:24:28 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>shureyang1994</dc:creator>
        <guid isPermaLink="false">2581@/forum/discussions</guid>
        <description><![CDATA[<p>Hello, sir,<br />
Klayout is a great software, but I have a problem when I use it. How to export GDS files into Gerber files, such as .gbl? The current save as is a .pcb file. I don't know how to open it with other EDA software, except Layout.<br />
Thanks,<br />
shure yang</p>
]]>
        </description>
    </item>
    <item>
        <title>What's in a (layer) name?</title>
        <link>https://www.klayout.de/forum/discussion/2545/whats-in-a-layer-name</link>
        <pubDate>Mon, 08 Jul 2024 19:21:16 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>dick_freebird</dc:creator>
        <guid isPermaLink="false">2545@/forum/discussions</guid>
        <description><![CDATA[<p>I've been trying to clean and add to a .lyp file for this foundry PDK <br />
I'm working on. The displayed layer table in the window seems to<br />
keep repopulating the Layers window name (as seen in Rename)<br />
despite that I manually renamed all the layers, using Rename, to<br />
blank (C/R). That "stuck" within the session but new session <br />
repopulates that field with layer/datatype and a name it found.</p>

<p><img src="https://www.klayout.de/forum/uploads/editor/gj/2hs6q7cuh0rl.png" alt="" title="" /></p>

<p>In the previous session I had removed the name (blanked) the field in<br />
the Rename popup, like this:</p>

<p><img src="https://www.klayout.de/forum/uploads/editor/pu/k0dnd9kzzzfs.png" alt="" title="" /></p>

<p>but now something has been inserted (first pic) that is not what was in <br />
the Layers Specification nor the Rename windows' fields.</p>

<p>Now on the flip side, the layer name I put by hand into the Edit&gt;L.ayer&gt;<br />
Layer_Properties form has -disappeared- across an exit &amp; restart. I had<br />
made that field, the displayed name I wanted for each of the layers. Now<br />
all gone. What is the point of a "write-only memory"? What purpose does<br />
a data field that evaporates, have?</p>

<p><img src="https://www.klayout.de/forum/uploads/editor/vd/qy4xm9ju621g.png" alt="" title="" /></p>

<p>So there's two "name" fields neither of which will stay what I entered.<br />
And behind it all is something that re-puts "a" name in the Layers window<br />
that seems to be neither one. The displayed text in the Layers window is<br />
neither field's content as of yesterday, case or characters-exactly. Close <br />
but seemingly from some other source.</p>

<p>Questions -</p>

<ul>
<li><p>Which one "matters" to things like DRC / extract functioning and the<br />
compatibility od any code there?</p></li>
<li><p>What data can be left out of the Layers window Rename fields without<br />
impairing functionality?</p></li>
<li><p>Which of the fields (Layers window &gt; Rename, Edit&gt;Layer&gt;Edit Layer<br />
Specification) should / needs to hold the One True Name? Or is there <br />
an even-more-meta, "real deal" field somewhere I'm not looking, to rule <br />
it all?</p></li>
<li><p>Is there a "data flows from what, to what?" kind of exposition that tells<br />
"where I should be messing"? That is, specifically, "where does what I <br />
change, stick around and matter?"</p></li>
<li><p>Am I even asking the right questions?</p></li>
</ul>

<p>And somebody 'splain me again, what the "Layer Index" is, where it can <br />
be seen and touched (permanently) through the GUI, and why or why not<br />
someone might care and want to touch it? It seems to only appear in <br />
documentation and as a "sorting" criterion but how to manipulate?</p>

<p>Also is there a way to toggle within klayout, a "freeze" to the layer basis<br />
that "people who read the news" can't mess up, short of filesystem locks?<br />
Like maybe just a settings-field up around where the technology defines <br />
the .lyp autoload, which might make the loaded file only modifiable to<br />
"visibility" and "validity" but not content behind that (no jacking names, <br />
numbers, "order", for the end user of PDK unless they want to dig for <br />
the radio button in Technology form somewhere)?</p>

<p>I think I've seen scattered hints about developing layers and technologies<br />
"from scratch" but I could sure use the cookbook / "Dummies" version <br />
if such a guide exists. That's different than the point-commands in <br />
alphabetical order, as I'm finding out.</p>
]]>
        </description>
    </item>
    <item>
        <title>Can't see full hierarchy</title>
        <link>https://www.klayout.de/forum/discussion/2538/cant-see-full-hierarchy</link>
        <pubDate>Fri, 28 Jun 2024 13:49:52 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>HWY</dc:creator>
        <guid isPermaLink="false">2538@/forum/discussions</guid>
        <description><![CDATA[<p>Hi, I don't know what happened on my Klayout. I can't see full hierarchy now. Now I try to put Basic library instance and circle from template script, still can't be shown, I have incremented level. Only can see the shapes that drew by toolbar. Before this, I was just coding some script.I don't remember if I click any button leading this problem.</p>
]]>
        </description>
    </item>
    <item>
        <title>Center point hightlighted when object being hovered</title>
        <link>https://www.klayout.de/forum/discussion/2475/center-point-hightlighted-when-object-being-hovered</link>
        <pubDate>Sun, 17 Mar 2024 08:13:19 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>shureyang1994</dc:creator>
        <guid isPermaLink="false">2475@/forum/discussions</guid>
        <description><![CDATA[<p>Hi sir,<br />
      klayout is a great software, but I have a question when using it. How to display the center point of an object in selection mode? For example, I draw a box first, and I want to draw the next box starting from the midpoint of one side of the box. Functions similarly to center point highlighting when an object is hovered.</p>
]]>
        </description>
    </item>
    <item>
        <title>Labels' appearance</title>
        <link>https://www.klayout.de/forum/discussion/709/labels-appearance</link>
        <pubDate>Wed, 07 Oct 2015 14:28:22 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>konokrad</dc:creator>
        <guid isPermaLink="false">709@/forum/discussions</guid>
        <description><![CDATA[Hello,<br />
I wonder, if it is a possibility to apply "scaling" and "rotation" options for how the labels will be visually represented independently from each other?<br />
<br />
I consider an option of labels' scaling very useful. Writing text from left to right or from down to up is fine too.<br />
But I find it awfull, when they becomes mirrored, and it hurts me quite bad)<br />
Now I see only a single option "apply text scaling and rotation" in the gui settings menu.<br />
<br />
So. the question is, how could I set the text scalable and maybe rotateble, but prevent it from mirroring?<br />
<br />
Thank you]]>
        </description>
    </item>
    <item>
        <title>Fill Tool :: Fill cell margin</title>
        <link>https://www.klayout.de/forum/discussion/2454/fill-tool-fill-cell-margin</link>
        <pubDate>Wed, 17 Jan 2024 16:54:41 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>mdgingerich</dc:creator>
        <guid isPermaLink="false">2454@/forum/discussions</guid>
        <description><![CDATA[<p>I'm trying to understand what the 'Fill cell margin' parameter of the 'Fill Tool' actually does.  I assumed it would essentially put a space between adjacent 'fill cells'.  In my version (0.28.15, Win 10/11), it doesn't seem to be doing that, so is it supposed to do something else and, if so, what?</p>
]]>
        </description>
    </item>
    <item>
        <title>How to Reuse cell libraries from other GDS file...</title>
        <link>https://www.klayout.de/forum/discussion/2444/how-to-reuse-cell-libraries-from-other-gds-file</link>
        <pubDate>Thu, 21 Dec 2023 10:54:24 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>Newbeer</dc:creator>
        <guid isPermaLink="false">2444@/forum/discussions</guid>
        <description><![CDATA[<p>Hi, <br />
How can i pull and reuse the cell libraries from other GDS file? <br />
Also how extract the cell instances which created in the cell libraries?</p>

<p>Thank you!</p>
]]>
        </description>
    </item>
    <item>
        <title>Run out of memory while merging multiple oasis files</title>
        <link>https://www.klayout.de/forum/discussion/2408/run-out-of-memory-while-merging-multiple-oasis-files</link>
        <pubDate>Thu, 09 Nov 2023 09:02:32 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>Ege_Bey</dc:creator>
        <guid isPermaLink="false">2408@/forum/discussions</guid>
        <description><![CDATA[<p>I have multiple oasis files that I want to combine and make a single oasis file that contains the layout for the whole reticle.<br />
However when I try to do this, I run out of memory. (I run out of memory even if I try to do it on Azure Cloud HPC)<br />
The total size of the oasis file reach around 30 GB.</p>

<p>The code I use to merge different oasis files is given below.</p>

<pre><code>layout_paths_to_import = ['layout.oas','layout2.oas']
top_cell_names_to_import = ['top1','top2']
output_layout_path = 'merged_layout.oas'
output_top_cell_name = 'output_top_cell'

def make_cell_instance(in_cell, angle=0, mirror=0, x=0, y=0, scale=1):
    trans=pya.CplxTrans(scale, angle, mirror, x, y)
    tmp_inst = pya.CellInstArray(in_cell.cell_index(), trans)
    return tmp_inst

def insert_cell_to_layout(layout,layout_path_to_import,top_cell_name_to_import,rotation=0,mirror=0,offset_x=0,offset_y=0,scale=1):
    top_cell = layout.top_cell()
    layout.read(layout_path_to_import)
    tmp_cell = layout.cell(top_cell_name_to_import)
    tmp_cellinst = make_cell_instance(tmp_cell, rotation, mirror, offset_x, offset_y, scale)
    top_cell.insert(tmp_cellinst)
    return layout

 output_layout = pya.Layout()
 output_layout.create_cell(output_top_cell_name)
 for layout_path_to_import, top_cell_name in zip(layout_paths_to_import, top_cell_names_to_import):
     output_layout = insert_cell_to_layout(output_layout, layout_path_to_import, top_cell_name)
 output_layout.write(output_layout_path)
</code></pre>

<p>Is there a more memory efficient way of doing this ?</p>
]]>
        </description>
    </item>
    <item>
        <title>Layer Index</title>
        <link>https://www.klayout.de/forum/discussion/2410/layer-index</link>
        <pubDate>Sat, 11 Nov 2023 01:17:53 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>dick_freebird</dc:creator>
        <guid isPermaLink="false">2410@/forum/discussions</guid>
        <description><![CDATA[<p>I see "stuff" about the "layer index" which seems like it might help <br />
me make my layer table ordering "stay put". But I can't find any <br />
way in the menus to alter the index of a single, or all, layers. I see<br />
script examples.</p>

<p>I guess what I'd really like is a clean way to edit that .lyp without<br />
wading through all the stuff I -don't- care about. So much of it is<br />
neither name, layer, datatype or display. Now maybe somebody <br />
else would care about different things.</p>

<p>There seems to be no "unified layer control and editing". Some<br />
things are done in the layers panel, some under Edit&gt;Layers,<br />
a lot of jumping around. What about a panel that "has it all",<br />
entry fields for texts and numbers, choosers for the display <br />
attributes, one stop shopping that can load-from and save-to<br />
the working layers (from there, the existing load / save for <br />
filesystem)?</p>

<p>Of course I could use a clue meanwhile, about reassigning <br />
layer indices independent of layer / purpose - I would like to<br />
use the index to "lock down" the ordering of the layers, which<br />
seems to be an option (but one that wants to use something <br />
I don't know how to alter).</p>
]]>
        </description>
    </item>
    <item>
        <title>XOR From Region Clipped to Ruler - Compare 2 portions of the 2 layouts</title>
        <link>https://www.klayout.de/forum/discussion/2401/xor-from-region-clipped-to-ruler-compare-2-portions-of-the-2-layouts</link>
        <pubDate>Wed, 25 Oct 2023 16:14:39 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>Hamady</dc:creator>
        <guid isPermaLink="false">2401@/forum/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>I'm using the XOR tool to compare 2 gds files but i don't want to compare the whole layout just 2 portions of the 2 layouts. I saw that there is the option Clipped to ruler but i could not see the layer differences on the klayout canvas. The Marker Database is showing the differences but when i click on them, i don't have the difeerences highlighted on canvas.</p>

<p>Do you have an idea on how to use the XOR Clipped to Ruler efficiently?</p>
]]>
        </description>
    </item>
    <item>
        <title>how to directly select a cell instance</title>
        <link>https://www.klayout.de/forum/discussion/2373/how-to-directly-select-a-cell-instance</link>
        <pubDate>Sun, 17 Sep 2023 10:18:03 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>YCW1026</dc:creator>
        <guid isPermaLink="false">2373@/forum/discussions</guid>
        <description><![CDATA[<p>hi<br />
I want to auto select all cell instances in Python, becase cell object can't return the point value in the absoulte coordinates and the cell instance can get the it. My cell instances have only one for each origin cells, based on code, it is right way to get parent cell  and then  Iterates by <em>each_inst</em>, but for me, I can get the cell  name ( derive only one cell instance) in advance instead of the  parent cell(contain the celll instances), so is there any method to direct get them? <br />
thanks</p>
]]>
        </description>
    </item>
    <item>
        <title>Image to GDS Conversion</title>
        <link>https://www.klayout.de/forum/discussion/2269/image-to-gds-conversion</link>
        <pubDate>Thu, 13 Apr 2023 09:08:49 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>pardeep</dc:creator>
        <guid isPermaLink="false">2269@/forum/discussions</guid>
        <description><![CDATA[<p>The input image (<strong>input_image.png</strong>) has two polygons (width = 50nm, space = 50nm, height = 550nm).<br />
<img src="https://www.klayout.de/forum/uploads/editor/5x/fnmw4a6ls3wa.png" alt="" title="" /></p>

<p>I want to convert this image file into GDS layout with same dimensions and the converted GDS file should be used for other layout operations like boolean operations etc.</p>

<p>I found one related discussion topic:<br />
<a href="https://www.klayout.de/forum/discussion/comment/9119#Comment_9119" rel="nofollow">https://www.klayout.de/forum/discussion/comment/9119#Comment_9119</a></p>

<p>This image can be converted to GDS file using the details given in this link however the converted layout polygons has small small boxes of size = resolution and these boxes are not needed.</p>

<p>The converted GDS file should look like the layout file attached (remove .txt from <strong>input_layout.gds.txt</strong>) with only outer boundary layer (layer 1/0) and no boxes inside polygons.</p>

<p>One more requirement is to have this functionality in KLayout Python module (import klayout.db as db) so that I can integrate this piece of code with my other code written on KLayout Python modules.</p>
]]>
        </description>
    </item>
    <item>
        <title>Create a Custom Library</title>
        <link>https://www.klayout.de/forum/discussion/2362/create-a-custom-library</link>
        <pubDate>Mon, 04 Sep 2023 09:39:51 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>CMeyer</dc:creator>
        <guid isPermaLink="false">2362@/forum/discussions</guid>
        <description><![CDATA[<p><strong>Create a Custom Library</strong></p>

<p>Hello, I have a question about libraries. I've created some basic cells that I need to integrate into another one, but unfortunately, I can't seem to do that. I'm thinking that creating a library might be a good idea, but I don't know how to create a custom library. So, my question is: How do I create my own library? Do I need to write a script for this?</p>

<p>Thank you for your consideration and for taking the time to help me. I'm feeling quite frustrated.   <img src="https://www.klayout.de/forum/resources/emoji/cry.png" title=":'(" alt=":'(" height="20" /></p>
]]>
        </description>
    </item>
    <item>
        <title>my layer names disappear</title>
        <link>https://www.klayout.de/forum/discussion/2293/my-layer-names-disappear</link>
        <pubDate>Fri, 26 May 2023 08:44:22 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>Nacer</dc:creator>
        <guid isPermaLink="false">2293@/forum/discussions</guid>
        <description><![CDATA[<p>Hello, when i start a layout ( saved as GDS files) , i give a name to each layer , but when i go back to layer specifications, the window show  only the number of layer, but the name disappear . it disappear also on the up right area with layer stack list ,can you help please ?</p>
]]>
        </description>
    </item>
    <item>
        <title>instance error message</title>
        <link>https://www.klayout.de/forum/discussion/2359/instance-error-message</link>
        <pubDate>Mon, 28 Aug 2023 14:34:25 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>Nacer</dc:creator>
        <guid isPermaLink="false">2359@/forum/discussions</guid>
        <description><![CDATA[<p>A<img src="https://www.klayout.de/forum/uploads/editor/lp/yxrsdvaxfo06.png" alt="" title="" /><br />
nother question :(smile): I have an error message while trying to create new instance ( see the attached picture) , do you have an idea of the issue , i suppressed and reinstalled the program , but the error is still appearing !</p>
]]>
        </description>
    </item>
    <item>
        <title>Cells copy/paste makes pasted cell new top</title>
        <link>https://www.klayout.de/forum/discussion/2348/cells-copy-paste-makes-pasted-cell-new-top</link>
        <pubDate>Thu, 10 Aug 2023 00:32:23 +0000</pubDate>
        <category>Layout</category>
        <dc:creator>dick_freebird</dc:creator>
        <guid isPermaLink="false">2348@/forum/discussions</guid>
        <description><![CDATA[<p>Like it says, so I keep putting the topcell back<br />
on top over and over. I don't see offhand any<br />
reason why topcell focus should be changed <br />
by manipulating lower level cells.</p>

<p>Is this behavior something that the user <br />
can modify?</p>
]]>
        </description>
    </item>
   </channel>
</rss>
