Non-Standard Threads with Fusion 360: Schrader to Presta Valve Adapter
Last week I had a flat tire on my mountain bike. Patching the tube wasn't a problem, that was done in a few minutes. However, quickly airing up and re-seating my 29x3.0 tire was going to be a pain with only my small hand pump. To get around this pain I have an old high volume foot pump but it only fits on Schrader valves and my mountain bike uses Presta. Normally, I use a brass Presta to Schrader adapter but on that day I couldn't find it. (I still can't find it...) I ended up borrowing a plastic adapter for the job. This lack of an adapter made me think, "Why not 3D print a few of my own?"
Update: The Presta to Schrader Valve Adapter can now be downloaded from Thingiverse. Thing number 3165038. https://www.thingiverse.com/thing:3165038
|Different Valve Types Image Provided by SheldonBrown.com|
To 3D print a Schrader to Presta valve adapter I needed a bit more information about its threads. A little digging through Sheldon Brown's Blog and Wikipedia gave me what I needed. Presta valves have a cap thread of 5mm x 1.0 pitch and Schrader valves have a thread of 5/16inch 32tpi. Combining this information with some measurements taken from my existing plastic adapter and I soon had a 3D model made in Fusion 360.
There was one problem. Fusion 360 doesn't have a 5mm x 1.0 pitch thread option built in. They have a wide assortment of standard thread sizes but not this one. I could have modeled it from scratch using the coil feature but I thought it would be much easier if I could just add it to the existing dropdown menu. So, thats exactly what I did and here's how.
Note: I followed some basic instructions I found on this autodesk forum thread. In it, various people describe each step. Here is a link to the original forum post.
|Fusion 360 only had options for M5x0.5 and M5x0.8 threads.|
Buried deep in the Fusion 360 installation file are a .xml files containing all the thread data for each thread standard. To create a new thread pitch option for the M5 standard I needed to modify the ISOMetricprofile.xml code. (The xml file can be modified with any text editor but I used xCode because why not.) The file location for a MacOS installation is shown below. The long string of numbers and letters in the file path is unique to every instillation so will be different for everyone.
- Users/jones/Library/Application Support/Autodesk/webdeploy/production/6be89c90abc06f803dbde549e6ad78a5ceb88daa/Libraries/Applications/Fusion/Fusion/Server/Fusion/Configuration/ThreadData/ISOMetricprofile.xml
Instead of finding the xml file the hard way, you could also do a file search for the specific xml file you want to edit. I couldn't do that the first time because I didn't know what the file would be called. For your convince here is a list of all the xml thread standard file names.
Note: The Fusion 360 instillation file will be hidden. To view on a mac use the shortcut "Cmd + Shift + ." to show hidden files and folders.
|Showing file path information and file names for each thread standard.|
Once the correct file was found, it needed to be opened and edited. I used Xcode to edit it but xml files can be edited in any text editor software. The overall file structure is fairly simply. It's essentially a very long text reference list of all the names and dimensional values of each thread size. Below is a copied section of some of the text. The bolded text is what I added for the new M5x1.0 thread. The remainder is for various M5x0.8 thread standards. Paste the bolded text into the xml file with the other M5 threads about a fifth the way down the page. It goes right below "<Size>5.0</Size>". Once it's pasted in the right spot just save the file and restart Fusion 360. You should now see the new M5x1.0 thread standard in the dropdown menu. If you want to find out how I got these values then keep reading below.
Note: The values shown here are the minimum acceptable values allowed for the M5x1.0 thread. If these are use then it will be a very tight fit. For a looser fit you can use larger values. I never was able to 3D print good quality threads using this technique but I will keep playing around with the idea.
|The new M5x1.0 thread standard is now available in the drop down list. Awesome!|
|Screenshot from Fusion 360 showing the thread profile of our new M5x1.0 internal thread.|
|Screenshot of editing the xml file in XCode.|
How to calculate the diameters:I calculated the above bolded values using tables and formulas found in the Machinery Handbook. (Read this post to find out how to get a copy of this amazing book. Link) Basically we need to calculate the Major Diameter, Pitch Diameter and the Minor Diameter for the 5mm 1.0 pitch internal thread using what we know.
This is what we know.
- P = Pitch = 1.0mm
- d = Basic Major Diameter External = 5.0mm
- EI = Internal Thread Allowance = .026mm (From Table 6 in Machinery Handbook)
- Tolerance Grade = 6 (Most common tolerance grade for this type of thread.)
- TD1 = Tolerance for Minor Diameter Internal = .236 (From Table 8 in Machinery Handbook)
- TD2 = Tolerance for Pitch Diameter Internal = .150 (From Table 10 in Machinery Handbook)
Using the tables below and the known values noted above we can calculate the values for our M5x1.0 internal thread. We actually need to calculate the minimum and maximum values so there are 6 equations total.
- Min Major Diameter = 5.0mm + .026 = 5.026mm
- Min Pitch Diameter = 5.0mm - 0.649519*1.0mm + .026 = 4.6105mm
- Max Pitch Diameter = 4.6105mm + .150 = 4.7605mm
- Max Major Diameter = 4.7605 + .793857*1.0mm = 5.5544mm
- Min Minor Diameter = 5.026mm - 1.082532*1.0mm = 3.9435mm
- Max Minor Diameter = 3.9435mm + .236 = 4.1795mm
These are the acceptable ranges for each diameter of the M5x1.0 internal thread.
- Major Diameter: 5.026mm - 5.5544mm
- Pitch Diameter: 4.6105mm - 4.7605mm
- Minor Diameter: 3.9435mm - 4.1795mm