NotebookDirectory[]

pointGroups[mirror_,rotation_,inv_,initPos_]:=
Block[{initSphere=Sphere[initPos,0.4],symPos,symSphere,identity=RotationTransform[0,{1,0,0}],matricesRot={1,1,1},matricesMirror={1,1,1},matricesInv,operationsMatrices,invPosC,invRotationPos,invRotationMatrix,nbatoms,symName="",invName=""},

{matricesMirror[[#[[1]]]]=If[mirror[[#[[1]]]]≠0,{identity,ReflectionTransform[#[[2]]]},{identity}]}&/@{{1,{1,0,0}},{2,{0,1,0}},{3,{0,0,1}}};

{matricesRot[[#[[1]]]]=Table[RotationTransform[2Pi n/rotation[[#[[1]]]],#[[2]]],{n,0,rotation[[#[[1]]]]-1}]}&/@{{1,{1,0,0}},{2,{0,1,0}},{3,{0,0,1}}};

invPosC=initPos;
matricesInv={identity};
If[inv≠0,invRotationMatrix=RotationTransform[2Pi/inv,{1,0,0}]];
While[inv≠0,
invRotationPos=invRotationMatrix[invPosC];
invPosC=ReflectionTransform[invRotationPos][invRotationPos];
If[invPosC==initPos,Break[]];
AppendTo[matricesInv,ReflectionTransform[invRotationPos].invRotationMatrix.matricesInv[[-1]]];
];

{If[rotation[[#]]≠1,symName=symName<>ToString[rotation[[#]]]],If[mirror[[#]]≠0&&rotation[[#]]≠1,symName=symName<>"/m "]}&/@{1,2,3};
If[mirror[[#]]≠0&&rotation[[#]]==1,symName=symName<>"m"]&/@{1,2,3};
If[inv≠0,invName=OverBar[inv]];
If[symName==""&&invName=="",symName="1"];

operationsMatrices=Flatten[Outer[Dot,matricesRot[[1]],matricesRot[[2]],matricesRot[[3]],matricesMirror[[1]],matricesMirror[[2]],matricesMirror[[3]],matricesInv]];
symPos=Through[operationsMatrices[initPos]];
symPos=DeleteCases[DeleteDuplicates[symPos],initPos];
symSphere=Sphere[#,0.39]&/@symPos;
nbatoms=Count[symPos,{_,_,_}]+1;
Graphics3D[{Point[{0,0,0}],Red,initSphere,Green,symSphere},Boxed->False,PlotLabel->Style[StringForm["Point group: ````\nNumber of atoms: ``",symName,invName,nbatoms],14,Black]]
]

Manipulate[pointGroups[{m1,m2,m3},{r1,r2,r3},ri,{p1,p2,p3}],
{{m1, 0,"Mirror perpendicular to x"}, {0 -> "No", 1 -> "Yes"}},
{{m2, 0,"Mirror perpendicular to y"}, {0 -> "No", 1 -> "Yes"}},
{{m3, 0,"Mirror perpendicular to z"}, {0 -> "No", 1 -> "Yes"}},
{{r1, 1,"Rotation axis in x"}, 1,6,1,Exclusions->{5}},
{{r2, 1,"Rotation axis in y"}, 1,6,1,Exclusions->{5}},
{{r3, 1,"Rotation axis in z"}, 1,6,1,Exclusions->{5}},
{{ri, 0,"Rotoinversion axis in x"}, 0,6,1,Exclusions->{5}},
{{p1, 1.5,"x coordinate"}, -1.8,1.8},
{{p2, 1.2,"y coordinate"}, -1.8,1.8},
{{p3, 0.9,"z coordinate"}, -1.8,1.8}
]