val hole_of_config : ?render:bool -> ?cap:OSCADml.Scad.d3 -> Config.t -> Key.t
val make_hole :
?render:bool ->
?cap:OSCADml.Scad.d3 ->
?outer_w:float ->
?outer_h:float ->
?inner_w:float ->
?inner_h:float ->
?thickness:float ->
?cap_height:float ->
?cap_cutout_height:float option ->
?clearance:float ->
?corner:OCADml.Path3.Round.corner ->
?fn:int ->
?dome_w:float ->
?dome_waist_clip:float ->
?dome_thickness:float ->
?base_thickness:float ->
?sensor_depth:float ->
?sensor_cutter:Sensor.cutter ->
unit ->
Key.t
val empty_hole_of_config :
?render:bool ->
?cap:OSCADml.Scad.d3 ->
Config.t ->
Key.t
val make_empty_hole :
?render:bool ->
?cap:OSCADml.Scad.d3 ->
?outer_w:float ->
?outer_h:float ->
?inner_w:float ->
?inner_h:float ->
?thickness:float ->
?cap_height:float ->
?cap_cutout_height:float option ->
?clearance:float ->
?corner:OCADml.Path3.Round.corner ->
?fn:int ->
unit ->
Key.t