Broken mesh output #19

Open
tolomea opened this Issue Mar 1, 2012 · 7 comments

Projects

None yet

7 participants

@tolomea
tolomea commented Mar 1, 2012

This scad file:

difference() {
sphere(20);
cylinder(r=17, h=100, center = true);
}

produces non manifold output, here's the admesh output:

================= Results produced by ADMesh version 0.95 ================
Input file : mesh_death.stl
File type : ASCII STL file
Header : solid ImplictCADExport
============== Size ==============
Min X = -20.000000, Max X = 20.000000
Min Y = -20.000000, Max Y = 20.000000
Min Z = -10.252552, Max Z = 10.252552
========= Facet Status ========== Original ============ Final ====
Number of facets : 13184 12864
Facets with 1 disconnected edge : 328 0
Facets with 2 disconnected edges : 36 0
Facets with 3 disconnected edges : 0 0
Total disconnected facets : 364 0
=== Processing Statistics === ===== Other Statistics =====
Number of parts : 1 Volume : 4499.025879
Degenerate facets : 560
Edges fixed : 0
Facets removed : 560
Facets added : 240
Facets reversed : 24867
Backwards edges : 198
Normals fixed : 12864

@reinoudz

euuhhh thats also a maching cubes with fixed angles problem. Hmmmm if we could fix that... :)

@reinoudz
reinoudz commented Apr 1, 2012

in by tree this is fixed now esp. with a r= value on the difference to bypass the bug

@hmeyer
hmeyer commented Aug 15, 2012

still producing non manifolds:

import Graphics.Implicit
import Graphics.Implicit.Definitions
import Graphics.Implicit.Primitives

roundbox:: SymbolicObj3
roundbox = implicit ((x,y,z) -> (x^4 + y^4 + z^4 - 15000)) ((-20,-20,-20),(20,20,20))

main = writeSTL 2 "roundbox.stl" roundbox

@bgamari
bgamari commented Nov 18, 2012

Any progress on this?

@rahji
rahji commented Dec 27, 2012

sorry if this is unrelated, but I'm trying to get a handle on why implicitcad's meshes look so strange as compared to openscad... the edges where a cube and sphere intersect look great from openscad but are rounded and ragged coming from implicitcad... $quality makes some difference but it never looks as clean as openscad STLs with even the lowest $fn numbers on the sphere

difference() {
sphere(3);
cube(4);
}

meshlab shows a lot of non-manifold vertices, which is why I'm adding it to this bug

Screen shot 2012-12-27 at 11 41 00 AM

@julialongtin
Collaborator

Have you tried a more modern version? while ImplicitCAD is built around the concept of an aproxable representation (as in, there is no perfect answer, but you can request how close to get), we should not be kicking out non-manifold objects.

@TLC123
TLC123 commented Nov 20, 2016

Its working better now. Still Marching Cubes at its best has inherent limits in mesh quality. Whats needed is a proper feature preserving meshing algorithm like "Dual Contour" or at least "Extended Marching Cubes"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment