diff --git a/demos/boolean/thrusections.geo b/demos/boolean/thrusections.geo index c932ab2211c439f479a48f267b82b290e8bf8a77..a56d948f72e2193dbdffa0d4df60ee54ab9787db 100644 --- a/demos/boolean/thrusections.geo +++ b/demos/boolean/thrusections.geo @@ -5,54 +5,52 @@ Mesh.CharacteristicLengthMin = 0.1; Mesh.CharacteristicLengthMax = 0.1; // build volume through (closed) line loops -Disk(1) = {0,0,0, 0.2}; -Disk(2) = {0.1,0.04,1, 0.3}; -Disk(3) = {0.03,-0.08,2, 0.25}; +Circle(1) = {0,0,0, 0.2}; +Circle(2) = {0.1,0.04,1, 0.3}; +Circle(3) = {0.03,-0.08,2, 0.25}; For i In {1:3} - Line Loop(i) = Boundary{ Surface{i}; }; - Delete { Surface{i}; } + Line Loop(i) = i; EndFor ThruSections(1) = {1:3}; -Disk(4) = {1,0,0, 0.2}; -Disk(5) = {1.1,0.04,1, 0.3}; -Disk(6) = {1.03,-0.08,2, 0.25}; +Circle(4) = {1,0,0, 0.2}; +Circle(5) = {1.1,0.04,1, 0.3}; +Circle(6) = {1.03,-0.08,2, 0.25}; For i In {4:6} - Line Loop(i) = Boundary{ Surface{i}; }; - Delete { Surface{i}; } + Line Loop(i) = i; EndFor Ruled ThruSections(2) = {4:6}; // build surfaces through (closed) line loops -Disk(7) = {2,0,0, 0.2}; -Disk(8) = {2.1,0.04,1, 0.3}; -Disk(9) = {2.03,-0.08,2, 0.25}; +Circle(7) = {2,0,0, 0.2}; +Circle(8) = {2.1,0.04,1, 0.3}; +Circle(9) = {2.03,-0.08,2, 0.25}; For i In {7:9} - Line Loop(i) = Boundary{ Surface{i}; }; - Delete { Surface{i}; } + Line Loop(i) = i; EndFor -a() = ThruSections{7:9}; +ThruSections{7:9} -Disk(10) = {3,0,0, 0.2}; -Disk(11) = {3.1,0.04,1, 0.3}; -Disk(12) = {3.03,-0.08,2, 0.25}; +Circle(10) = {3,0,0, 0.2}; +Circle(11) = {3.1,0.04,1, 0.3}; +Circle(12) = {3.03,-0.08,2, 0.25}; For i In {10:12} - Line Loop(i) = Boundary{ Surface{i}; }; - Delete { Surface{i}; } + Line Loop(i) = i; EndFor -b() = Ruled ThruSections{10:12}; // builds ruled surfaces +Ruled ThruSections{10:12} -// build surfaces through wires -n = 100; -Point(n+1) = {0,-2,0}; -Point(n+2) = {0.5,-1.5,0}; -Point(n+3) = {0,-1.5,0}; -Circle(n+1) = {n+1,n+3,n+2}; -Point(n+4) = {0,-2,1}; -Point(n+5) = {0.7,-1.3,1}; -Point(n+6) = {0,-1.3,1}; -Circle(n+2) = {n+4,n+6,n+5}; +// build surfaces through (open) wires +Circle(13) = {4,0,0, 0.2, Pi/3}; +Circle(14) = {4.1,0.04,1, 0.3, Pi/2}; +Circle(15) = {4.03,-0.08,2, 0.25, Pi/3}; +For i In {13:15} + Wire(i) = i; +EndFor +ThruSections{13:15} -Wire(n+1) = {n+1}; -Wire(n+2) = {n+2}; -c() = ThruSections{n+1,n+2}; +Circle(16) = {5,0,0, 0.2, Pi/3}; +Circle(17) = {5.1,0.04,1, 0.3, Pi/2}; +Circle(18) = {5.03,-0.08,2, 0.25, Pi/3}; +For i In {16:18} + Wire(i) = i; +EndFor +Ruled ThruSections{16:18}