The main issue with your code is that it's lacking a way to combine the different levels of the tree. Graphics are not automatically printed, unless they are the final result of a computation.
The following code should get you started:
tree[L_, th_] /; L > th := With[ {line = Line[{{0, 0}, {0, -L}}]}, { line, Scale[#, 2/3, {0, 0}] & /@ (Rotate[Translate[tree[0.67 L, th], {0, L}], # Degree, {0, 0}] & /@ {-30, 30})} ] tree[__] := {} tree[100, 10] // Graphics

The key ingredients are:
- Recursion of the
tree function to combine the different parts. The termination condition is implemented using Condition (/;) Rotate,Scale,Transform can be arbitrarily nested, allowing for a clean specification of the nested levels
As you can see, the result is not correct yet (the lines are too short), but you should be able to easily fix that.