<html><head></head><body><div class="yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:16px;"><div dir="ltr" data-setdir="false">Hi all,</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">while I was building a geometry I came across an unexpected behavior of the BooleanUnion operator.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">I assumed that the operator would work on surfaces but it does not. If you try the example below, the union result is going to be two separate surfaces<br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><span>SetFactory("OpenCASCADE");</span><br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><div><div><div><div>recta1=newreg;</div><div>Rectangle ( recta1 ) = { -.02, -.030, 0, .005, 0.01};</div><div>recta2=newreg;</div><div>Rectangle ( recta2 ) = { -.015,   -.020, 0, .005, -0.01 };</div><div><br></div><div>resulting_surface() = BooleanUnion{ Surface{recta1}; Delete;}{ Surface{recta2}; Delete;};</div><div><br></div><div>For i In {0: #resulting_surface()-1}</div><div>Printf ("test openCASCADE surface union = %g", resulting_surface(i));</div><div dir="ltr" data-setdir="false">EndFor</div></div></div></div></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><span>The example shows that resulting_surface() contains two elements instead of one.</span><br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false"><span>Does BooleanUnion works on surfaces?</span><br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Many thanks,</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Marco</div></div></body></html>