I made some 3D structure including several Pyramid and tried to export it to stl file.
(I have referenced this link : Exporting several prisms (or Polyhedrons) to stl (with filled inner space))
It consists of 16 pyramids (4 pyramids for one side)
pyramid16 = {Pyramid[{{Sqrt[3]/2, 1/2, 19 Sqrt[3]}, {0, 1,
19 Sqrt[3]}, {0, -1, 19 Sqrt[3]}, {Sqrt[3]/2, -(1/2),
19 Sqrt[3]}, {0, 0, Sqrt[3/2]/2 + 19 Sqrt[3]}}],
Pyramid[{{0, 1, 19 Sqrt[3]}, {-(Sqrt[3]/2), 1/2,
19 Sqrt[3]}, {-(Sqrt[3]/2), -(1/2), 19 Sqrt[3]}, {0, -1,
19 Sqrt[3]}, {0, 0, Sqrt[3/2]/2 + 19 Sqrt[3]}}],
Pyramid[{{Sqrt[3]/2, 1/2, 19 Sqrt[3]}, {0, 1, 19 Sqrt[3]}, {0, -1,
19 Sqrt[3]}, {Sqrt[3]/2, -(1/2), 19 Sqrt[3]}, {0,
0, -(Sqrt[(3/2)]/2) + 19 Sqrt[3]}}],
Pyramid[{{0, 1, 19 Sqrt[3]}, {-(Sqrt[3]/2), 1/2,
19 Sqrt[3]}, {-(Sqrt[3]/2), -(1/2), 19 Sqrt[3]}, {0, -1,
19 Sqrt[3]}, {0, 0, -(Sqrt[(3/2)]/2) + 19 Sqrt[3]}}],
Pyramid[{{Sqrt[3]/2, 1/2, 18 Sqrt[3]}, {0, 1, 18 Sqrt[3]}, {Sqrt[
3]/2, 1/2, 19 Sqrt[3]}, {(3 Sqrt[3])/4, 1/4, (37 Sqrt[3])/
2}, {-((37 Sqrt[3])/4) +
1/2 (Sqrt[3/2]/2 + 19 Sqrt[3]), -(111/4) +
1/2 Sqrt[3] (Sqrt[3/2]/2 + 19 Sqrt[3]), (37 Sqrt[3])/2}}],
Pyramid[{{0, 1, 18 Sqrt[3]}, {-(Sqrt[3]/4), 5/4, (37 Sqrt[3])/
2}, {0, 1, 19 Sqrt[3]}, {Sqrt[3]/2, 1/2,
19 Sqrt[3]}, {-((37 Sqrt[3])/4) +
1/2 (Sqrt[3/2]/2 + 19 Sqrt[3]), -(111/4) +
1/2 Sqrt[3] (Sqrt[3/2]/2 + 19 Sqrt[3]), (37 Sqrt[3])/2}}],
Pyramid[{{Sqrt[3]/2, 1/2, 18 Sqrt[3]}, {0, 1, 18 Sqrt[3]}, {Sqrt[
3]/2, 1/2, 19 Sqrt[3]}, {(3 Sqrt[3])/4, 1/4, (37 Sqrt[3])/
2}, {-((37 Sqrt[3])/4) +
1/2 (-(Sqrt[(3/2)]/2) + 19 Sqrt[3]), -(111/4) +
1/2 Sqrt[3] (-(Sqrt[(3/2)]/2) + 19 Sqrt[3]), (37 Sqrt[3])/2}}],
Pyramid[{{0, 1, 18 Sqrt[3]}, {-(Sqrt[3]/4), 5/4, (37 Sqrt[3])/
2}, {0, 1, 19 Sqrt[3]}, {Sqrt[3]/2, 1/2,
19 Sqrt[3]}, {-((37 Sqrt[3])/4) +
1/2 (-(Sqrt[(3/2)]/2) + 19 Sqrt[3]), -(111/4) +
1/2 Sqrt[3] (-(Sqrt[(3/2)]/2) + 19 Sqrt[3]), (37 Sqrt[3])/2}}],
Pyramid[{{-(Sqrt[3]/2), 1/2, 19 Sqrt[3]}, {-(Sqrt[3]/2), 1, (
37 Sqrt[3])/2}, {-(Sqrt[3]/2), -1, (37 Sqrt[3])/
2}, {-(Sqrt[3]/2), -(1/2),
19 Sqrt[3]}, {-(Sqrt[(3/2)]/2) - Sqrt[3]/2, 0, (37 Sqrt[3])/
2}}], Pyramid[{{-(Sqrt[3]/2), 1, (37 Sqrt[3])/2}, {-(Sqrt[3]/2),
1/2, 18 Sqrt[3]}, {-(Sqrt[3]/2), -(1/2),
18 Sqrt[3]}, {-(Sqrt[3]/2), -1, (37 Sqrt[3])/
2}, {-(Sqrt[(3/2)]/2) - Sqrt[3]/2, 0, (37 Sqrt[3])/2}}],
Pyramid[{{-(Sqrt[3]/2), 1/2, 19 Sqrt[3]}, {-(Sqrt[3]/2), 1, (
37 Sqrt[3])/2}, {-(Sqrt[3]/2), -1, (37 Sqrt[3])/
2}, {-(Sqrt[3]/2), -(1/2),
19 Sqrt[3]}, {Sqrt[3/2]/2 - Sqrt[3]/2, 0, (37 Sqrt[3])/2}}],
Pyramid[{{-(Sqrt[3]/2), 1, (37 Sqrt[3])/2}, {-(Sqrt[3]/2), 1/2,
18 Sqrt[3]}, {-(Sqrt[3]/2), -(1/2),
18 Sqrt[3]}, {-(Sqrt[3]/2), -1, (37 Sqrt[3])/
2}, {Sqrt[3/2]/2 - Sqrt[3]/2, 0, (37 Sqrt[3])/2}}],
Pyramid[{{(3 Sqrt[3])/4, -(1/4), (37 Sqrt[3])/2}, {Sqrt[3]/
2, -(1/2), 19 Sqrt[3]}, {0, -1, 18 Sqrt[3]}, {Sqrt[3]/2, -(1/2),
18 Sqrt[3]}, {-((37 Sqrt[3])/4) +
1/2 (Sqrt[3/2]/2 + 19 Sqrt[3]),
111/4 - 1/2 Sqrt[3] (Sqrt[3/2]/2 + 19 Sqrt[3]), (37 Sqrt[3])/
2}}], Pyramid[{{Sqrt[3]/2, -(1/2), 19 Sqrt[3]}, {0, -1,
19 Sqrt[3]}, {-(Sqrt[3]/4), -(5/4), (37 Sqrt[3])/2}, {0, -1,
18 Sqrt[3]}, {-((37 Sqrt[3])/4) +
1/2 (Sqrt[3/2]/2 + 19 Sqrt[3]),
111/4 - 1/2 Sqrt[3] (Sqrt[3/2]/2 + 19 Sqrt[3]), (37 Sqrt[3])/
2}}], Pyramid[{{(3 Sqrt[3])/4, -(1/4), (37 Sqrt[3])/2}, {Sqrt[
3]/2, -(1/2), 19 Sqrt[3]}, {0, -1, 18 Sqrt[3]}, {Sqrt[3]/
2, -(1/2),
18 Sqrt[3]}, {-((37 Sqrt[3])/4) +
1/2 (-(Sqrt[(3/2)]/2) + 19 Sqrt[3]),
111/4 - 1/2 Sqrt[3] (-(Sqrt[(3/2)]/2) + 19 Sqrt[3]), (
37 Sqrt[3])/2}}],
Pyramid[{{Sqrt[3]/2, -(1/2), 19 Sqrt[3]}, {0, -1,
19 Sqrt[3]}, {-(Sqrt[3]/4), -(5/4), (37 Sqrt[3])/2}, {0, -1,
18 Sqrt[3]}, {-((37 Sqrt[3])/4) +
1/2 (-(Sqrt[(3/2)]/2) + 19 Sqrt[3]),
111/4 - 1/2 Sqrt[3] (-(Sqrt[(3/2)]/2) + 19 Sqrt[3]), (
37 Sqrt[3])/2}}]};
Needs["NDSolve`FEM`"]
c = RegionUnion[pyramid16];
d = MeshRegion@
ToElementMesh[c, MaxCellMeasure -> Infinity, "MeshOrder" -> 1]
Export["why.stl", d]
It looks complicated, but pyramid16 is a just list of 16 pyramids.
This one works but in a weird way.
And the next approach didn't work.
I have confirmed that the first method succeeds for the simple 2~3 pyramids, but when the number of pyramids increase and become complex like this, they are exported strangely. Is there a way to make the stl file neatly as the last picture looks?