-
Notifications
You must be signed in to change notification settings - Fork 127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
issue in fixTJunctions #61
Comments
I haven't been able to get to the bottom of this but it looks like it's caused by nasty rounding errors. I guess these might leave small holes in the CSG so it's no longer watertight. At least that's what !sidemapisempty means: some sides have not been matched with a companion side in opposite direction. I'd suggest (for now) just to comment out the 'throw new Error("!sidemapisempty");' line. The resulting solid is not watertight but many slicers will be able to handle this. |
FYI, I've found that fixTJunctions() after a simple CSG operation leaves one T-junction untouched: function main() {
return CSG.cube({radius: 1.0, center: [0, 0, 0]})
.subtract(CSG.cube({radius: 0.6, center: [0, 0, 0.5]}))
.scale(10)
.fixTJunctions();
} Here is a screenshot of the output geometry opened in MeshLab: |
@sergerusso has an open pull request at @Spiritdude OpenJSCAD.org, which addresses this issue as well. Please review. |
See also #60 . This issue here is about fixing fixTJunctions..
While I think #60 is more important, here is another example that trigger either assertionFailed or sidemapIsEmpty depending on very minor changes in numbers. Possibly helps narrow down the issue.
The text was updated successfully, but these errors were encountered: