Consistently with what I mentionned here, I like OpenSCAD.
My first creation was obviously a molecule (before I learned VMD could directly output STL files...).
$fs=0.05; for ( i = [0:5] ) { rotate( i*360/6, [1, 0, 0]) { color("royalblue") { translate( [0, 10, 0] ) sphere(r = 4); rotate (30, [1, 0, 0]) translate( [0, 9, 0] ) cylinder (r=2,h=5,center=true); translate( [0, 15, 0] ) rotate(90, [1,0,0]) cylinder(r=2,h=10,center=true); } color("white") translate( [0, 20, 0] ) sphere(r = 3); } }
A more complex example.
/* Parametres de l'aerorefrigerant */ z0=40; a=0.005; re=12; e=0.6; ri=re-e; /* Fond */ color("forestgreen") cube([100,100,1]); /* batiment reacteur */ translate([70,80,1]) { color("lightgray") union() { cylinder(r=10.2,h=13); translate([0,0,2]) difference() { sphere(r=15); translate([0,0,-5]) cube([32,32,32],center=true); } } translate([7,-7.5,0]) color("lightgray") cube([20,15,10]); } translate([21,21,1.1]) color("lightgray") { union() { for(i=[0:50]) { translate([0,0,i]) /* rotate_extrude(convexity = 10) translate([8+0.015*(i-34)*(i-34), 0, 0]) circle(r = 1); */ difference() { cylinder(r1=re+a*(i-z0)*(i-z0),r2=re+a*(i+1-z0)*(i+1-z0),1); translate([0,0,-0.2]) cylinder(r1=ri+a*(i-z0)*(i-z0),r2=ri+a*(i+1-z0)*(i+1-z0),1.4); } } } /* difference() { cylinder(r=10,25); cylinder(r=8,30); } */ }
Even more complex, to illustrate further OpenSCAD strenghts, here is a very impressive and very funny project: the digital sundial by Mojoptix. It's great !
I also tried SolidWorks. I'll give a try to OneShape.
For kids, I would recommend 3DSlash: it is a Minecraft-style CAD software, developped for the younger makers. It's really easy to use, and has many nice features like picture superposition to draw an object directly from a silhouette. It also works on tablets.
I started later to use AutoDesk Fusion 360. See Make something big.