* 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)
 |