Drawing convex polyiamonds
Ruby, 202 bytes



-&gt;n{(r=[*0..n]).product(r,r,r).map{|i|p,b,c,d=i;b&gt;c||c&gt;d||b+c+d&gt;p||p*p-b*b-c*c-d*d!=n||0.upto(p-d&lt;&lt;1){|j|s=" "*j+"*---\\ / "[j%2*4,4]*p*2;(k=b*4-j)&gt;0&amp;&amp;s[0,k]=" "*k;puts s[0,[p*4+1-j,p*4+1-c*4+j].min]}}}


Try it online!

Uses formula per the OEIS sequence: search for solutions where n = p**2 - b**2 -c**2 - d**2. 

n =the number of triangular tiles

p =the side length of a large equilateral triangle (pointing downwards)

b,c,d =the side length of three smaller equilateral triangles, which are removed from the corners of the large equilateral triangle to get the required shape.

Some additional conditions (per OEIS) are needed to avoid duplicates:
b&lt;=c&lt;=d and b+c+d&lt;=p