Don't merge coincident surfaces when combining two shells as
"assemble". And don't show "naked" (not occuring in anti-parallel pairs) edges when just testing for interference. [git-p4: depot-paths = "//depot/solvespace/": change = 1967]solver
parent
2d653eada8
commit
2f7a6bb61d
|
@ -168,7 +168,9 @@ void Group::GenerateShellAndMesh(void) {
|
|||
|
||||
GenerateForStepAndRepeat<SShell>
|
||||
(prev, toStep, &runningShell, src->meshCombine);
|
||||
runningShell.MergeCoincidentSurfaces();
|
||||
if(meshCombine != COMBINE_AS_ASSEMBLE) {
|
||||
runningShell.MergeCoincidentSurfaces();
|
||||
}
|
||||
} else {
|
||||
SMesh prevm, stepm;
|
||||
ZERO(&prevm);
|
||||
|
@ -288,7 +290,9 @@ void Group::GenerateShellAndMesh(void) {
|
|||
thisShell.RemapFaces(this, 0);
|
||||
}
|
||||
|
||||
thisShell.MergeCoincidentSurfaces();
|
||||
if(meshCombine != COMBINE_AS_ASSEMBLE) {
|
||||
thisShell.MergeCoincidentSurfaces();
|
||||
}
|
||||
|
||||
// So now we've got the mesh or shell for this group. Combine it with
|
||||
// the previous group's mesh or shell with the requested Boolean, and
|
||||
|
@ -298,7 +302,10 @@ void Group::GenerateShellAndMesh(void) {
|
|||
if(pg->runningMesh.IsEmpty() && thisMesh.IsEmpty() && !forceToMesh) {
|
||||
SShell *prevs = &(pg->runningShell);
|
||||
GenerateForBoolean<SShell>(prevs, &thisShell, &runningShell);
|
||||
runningShell.MergeCoincidentSurfaces();
|
||||
|
||||
if(meshCombine != COMBINE_AS_ASSEMBLE) {
|
||||
runningShell.MergeCoincidentSurfaces();
|
||||
}
|
||||
|
||||
// If the Boolean failed, then we should note that in the text screen
|
||||
// for this group.
|
||||
|
|
|
@ -466,6 +466,10 @@ void SolveSpace::MenuAnalyze(int id) {
|
|||
Error("%d edges interfere with other triangles, bad.",
|
||||
SS.nakedEdges.l.n);
|
||||
} else {
|
||||
// MakeCertainEdgesInto also reports "naked" edges, which
|
||||
// will include some types of coincident geometry that are
|
||||
// not errors.
|
||||
SS.nakedEdges.Clear();
|
||||
Message("The assembly does not interfere, good.");
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue