For primitive cell, I suggest you use pymatgen or spglib.
Thank you for pointing this out.
Beautiful Atoms support editing (delete, move, rotate, ...) atoms. So, yes, you can build the Van der Waals heterostructures.
Some further questions and challenges:
For Van der Waals heterostructures, one challenge is how to search and find stable 2D materials stacked on substrates (either another 2d or substrate surface) efficiently. I've noticed some related packages/workflows for tackling this problem [1-2]. When switching to the current discussion topic above, I would like to know whether it is possible for us to automatically find and create the maybe stable heterostructures with the help of Beautiful Atoms.