7 Here is a doughnut for mathematicians and physicists, who have the strange habit of calling a doughnut a torus. It requires the [3dtools library](https://github.com/marmotghost/tikz-3dtools), which contains functions for some critical angles. This means that you can adjust the view and draw cycles that wrap around tori.
5 As mentioned in the comments, the code does use `\tdplotmainphi`. However, this is actually not necessary. This answer comes with a pic that draws a cyclinder with an arbitrary axis. It also can be rotated by using rotated coordinates. It does not use `\tdplotmainphi` or `\tdplotmaintheta`. It does not rely on the specific way you installed your 3d view. The same statement applies to the polyhedron. So in order to know whether or not a code is correct it is generally not suffcient to check whether it uses certain macros.
6 This code recycles the `cone` pic from another answer. In order to decide whether the edges from a point `A`, `B`, `C`, or `D` to `S` are visible or hidden, we compute the normal on the cone at these points. The normal is given by the vector product of the tangent at the base circle and the respective edge. The tangent is simply given by the vector product of the point and `(0,0,1)`.
9 Here is some proof of principle for triangles. It computes the envelope of the rotation of a triangle around one of its edges. The critical angles are the same as [here](https://topanswers.xyz/tex?q=1218#a1447), only for a constant slope. I am not convinced that Ti*k*Z is made for such tasks, let alone for generalizations to arbitrary polygons. These codes require the newest version of [3dtools](https://github.com/marmotghost/tikz-3dtools) because I decided to add (a user interface to) the components of the normal to the library as they are getting used in various applications.
5 This is a convex shape, so we can repeat the tricks from the previous answer on tetrahedra. Note that I added the style for the face to the `3dtools` library, so you need to load it to run the following code. Note that the default value of `O` happens to be inside the poyhedron here, in general you may to adjust it.
8 This question is conceptually almost the same as your previous [question on the tetrahedron](https://topanswers.xyz/tex?q=1349), so we can recycle a lot of things from there. Basically you can use routines like `draw face with corners` for an arbitrary polyhedron as long as it is sufficiently convex. In the case at hand, there is however one plane which needs to be treated separately. Please note that if you have updated your pgf installation to 3.1.6, you need to get the [newest version of `3dtools`](https://github.com/marmotghost/tikz-3dtools).
5 Here is a proposal. You can add and remove elements from the list of edges with the pgf keys `add edges` and `remove edges`, respectively. Since you are saying that you want to draw the result each time, this is built into these keys. Adding and removing is achieved by steering the visibility via `overlay-beamer-styles`.