The present disclosure relates to patient-specific bone implants and methods for designing and making such implants. A method includes obtaining an image of a bone having an injured, diseased, or degenerative portion; determining in the image the margins at each end of the injured portion of the bone; transforming the image into a three-dimensional model; conducting a virtual surgery to remove the injured portion of the bone and create a virtual bone gap in the image; designing a patient-specific implant to fit the virtual bone gap, wherein the designed implant includes a framework having a porosity sufficient to allow blood entry through the framework and having mechanical properties similar to that of bone; and fabricating an implant based on the designed implant. Optionally, bone regeneration material is placed within the framework.