Unexpected output of CSGRegion and RegionDifference?

The output of CSGRegion and RegionDifference in the attachment is wrong. What’s wrong? Please enlighten me. thank you!

CSGRegion and RegionDifference output errors, what’s wrong.nb (200 KB)

CSRegion can only work with “basic” shapes. The supported shapes are listed in the documentation.

Thanks!
RegionDifference can only work with “basic” shapes?

Here is a suggested answer from Wolfram’s team

Needs["NDSolve`FEM`"]
Needs["OpenCascadeLink`"]
cyl = OpenCascadeShape[Cylinder[{{-9, 0, 0}, {9, 0, 0}}, 7]];
dg = DiscretizeGraphics[ExampleData[{"Geometry3D", "SpaceShuttle"}]];
orbiter = OpenCascadeShape[ToBoundaryMesh[dg]];
shape = OpenCascadeShapeDifference[cyl, orbiter];
bmesh = OpenCascadeShapeSurfaceMeshToBoundaryMesh[shape];
bmesh["Wireframe"]

Many thanks to the Wolfram’s team and their professional guidance! Through the following guidance, I once again felt the power of Wolfram Mathematica.
I hope that I can use relevant research results to repay everyone’s help in the near future.