<div dir="ltr"><div dir="ltr"><div>Thanks Dr. Geuzaine, this appears to work flawlessly. For anyone on the mailing list who seeks to do a similar input with a box rather than sphere, this is input that works:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>SetFactory("OpenCASCADE");<br>Box(1) = {-10,-20,-10, 49,100,60}; // Change to suit needs<br>Delete { Volume{1}; }<br><br>SetFactory("Built-in");<br>Merge "thing.stl";<br>Surface Loop(1) = {1,2,3,4,5,6};<br>Surface Loop(2) = {7};<br>Volume(9) = {2};<br>Volume(10) = {2,1};<br>Physical Surface("walls") = {6, 1, 2, 5};<br>Physical Surface("inlet") = {3};<br>Physical Surface("outlet") = {4};<br>Physical Surface("thing") = {7};<br>Physical Volume("inside") = {10};<br></div></blockquote></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Jan 8, 2019 at 12:51 PM Christophe Geuzaine <<a href="mailto:cgeuzaine@uliege.be">cgeuzaine@uliege.be</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
> On 8 Jan 2019, at 06:03, Gavin Ridley <<a href="mailto:gavin.keith.ridley@gmail.com" target="_blank">gavin.keith.ridley@gmail.com</a>> wrote:<br>
> <br>
> Thanks very much Dr. Geuzaine for the reply. I've tried what you suggest below but get "Error: Unknown surface 2". The GUI however tells me that surface 2 was created as a face of the Box(2). Why is surface 2 unknown here?<br>
<br>
Here's a working example for Gmsh 4 :<br>
<br>
<br>
<br>
Christophe<br>
<br>
> <br>
> // Goal: create mesh between box and stl surface contained within.<br>
> Merge "dingding.stl";<br>
> Surface Loop(1) = {1};<br>
> SetFactory("OpenCASCADE");<br>
> <br>
> // This box fully bounds the .stl<br>
> Box(2) = {-10,-20,-10, 49,100,60};<br>
> <br>
> // Switch back to built-in to make a volume using the<br>
> // OpenCASCADE-created surfaces of Box(2)<br>
> SetFactory("Built-in");<br>
> Surface Loop(8) = {2, 3, 4, 5, 6, 7};<br>
> Volume(10) = {8, 1};<br>
> Physical Volume("inside") = {10};<br>
> <br>
> <br>
> PS: have you considered creating a forum rather than a mailing list? In my opinion it would be more easily searchable. It seems paraview somewhat recently switched to that model. <br>
> <br>
> On Mon, Jan 7, 2019 at 3:56 PM Christophe Geuzaine <<a href="mailto:cgeuzaine@uliege.be" target="_blank">cgeuzaine@uliege.be</a>> wrote:<br>
> <br>
> <br>
> > On 7 Jan 2019, at 05:24, Gavin Ridley <<a href="mailto:gavin.keith.ridley@gmail.com" target="_blank">gavin.keith.ridley@gmail.com</a>> wrote:<br>
> > <br>
> > Hello all,<br>
> > <br>
> > I'd like to define a volume using an OpenCASCADE Box entity, then subtract a volume defined by an STL from it.<br>
> > <br>
> > I have attempted to Merge my .stl file into the geometry with the OpenCASCADE kernel already loaded, then attempt the same operation as above. This is the behavior I expect to work, for instance, attempting:<br>
> > <br>
> > SetFactory("OpenCASCADE");<br>
> > Merge "dingding.stl"; <br>
> > CreateGeometry; <br>
> > Surface Loop(1) = {1};<br>
> > Volume(1) = {1}; <br>
> > // And some more stuff... <br>
> > <br>
> > Unexpectedly ends up giving:<br>
> > <br>
> > Error   : Unknown OpenCASCADE surface with tag 1<br>
> > Error   : 'dingding.geo', line 3 : Could not add surface loop<br>
> > Error   : Unknown OpenCASCADE surface loop with tag 1<br>
> > Error   : 'dingding.geo', line 4 : Could not add volume<br>
> > <br>
> > And without OpenCASCADE, the volume gets created successfully.<br>
> <br>
> Indeed, OpenCASCADE does not support STL surfaces, while the built-in CAD kernel treats them as "discrete surfaces".<br>
> <br>
> Note that as long as you don't want to do boolean operations on these surfaces, you can actually combine both CAD kernels, e.g. create a "Built-in" volume that is delimited by both a "Built-in" surface and an "OpenCASCADE" surface. Depending on your application this could do the trick.<br>
> <br>
> Christophe<br>
> <br>
> <br>
> > <br>
> > Is it the case that OpenCASCADE and merged .stl files are incompatible at the moment in gmsh? Ideally I'd like to generate a CFD mesh for an obstruction ( from.stl file) in a channel (from OpenCASCADE geometry), generating a boundary layer mesh as well around the STL file.<br>
> >  <br>
> > -- <br>
> > Thanks,<br>
> > Gavin Ridley<br>
> > _______________________________________________<br>
> > gmsh mailing list<br>
> > <a href="mailto:gmsh@onelab.info" target="_blank">gmsh@onelab.info</a><br>
> > <a href="http://onelab.info/mailman/listinfo/gmsh" rel="noreferrer" target="_blank">http://onelab.info/mailman/listinfo/gmsh</a><br>
> <br>
> — <br>
> Prof. Christophe Geuzaine<br>
> University of Liege, Electrical Engineering and Computer Science <br>
> <a href="http://www.montefiore.ulg.ac.be/~geuzaine" rel="noreferrer" target="_blank">http://www.montefiore.ulg.ac.be/~geuzaine</a><br>
> <br>
> Free software: <a href="http://gmsh.info" rel="noreferrer" target="_blank">http://gmsh.info</a> | <a href="http://getdp.info" rel="noreferrer" target="_blank">http://getdp.info</a> | <a href="http://onelab.info" rel="noreferrer" target="_blank">http://onelab.info</a><br>
> <br>
> <br>
> <br>
> -- <br>
> Thanks,<br>
> Gavin Ridley<br>
<br>
— <br>
Prof. Christophe Geuzaine<br>
University of Liege, Electrical Engineering and Computer Science <br>
<a href="http://www.montefiore.ulg.ac.be/~geuzaine" rel="noreferrer" target="_blank">http://www.montefiore.ulg.ac.be/~geuzaine</a><br>
<br>
Free software: <a href="http://gmsh.info" rel="noreferrer" target="_blank">http://gmsh.info</a> | <a href="http://getdp.info" rel="noreferrer" target="_blank">http://getdp.info</a> | <a href="http://onelab.info" rel="noreferrer" target="_blank">http://onelab.info</a><br>
<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Thanks,<div>Gavin Ridley</div></div></div>