1. #1
    so I wanted to make a calculator that works out the size of a box needed before radius-ing the corners

    so if I have an 85mm ID oring, and i want a corner radius of 10mm for example it will tell me that the box size is 70mm x 70mm.

    so I've written a bit of code that works to the mm. but as I'm storing numbers in "int" I'm not able to get sub mm accuracy.

    any idea on what I can use instead of int?


    #include <stdio.h>
    #include <conio.h>

    int main(void)
    int oringid;
    int oringCir;
    int cornerrad;
    int cornerdie;
    int cornerCir;
    int val1;
    int val2;
    int boxSize;

    int sides;

    printf("enter O-ring ID");
    scanf("%d", &oringid); //inputs value
    printf("enter corner Radius");
    scanf("%d", &cornerrad); //inputs value

    //inner oring id converted to circumfrence
    oringCir = oringid * 3.14159265359;
    //corner radius is converted into diameter
    cornerdie = cornerrad * 2;
    //then converted in circumfrence
    cornerCir = cornerdie * 3.14159265359;
    //take away corner circumfrence from oring circumfrence
    val1 = oringCir - cornerCir;
    val2 = val1 / 4;
    boxSize = val2 + cornerdie;

    printf("with %d radius the box needed is: %d", cornerrad, boxSize );



  2. #2
    Quote Originally Posted by jcb121 View Post
    any idea on what I can use instead of int?
    Use 'float' - not the most memory efficient way to do it but that's not an issue here. Also you might find it helpful to include math.h.

    Also since those are currently all ints, you might be introducing a big rounding error with pi.
    Old router build log here. New router build log here. Lathe build log here.
    Electric motorbike project here.

  3. Scale everything up so working in um, ie 1mm = 1000

  4. #4
    i2i's Avatar
    Lives in Cardiff, United Kingdom. Last Activity: 23-12-2016 Has been a member for 7-8 years. Has a total post count of 693. Received thanks 30 times, giving thanks to others 0 times.
    the depth of an o-ring groove has to be spot on with quite tight tolerances, there are charts available for o-ring sizes.

  5. Quote Originally Posted by Jonathan View Post
    Also since those are currently all ints, you might be introducing a big rounding error with pi.
    It will because of the implicit conversion of the result to int. So 11 * 3.14159 could be treated as

    int(11.0 * 3.14159)=int(34.55)=34


    11 * int(3.14159) = 33

    Either is wrong...

    depending on the compiler. .

Similar Threads

  1. Nitrile O-ring belt drive - suggested stretch percentage..?
    By Wal in forum Linear & Rotary Motion
    Replies: 23
    Last Post: 13-05-2014, 10:49 PM
  2. Domestic ring main wiring
    By mekanik in forum General Electronics
    Replies: 1
    Last Post: 15-10-2013, 04:50 PM
  3. RFQ: Simple job cutting simple shapes out of camera lens cap
    By RockandGrohl in forum Projects, Jobs & Requests
    Replies: 15
    Last Post: 20-04-2013, 12:23 AM
  4. how to measure a ring for cnc.
    By crimsonred in forum Probing, Digitizing & Scaning
    Replies: 4
    Last Post: 27-09-2010, 01:47 PM
  5. Scrool jaw ring for hydraulic soft jaws.
    By Pmac in forum Tool & Tooling Technology
    Replies: 4
    Last Post: 28-01-2010, 06:55 PM


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts