Skip to main content
replaced http://graphicdesign.stackexchange.com/ with https://graphicdesign.stackexchange.com/
Source Link

Ok so Illustrator is a bit weird in this sense. I often use @Ryans@Ryans method, Its not super accurate, but then Bezier circles aren't so accurate either.

Here are 2 other options that may be more accurate.

  1. Its possible to script this. So for example

     var sel = app.activeDocument.selection;
     for(i=0; i<sel.length;i++){
        var pts = sel[i].pathPoints;
        var radius = Math.sqrt(
               Math.pow(pts[1].anchor[0]-pts[0].anchor[0], 2)+
               Math.pow(pts[1].anchor[1]-pts[0].anchor[1], 2)
               );
    
         app.activeDocument.layers[0].pathItems.ellipse( 
           pts[0].anchor[1]+radius, pts[0].anchor[0]-radius, radius*2, radius*2
         )
     }
    

    This is not the best possible circle it would be better to rotate or make a 8 point circle for example.

  2. you can get the free circle tool form astute graphics called sub scribe, also available in hotdoor cad tools, or make your own (3 lines to change in arrow example)

Ok so Illustrator is a bit weird in this sense. I often use @Ryans method, Its not super accurate, but then Bezier circles aren't so accurate either.

Here are 2 other options that may be more accurate.

  1. Its possible to script this. So for example

     var sel = app.activeDocument.selection;
     for(i=0; i<sel.length;i++){
        var pts = sel[i].pathPoints;
        var radius = Math.sqrt(
               Math.pow(pts[1].anchor[0]-pts[0].anchor[0], 2)+
               Math.pow(pts[1].anchor[1]-pts[0].anchor[1], 2)
               );
    
         app.activeDocument.layers[0].pathItems.ellipse( 
           pts[0].anchor[1]+radius, pts[0].anchor[0]-radius, radius*2, radius*2
         )
     }
    

    This is not the best possible circle it would be better to rotate or make a 8 point circle for example.

  2. you can get the free circle tool form astute graphics called sub scribe, also available in hotdoor cad tools, or make your own (3 lines to change in arrow example)

Ok so Illustrator is a bit weird in this sense. I often use @Ryans method, Its not super accurate, but then Bezier circles aren't so accurate either.

Here are 2 other options that may be more accurate.

  1. Its possible to script this. So for example

     var sel = app.activeDocument.selection;
     for(i=0; i<sel.length;i++){
        var pts = sel[i].pathPoints;
        var radius = Math.sqrt(
               Math.pow(pts[1].anchor[0]-pts[0].anchor[0], 2)+
               Math.pow(pts[1].anchor[1]-pts[0].anchor[1], 2)
               );
    
         app.activeDocument.layers[0].pathItems.ellipse( 
           pts[0].anchor[1]+radius, pts[0].anchor[0]-radius, radius*2, radius*2
         )
     }
    

    This is not the best possible circle it would be better to rotate or make a 8 point circle for example.

  2. you can get the free circle tool form astute graphics called sub scribe, also available in hotdoor cad tools, or make your own (3 lines to change in arrow example)

Source Link
joojaa
  • 58.6k
  • 8
  • 88
  • 181

Ok so Illustrator is a bit weird in this sense. I often use @Ryans method, Its not super accurate, but then Bezier circles aren't so accurate either.

Here are 2 other options that may be more accurate.

  1. Its possible to script this. So for example

     var sel = app.activeDocument.selection;
     for(i=0; i<sel.length;i++){
        var pts = sel[i].pathPoints;
        var radius = Math.sqrt(
               Math.pow(pts[1].anchor[0]-pts[0].anchor[0], 2)+
               Math.pow(pts[1].anchor[1]-pts[0].anchor[1], 2)
               );
    
         app.activeDocument.layers[0].pathItems.ellipse( 
           pts[0].anchor[1]+radius, pts[0].anchor[0]-radius, radius*2, radius*2
         )
     }
    

    This is not the best possible circle it would be better to rotate or make a 8 point circle for example.

  2. you can get the free circle tool form astute graphics called sub scribe, also available in hotdoor cad tools, or make your own (3 lines to change in arrow example)