Properly prepared DXF is the safest choice. Corel Draw CDR is another.
While most CNC machines use STL, there are subtle differences between dialects, there are idiosyncrasies concerning spindle speed, tool changers, tool profiles, material removal with thick tool, fine finish with fine tool, and so on, and so forth. And editing a wrongly generated STL to fit the machine is usually far more headaches than it's worth. You just come with the properly prepared "high-level" format file like DXF and let the CNC operator convert it to the correct STL.
What does "Properly prepared" mean?
- all elements are closed - closed curves or sets of segments; contours enclosing the shapes. If you need a 0.5mm thick line that's 10cm long, you don't draw a 10cm line and set its thickness to 0.5mm in properties - you draw a rectangle of 0.5x100mm using default style line, or any other style; the styles are all stripped when converting. Same, dashed line is a row of rectangles, not a line with style: dashed.
- all texts are transformed to curves (you can't be sure the makerspace has all the same fonts).
- no intersections. That means, merge all partially overlaying elements, don't use invisible elements to mask parts of the visible ones, put (even minuscule) distance between corners that touch - or opposite, extend a little and leave a tiny bridge; no joint at a single point.
- no overlaying parallel lines. Similarly to above, all "zero width" gaps between elements should be replaced by the elements being fused together.
- no bitmaps whatsoever. If you absolutely must include a bitmap graphics, submit one in possibly big resolution, to be vectorized. Preferably don't try to vectorize by yourself; programs for vectorization love to make a mess of tiny segments that's about impossible to straighten out and make usable for CNC.
- watch out for narrow gaps. The tool has a certain thickness; making a notch half millimeter thick is quite tricky and often impossible. The outer edges may be quite fancy and very precise but all gaps/incisions/grooves are limited by the tool thickness.
- your project should be 2D. If there are different milling depths, draw them as separate layers and annotate with proper depths. If you need slopes or other irregular 3D surfaces, discuss with your CNC operator how to supply them best.
Picture of some of these caveats: "Tak" = "Yes". "Nie" = "No"