I'm trying to get an intersection boundary of a prism's surface and a plane:
prism = Entity["Polyhedron",{"Prism", 6}]
plane = InfinitePlane[prism["VertexCoordinates"][[{4, 6, 11}]]]
RegionIntersection[plane, prism["ImplicitRegion"]]
DiscretizeRegion turns it into 2D face, but I can't for the life of me extract the boundary of it. RegionBoundary doesn't work, it works as an identity and doesn't lower region's dimension. I've also tried everything with prism["MeshRegion"] and prism["BoundaryMeshRegion"].


Length[MeshPrimitives[ EntityValue[ Entity["Polyhedron", {"Prism", 6}], "MeshRegion"], 2] ]you see that the mesh region for this entity has almost 24,000 polygons! – Jason B. Feb 17 '17 at 23:13Cases[RegionIntersection[plane, #] & /@ MeshPrimitives[DiscretizeGraphics@prism["Faces"], 2], _Line], not exactly perfect, but good enough... – swish Feb 17 '17 at 23:25Regionsolution, discretizing graphics feels wrong to me – swish Feb 17 '17 at 23:29Regionfunctions don't work for 3D regions as well. You can tweak your solution to give a polygon,polygon = Cases[RegionIntersection[plane, #] & /@ MeshPrimitives[DiscretizeGraphics@prism["Faces"], 2], Line[{a_, b_}] :> Sequence[a, b]] // (#[[Last@FindShortestTour[#]]] &) // Polygon; Graphics3D@polygon– Jason B. Feb 17 '17 at 23:43"BoundaryMeshRegion"property gives us a region with a minimal amount of polygons. We can get aMeshRegionfrom this with only 12 tetrahedron withTriangulateMesh[prism["BoundaryMeshRegion"], MaxCellMeasure -> Infinity]. – Greg Hurst Feb 20 '17 at 14:18