Just to complete, you can also get a compsolid through a boolean fragment at FreeCAD. There has been a long discussion on FreeCAD's side. See for example first this:
https://forum.freecadweb.org/viewtopic.php?t=13830 And lately this: https://forum.freecadweb.org/viewtopic.php?t=13830 -- Jeremy Theler www.seamplex.com On Sat, 2017-03-18 at 09:46 +0100, Christophe Geuzaine wrote: > > On 17 Mar 2017, at 23:24, Bram Sterling <[email protected]> > > wrote: > > > > I'm trying to mesh a 3D 2-material construct created in another program > > (FreeCAD) and brought into Gmsh by way of a BREP file. After some > > troubleshooting downstream, I determined that Gmsh is turning the two > > volumes into two disjoint meshes despite their extensive shared surface. > > > > Poking around, I suspect the reason for this is that the two volumes share > > no elementary geometry. Instead, the shared lines and surfaces are > > duplicated. > > > > If the original geometry had been defined in a Geo script this would seem > > straightforward to fix manually, but it seems a bit more complicated here, > > especially as this is bound to come up again with more complex geometry > > later. Is deleting the redundant geometry and rebuilding other effected > > parts manually the best option, or is there a better way? > > > > With a recent nightly build, create a .geo script that does the following > (assuming the brep contains 2 volumes): > > SetFactory("OpenCASCADE"); > a() = ShapeFromFile("file.brep"); > BooleanFragments{ Volume{a(0)}; Delete; }{ Volume{a(1)}; Delete; } > > Note that you can now directly create your CAD inside Gmsh: see > demos/boolean/*.geo for examples. > > Christophe > > > > > > Thank you, > > Bram Sterling > > _______________________________________________ > > gmsh mailing list > > [email protected] > > http://onelab.info/mailman/listinfo/gmsh > _______________________________________________ gmsh mailing list [email protected] http://onelab.info/mailman/listinfo/gmsh
