Ok, here is one cute modeling tutorial. In this one you will learn how to model this USB connector.
Ok, first things first. We need reference image which will help us model this little bugger. So, please use this one, and position it on the background of Top viewport. Make it 40 units (make sure you’ve got your Snap turned on) in width. Like so:
Then using Rectangle command create one rectangle like on the image (please note, if you followed the above intructions then you will have absolutely no problem aligning with using snap rectangle corners according to the image)
You can explode that rectangle into 4 lines with explode command, and then offset upper and lower ones by 2 units towards inside:
Now, create an Arc using Mid Osnap option and position it like on the image. (you will have to turn off the snap option, and turn on the Ortho for moving the arc straight). After that trim off the lines you don’t need with Trim command.
Now, offset joint curve by 0.5 units, and move that offset curve upwards (from Front or Right viewport) by 0.5 units, and extrude it by 4 units.
Using FilletEdge command, set the fillet radius to 0.6 units, and fillet all edges (of both outer and inner objects).
Now, using Rectangle command (make sure you click on Rounded in Rectangle options before setting first corner) create rounded rectangle in Top viewport and position it like on the image below:
Copy it 5 times, and mirror those 5 so you get something like on the next image:
Using Project command, project those curves on both objects:
Trim the upper surface with upper curves like on the image, and inner curves with inner surface:
You’ll have to end up with something like this:
Now, isolate two curves like on the image. We will create surface between those two.
As you can see, there are actually couple of lines and couple of arcs combining these two curves. So, at each intersection of lines and curves, there is an end. So, using End Osnap option, and Perp we will create cross section lines.
Now, using Sweep2 create a surface using two curves as rails, and other cross lines as cross sections:
Copy and mirror to fill the rest of the gaps:
Join all surfaces, and using FilletEdge command fillet new edges (do not worry, you can select everything with your bounding box, as there is no other edge that can be filleted except the ones we need 😉 ) . Use 0.1 units as filet radius.