Thank You for the fast answer and the good software.
Is this a good place for placing bug reports or you have some kind of 
bugtrack system ?

Regards,
Radoslav


On Saturday, April 27, 2013 8:06:56 PM UTC+3, strubin wrote:
>
>  Thanks for the bug report. What you have done is sufficient for us to fix 
> this bug. I will write back to you when it has been patched in the source 
> code repository.
>
>    -Steven Rubin
>
> At 09:39 AM 4/26/2013, you wrote:
>
> Hello,
>
> I see that this is an old issue, but I get the same results when try to 
> export Cell in CIF format.
> I'm using Electric 9.03 and rcmos technology to generate a pcb with 
> rounded corners of the traces.
> I see when exporting to CIF format that the pins are not scaled, while the 
> arcs are scaled according to Technology scale.
>
> I'm not a programmer, but I found the function in Electric source code ( 
> /com/sun/electric/tool/io/output/CIF.java ),
> which gets the PolyBase object and checks if it is Round, Box or Poly.
> It looks like the scaling of the Poly.Type.DISC object is done to the 
> radius of the DISC, while it should be done
> to the diameter. At the end I'm attaching the method that generates the 
> .CIF file and I have one questions:
>
> What is the workflow that I should follow in order to get Electric to work 
> with the new version of CIF.java file ?
> Should I compile everything from source or when Electric runs it compiles 
> automatically the CIF java class.
> I'm not familiar with the java workflow and actually I don't know how to 
> update the file correctly, so that next time I run Electric,
> to use the file with the corrected radius in the scale() function.
>
> Regards,
> Radoslav
>
> method:
>
>  private void writePoly(PolyBase poly, Cell cell, Geometric geom)
>     {
>         Point2D [] points = poly.getPoints();
>
>         if (poly.getStyle() == Poly.Type.DISC)
>         {
>             checkResolution(poly, cell, geom);
>             double r = points[0].distance(points[1]);
>             if (r <= 0) return;            // ignore zero size geometry
>             int radius = scale(r);     // HERE SHOULD BE SCALED DIAMETER 
> (I THINK) 
>             int x = scale(points[0].getX());
>             int y = scale(points[0].getY());
>             String line = " R " + radius + " " + x + " " + y + ";";
>             writeLine(line);
>         } else
>         {
>             // ignore zero size geometry
>             Rectangle2D bounds = poly.getBounds2D();
>             if (bounds.getHeight() <= 0 || bounds.getWidth() <= 0) return;
>
>             // simple case if poly is a box
>             Rectangle2D box = poly.getBox();
>             if (box != null)
>             {
>                  checkPointResolution(box.getWidth(), box.getHeight(), 
> cell, geom, poly.getLayer(), poly);
>                  checkPointResolution(box.getCenterX(), box.getCenterY(), 
> cell, geom, poly.getLayer(), poly);
>                  int width = scale(box.getWidth());
>                  int height = scale(box.getHeight());
>                  int x = scale(box.getCenterX());
>                  int y = scale(box.getCenterY());
>                  String line = " B " + width + " " + height + " " + x + " 
> " + y + ";";
>                  writeLine(line);
>                  return;
>             }
>
>             // not a box
>             checkResolution(poly, cell, geom);
>             StringBuffer line = new StringBuffer(" P");
>             for (int i=0; i<points.length; i++)
>             {
>                  int x = scale(points[i].getX());
>                  int y = scale(points[i].getY());
>                  line.append(" " + x + " " + y);
>             }
>             line.append(";");
>             writeLine(line.toString());
>         }
>     }
>
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Electric VLSI Editor" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Electric VLSI Editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to