To expand on the above, the basic "toolchain" is something like this:
1) Get your idea into code or some computer represenation, using FreeCAD, OpenSCAD, or some other method. FreeCAD seems to be the most sophisticated opensource tool, but I am most familar with OpenSCAD -- it is good enough for simple geometric shapes, adapter plates and etc.
2) From the tool above get an STL file and send it through Cura, Slic3r, or some other "CAM" or slicing software, which will be configured to match your printer and produce a set of instructions for your printer -- usually this is a "gcode" file.
3) Give the gcode file to the printer, via USB or an SD card, and the actual 3D printer control software -- something like Marlin ( https://github.com/MarlinFirmware/Marlin ) for example -- will read it and move the motors and turn the heaters on and off.
You can use opensource tools at every step.