This pavilion is one of many pavilions that have been procedurally generated with algorithms rather than being entirely sculpted by hand manually. The process basically involves creating a set of instructions for manipulating geometry in space. In this case, a series of rotations and transformations are carried out initially on a base primitive shape. The primitive is rotated, mirrored, reflected, stretched, arrayed, and combined in various different ways. This set of modifications accumulate over time to create a final form. And given enough variables to control, this allows for procedural systems to generate an infinite number of forms that are similar yet different upon closer inspection.
One critique of procedural generation is that it results in a term called "procedural oatmeal" where it becomes difficult to meaningfully differentiate the final variations which have been generated, leading to something where the accumulated results are as wide as an ocean but deep as a puddle. It is mostly a quantity over quality argument.
For the pavilion showcased here, procedural generation is only used as the starting off point. Once the form is generated, then it is massaged and further sculpted by hand to add a unique final touch to the overall design. Doing this, in addition to having a larger set of variables to control ensures that the final design does not suffer from procedural oatmeal.