Boolean UnionΒΆ
Learning targets
Construct object by Boolean operation (union)
Apply shape transformations (normal displacement, corner rounding)
This example constructs a binary mask like square object with serifs at its corner. We apply corner roundings in the horizontal directions. Normal displacements are used to define oblique sidewall angles in
-direction.
.jcm Input File
layout.jcm [ASCII]
1Layout3D { 2 3 UnitOfLength = 1e-09 4 MeshOptions { 5 MaximumSideLength = 20 6 } 7 Extrusion { 8 Objects { 9 Parallelogram { 10 DomainId = 1 11 Priority = -1 12 Width = 200 13 Height = 200 14 Boundary { 15 Class = Periodic 16 } 17 } 18 19 20 BooleanOperation { 21 DomainId = 2 22 Operator = Union 23 24 A { 25 Parallelogram { 26 Height = 80 27 Width = 80 28 } 29 } 30 31 B { 32 Parallelogram { 33 Height = 32 34 Width = 32 35 GlobalPosition = [-40 -40] 36 } 37 Parallelogram { 38 Height = 32 39 Width = 32 40 GlobalPosition = [40 -40] 41 } 42 Parallelogram { 43 Height = 32 44 Width = 32 45 GlobalPosition = [40 40] 46 } 47 Parallelogram { 48 Height = 32 49 Width = 32 50 GlobalPosition = [-40 40] 51 } 52 } 53 54 NormalDisplacement = 0 55 CornerRounding { 56 Radius = 4 57 NPoints = 5 58 } 59 60 } 61 } 62 MultiLayer { 63 MeshOptions { 64 MaximumSideLengthZ = 20 65 } 66 67 LayerInterface { 68 BoundaryClass = Transparent 69 } 70 71 Layer { 72 Thickness = 50 73 DomainId = 1 74 } 75 76 LayerInterface { 77 GeometryValues = [ 78 BooleanOperation{1}/NormalDisplacement = -3 79 ] 80 } 81 82 Layer { 83 Thickness = 65 84 DomainIdMapping = [1 2 2 3] 85 } 86 87 LayerInterface { 88 GeometryValues = [ 89 BooleanOperation{1}/NormalDisplacement = 3 90 ] 91 } 92 93 Layer { 94 Thickness = 50 95 DomainId = 4 96 } 97 98 99 } 100 101 } 102}
Note
The mesh is constructed in a tensor-grid like manner (horizontal
-mesh
vertical
-mesh). When deforming in
-direction, the mesh quality depends on the cross-section mesh. For this we have chosen a zero normal displacement. This way the cross-section mesh corresponds to the geometry in middle for the structure.