puts "========" puts "OCC22750" puts "========" puts "" ####################################################### # Boolean operation: Bug in Fuse ####################################################### # Step 1: Create surface wing # Create sections as ellipses 2D (possible to create directly in 3D) ellipse e1 0 0 30 20 ellipse e2 0 0 20 10 ellipse e3 0 0 16 8 # Convert 2d Curves in 3d Curves, and place them along Z axis to3d ee1 e1 to3d ee2 e2; translate ee2 0 0 100 to3d ee3 e3; translate ee3 0 0 200 rotate ee2 0 0 100 0 1 0 10 rotate ee3 0 0 200 0 1 0 20 #Approximate the ellipses by Bsplines appro c1 16 ee1 appro c2 16 ee2 appro c3 16 ee3 #Make a surface by approximation passing throught a set of curves # and create a face appsurf s1 c1 c2 c3 mkface f1 s1 #Make a surface by approximation passing throught a set of ellipse # and create a face appsurf s2 ee1 ee2 ee3 mkface f2 s2 # Step 2: Create surface for fuselage #Create circles in 3D along axe X circle c1 -100 0 0 1 0 0 10 circle c2 -50 0 0 1 0 0 30 circle c3 50 0 0 1 0 0 29 circle c4 100 0 0 1 0 0 20 circle c5 150 0 0 1 0 0 10 #Make a surface by approximation passing throught a set of circles # and create a face appsurf s3 c1 c2 c3 c4 c5 mkface f3 s3 # Step 3: Create a Solid for the Wing # Build edges from ellipse, wires with edges, faces on wires # It's necessary to sew the faces to create the Shell, because the faces don't shared the same edge #sewing will create a shell, it remains to create the solid from the shell mkedge ed1 ee1 mkedge ed3 ee3 wire w1 ed1 wire w3 ed3 mkplane f5 w1 mkplane f6 w3 sewing r f2 f5 f6 ###mksol so1 r shape so1 So add r so1 checkshape so1 # The shape so1 is valid #Step 4: Create a Solid for fuselage # We will extract the edge from the face f3, and use them to buid faces, the edge will be shared and we # can rebuild a sh and a solid with the basic and fast method nexplode f3 e #nexplode give same order of exploration in different sessions wire w1 f3_1 wire w3 f3_3 mkplane f7 w1 1 mkplane f8 w3 1 mkvolume so2 f3 f7 f8 -ni checkshape so2 # Step 5: Fuse the Wing to the fuselage ttranslate so1 0 0 10 bop so1 so2 bopfuse rrr checkshape rrr checknbshapes rrr -face 5 -wire 5 -shell 1 -solid 1 checkprops rrr -s 57448.9 -v 664969 # Step 6: Create the othe wing using copy and rotation tcopy so1 so3 trotate so3 0 0 0 1 0 0 180 # Step 7: Fuse the Wing to the fuselage bop rrr so3 bopfuse result checkshape result checknbshapes result -wire 8 -face 7 -shell 1 -solid 1 checkprops result -s 73752.9 -v 784375 checkview -display result -2d -path ${imagedir}/${test_image}-2d.png