This 3d printed adhesive no drill curtain rods holder was designed for a 19mm curtain rod, but it can be easy scaled to fit any rod diameter, each holder passed the test holding up 2kg, so no problem to fix a regular curtain at all. The curtain rod end caps accompanying the design are also designed for 19mm rod, but can be scaled in the same way to fit another rod diameter.
Better results are achieved when the back of the holder is sanded until it became smooth, the same procedure should be made with the wall or surface were the curtain holders are fixed, both surfaces should be made free of any dust.
A good quality heavy duty double sided adhesive tape or pads should be used, the adhesive pads are fixed over the 3D printed curtain holders as showed on figures: one on the back and another small piece over the region where the rod are fixed to hold it on place.
The no drill curtain rods holder can be 3D printed in PLA, but a strong material as ABS or Pteg is recommended, the infill is 100% as these 3D prints are subjected to a heavy load, 0.2mm height definition and no support is needed if the recommended orientation shown in the figure is observed.
The curtain rod end caps can be downloaded free in this link: curtain rod end caps free .stl files