I've created my first OpenSCAD model and thanks to some generous friends with 3D

I’ve created my first OpenSCAD model and thanks to some generous friends with 3D printers, I’ve been able to create 3 iterations of the model. To my surprise, it actually works! I’m new to parametric modeling, and I’m sure I’ve made some pretty rookie mistakes. So in the spirit of write-it-once-then-write-it-right, I’d welcome any feedback regarding my approach.
https://github.com/dvhart/scad-models

It’s likely that you are more skilled at this than I, or will become so in short order. Your code is written nicely, especially with the comment structure. I attempt to use comments for my own purpose, to enable better recollection later if I try to use a part again.

Due to my own limitations, I cannot constructively criticize your code, nor would I non-constructively criticize your code.

I can make a suggestion I’ve learned from a much more skilled coder in the past.

Your line, for example:
cone_id_max=cone_od_max-2*cone_wall;
the easier-to-read version:
cone_id_max = cone_od_max - 2 * cone_wall;

White space between operators provides easier visual segregation when reading as well as easier debugging later.

Another example:
translate([0,0,cone_h-.5]) cylinder(1, d=cone_id_max-.1, $fa=frag_a);
white space version:
translate([0, 0, cone_h - 0.5])
cylinder(1, d = cone_id_max - 0.1, $fa = frag_a);

The two lines instead of one isn’t necessarily better, but only my method and allowed me to keep the two segments more readable here. The white space does make the code easier to read and a leading zero before the decimal point prevents overlook of the decimal point, or makes it clear that it exists.

Not my ideas, just transplanted from someone more skilled.

Agreed, I follow this pattern in my C projects. I think I modeled this after one of the OpenSCAD examples… I will update as you describe, it is easier to read.