It looks like you're new here. If you want to get involved, click one of these buttons!
I'm using the following resizing DRC script to resized curved polygons (several data points per degree of curve). The case below copies all layers from input to output, and creates (4,0) which is (2,0) resized by 3.5.
if $input && $output source($input) target($output) end deep source.layers.each do |lp| input(lp).output(lp) if lp.layer == 2 && lp.datatype == 0 input(lp).sized(3.5).output(4, 0) end end
The resizing appears to work properly, except that there are sporadic "jogs" in the polygon of the resized layer. These jogs are 1 nm long (the database unit), and are DRC violations for my process. Changing the data in the original curved polygon (fewer data points per degree of arc, for instance) just puts the "jogs" in different locations. There are no jogs in the original curve.
So my questions are...(1) is there something wrong with the way I'm doing this? and if not, (2) is there a way to write a script (that can be called at the command line) which removes the jogs...perhaps by checking to see if a polygon contains a pair of points that are closer together than, say, 2 nm, and then deleting one of them? Currently, I'm stuck removing them manually, which is not sustainable.