It looks like you're new here. If you want to get involved, click one of these buttons!
Hi Sir,
as below picture , do you have any idea for how to check the min. size (width /length) and space for the knid of oval case?
this is what our limitation....
1.we not need to know it is in-rule , but also we need to know how the min. size for width/length/space.
2.I knew taht way to check what the space as below.
ubm=input(152,1)
ubm.space(.......)
I also understand how to check width if the pattern is square.
ubm=input(152,1)
ubm.width(.......)
But as you can see what pattern I need to check , if using width command to check the size ,
that will output some of fake DRC on the oval both ends.
if using a BBOX to check that , that also output a bad result.
I also try for the option like ubm.width(5.um , projection)
The bad news is that can't check how the length is for this case.
Do you have any idea for that ?
Comments
Hi @jiunnweiyeh,
Have you tried to undersize?
So if you do
this should give you all ubm shapes which are smaller than 5µm in one direction.
But sizing may not be very precise if the round edge is resolved into many small edges.
Matthias
Hi Matthias,
Thanks for your reply.
I have try what your code to check if the shape is more than X um(5um as your code)
but that is only to know if the size small or large what is the Xum.
we still need to know how is the oval size by length and width.....
So you mean the design rule is different for width and length? So like min width 5µm and min length 10µm? And the orientation can be anything?
Matthias
Hi Matthias,
Yes , each pattern been rotated by difference angle, that angle base on what the degree between
pattern center to the or origin.
I have another idea for measure the length and width of oval.
a/get the center of oval by coordinate.
b/check each points , find what the length between each 1 points to the center.
c/check distance of the min. value by first and second points , will get the width of oval
check distance of the max. value by first and sencod points , will get the legnth of oval.
hope I can base on this flow to make a coding for that , maybe some of that will
ordeal me for the capbility of programming.
Hi,
I think the easiest would be:
bbox().center()
should be enough for that)edge2
Edges
collection. (i.e.Edges(polygon)
)edges_top.interacting(Edges(edge2))
andedges_bot.interacting(Edges(edge2))
edges_bot.interacting(Edges(edge2))[0].intersection_point(edge2)
edges_bot.interacting(Edges(edge2))[0].intersection_point(edge2).distance(edges_top.interacting(Edges(edge2))[0].intersection_point(edge2))
I think this should work and is probably easier than processing all the points and calculating the distance yourself
Hi sebastian
@sebastian
OK , Thanks , I will try it.