Intrude mesh boundary by a given distance
See original GitHub issueHi @marcomusy,
I am trying to intrude part of the given mesh by following your example here:
m1 = vd.Mesh("./frag_1_final.ply").c("gray")
# vd.show(m1, __doc__, axes=1, viewup='z').close()
bnd = m1.boundaries(nonManifoldEdges=False, featureAngle=180)
# this creates the blue "tube" which is then used to cut the mesh
modl = bnd.implicitModeller(distance=0.0005, res=(150, 50, 150), bounds=())
m1.cutWithMesh(modl)
vd.show(m1, bnd, modl, axes=1, viewup='z').close()
The boundaries that are extracted are the following:
The modeller with the 0.0005
distance seems to be empty:
then I increased it to 1
and I’ve got the “tube” that you are mentioning but as you can see there are some discontinuity in between:
So I have the following questions, first I would like to keep only the biggest boundary and not the smaller ones, in the linked example I could see that there was an outer=True/False
parameter which is not available anymore and I guess it was doing this job. Moreover, could you elaborate a bit on the parameters of the implicitModeller()
and what each corresponds to. I guess distance=
is the distance you want to cut from the boundary, but it is measured in? then for res=
, bounds=
and maxdist=
is not clear what are about. Why there is this parts in the modeller where there are gaps?
Issue Analytics
- State:
- Created 2 years ago
- Comments:7 (4 by maintainers)
Top GitHub Comments
Consider the following example:
…it’s an exercise of linear algebra 😃 I guess you need to invert the matrix:
remember to normalize axes and check for the determinant to be positive to avoid improper rotations (mirroring), in that case you need to reorder the matrix lines. Once you have the matrix you can do
mymesh.applyTransform(M)
.