* Add Black formatting check to CI * Add some documentation for code contributors * Use uncompromised code formatting
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import cadquery as cq
 | 
						|
 | 
						|
# These can be modified rather than hardcoding values for each dimension.
 | 
						|
circle_radius = 50.0  # Radius of the plate
 | 
						|
thickness = 13.0  # Thickness of the plate
 | 
						|
rectangle_width = 13.0  # Width of rectangular hole in cylindrical plate
 | 
						|
rectangle_length = 19.0  # Length of rectangular hole in cylindrical plate
 | 
						|
 | 
						|
# Extrude a cylindrical plate with a rectangular hole in the middle of it.
 | 
						|
# 1.  Establishes a workplane that an object can be built on.
 | 
						|
# 1a. Uses the named plane orientation "front" to define the workplane, meaning
 | 
						|
#     that the positive Z direction is "up", and the negative Z direction
 | 
						|
#     is "down".
 | 
						|
# 2.  The 2D geometry for the outer circle is created at the same time as the
 | 
						|
#     rectangle that will create the hole in the center.
 | 
						|
# 2a. The circle and the rectangle will be automatically centered on the
 | 
						|
#     workplane.
 | 
						|
# 2b. Unlike some other functions like the hole(), circle() takes
 | 
						|
#     a radius and not a diameter.
 | 
						|
# 3.  The circle and rectangle are extruded together, creating a cylindrical
 | 
						|
#     plate with a rectangular hole in the center.
 | 
						|
# 3a. circle() and rect() could be changed to any other shape to completely
 | 
						|
#     change the resulting plate and/or the hole in it.
 | 
						|
result = (
 | 
						|
    cq.Workplane("front")
 | 
						|
    .circle(circle_radius)
 | 
						|
    .rect(rectangle_width, rectangle_length)
 | 
						|
    .extrude(thickness)
 | 
						|
)
 | 
						|
 | 
						|
# Displays the result of this script
 | 
						|
show_object(result)
 |