It looks like you're new here. If you want to get involved, click one of these buttons!
To verify a radius I check for a notch on a polygon selecting all edges perpendicalur to each other:
GRID=0.1
IN = input(1, 0)
IN_EDGES = IN.edges
IN_EDGE_90 = IN_EDGES.with_angle(90)
radiusInner=4.0
drc_mrk = IN_EDGE_90.notch(radiusInner*1.41421356-GRID/2)
drc_mrk.output( "Inner Radius smaller 4.0" )
I can't use an edge layer to verify a notch but I struggle to rebuild a polygon out of the extracted edges. Is the collect command to be used for it?
In addition I try to use math::sqrt(2) as a function (rather then 1.41..) - but it works only when RBA is defined. Is there a way to use the math function in a DRC deck ?
Thanks a lot,
Andy
Comments
Hi Andy,
With edge layers there is no difference between space, notch and isolated because these methods act on edges depending on whether they belong to the same polygon or not. So for edge layers there is only "space".
But I wonder if your approach is the right one: with_angle(90) will only select vertical edges. To get the horizontal ones, you'd need width_angle(0). You could then do a separation test. For the separation use an angle limit to make sure 90 perpendicular edges are included:
Hello Matthias,
thanks a lot for your feedback. The sep check provides me the same result as used in a 3rd party tool - this is great! Target was to migrate the rules into KL and the Radius check was a critical one missing. Especially the combination with the DRC browser makes KL an incredible tool for DRC checking.
By the way - congrats to the new Forum. Now it's quite easy with a png file to describe the issue tobe solved.
Best Regards,
Andy
Here the final script to run a quick-drc: