[Closed] ExtrudeFaces, custom border
I could use some advice on how to approach creating the geometry needed for insetting a continuous face selection with a custom border – say you have a solid cylinder primitive mesh (i.e. no holes, no open edges) and want to inset the sides like this:
The ExtrudeEdges method (doesn’t really matter whether MeshDelta::ExtrudeEdges or Mesh::ExtrudeEdges) doesn’t seem to support creating similar topology for a continous set of faces – correct me if I’m wrong (I’d be really happy!).
There are multiple rather complex ways I know I could pull it off (break&re-weld all the border verts; clone the faces, delete originals and build connecting faces myself; do it in MNMesh extruding the egdes with zero height and removing those outside the selected faces etc) – in fact, much too many, and none of them straightforward – which is I’d like to avoid reinventing the wheel if possible. Staying with TriMesh all the time would also be nice.
It’s only the ‘extrude’ prep part that’s the issue, I probably won’t use the builtin Bevel / Indent anyway.
The cylinder is just an example, it can be any group of n-gons, another example, before and after, with top left edge as ‘border’ edge:
Plus I don’t think any of the polyboost methods are a part of the SDK (not that they’d be hard to emulate).
are those faces “known” in code or a user selection ? If they are known I would delete them and build the replacements from “scratch” as it were, user selection becomes more problematic for that approach, having to handle user error etc (though that may be an issue for all solutions).
Both cases, actually. What’s the advantage of rebuilding from scratch (trying to preserve existing mapping/VC/weights info) compared to, say, creating new set of vertices around the border and remapping existing face verts to the new ones?
dunno, I always find creating mesh is easier than cleaning up after a built in max routine (especially when comes to correcting the usual mapping balls ups)