Up – dometyl » Dometyl » Eyelettype hole =
| Through
| Inset of {
depth : float;
punch : [ `Rel of float | `Abs of float ] option ;
}
type sink =
| Pan of float
| Counter
type fastener =
| SameMagnet
| Magnet of {
rad : float;
thickness : float;
}
| Screw of {
head_rad : float;
shaft_rad : float;
sink : sink ;
height : float;
clearance : float option ;
}
type wall_loc =
| Body of [ `N | `E | `S | `W ] * Idx.t
| Thumb of [ `N | `E | `S | `W ] * Idx.t
type placement =
| Normal of OCADml .V3.t
| Point of OCADml .V3.t
type config = {
outer_rad : float;
inner_rad : float;
thickness : float;
hole : hole ;
}
type t = {
scad : OSCADml .Scad.d3;
cut : OSCADml .Scad.d3 option ;
centre : OCADml .V3.t;
config : config ;
}
val translate : OCADml .V3.t -> t -> t
val xtrans : float -> t -> t
val ytrans : float -> t -> t
val ztrans : float -> t -> t
val rotate : ?about :OCADml .V3.t -> OCADml .V3.t -> t -> t
val xrot : ?about :OCADml .V3.t -> float -> t -> t
val yrot : ?about :OCADml .V3.t -> float -> t -> t
val zrot : ?about :OCADml .V3.t -> float -> t -> t
val axis_rotate : ?about :OCADml .V3.t -> OCADml .V3.t -> float -> t -> t
val quaternion : ?about :OCADml .V3.t -> OCADml .Quaternion.t -> t -> t
val scale : OCADml .V3.t -> t -> t
val xscale : float -> t -> t
val yscale : float -> t -> t
val zscale : float -> t -> t
val mirror : OCADml .V3.t -> t -> t
val affine : OCADml .Affine3.t -> t -> t
val inset : ?punch :[ `Rel of float | `Abs of float ] -> float -> hole
val screw_fastener :
?head_rad :float ->
?shaft_rad :float ->
?sink :sink ->
?height :float ->
?clearance :float ->
unit ->
fastener
val magnet_6x3_config : config
val make :
?fn :int ->
?fillet :float ->
placement :placement ->
config ->
OCADml .Path3.t ->
t
val place :
?fn :int ->
?fillet :float ->
?width :float ->
?bury :float ->
?config :config ->
inline :OCADml .Path3.t ->
outline :OCADml .Path3.t ->
[ `Loc of OCADml .v3 | `Reloc of OCADml .v3 | `U of float ] ->
t
val wall_locations :
walls :Walls.t ->
wall_loc list ->
[> `Reloc of OCADml .v3 ] list
val to_scad : t -> OSCADml .Scad.d3
val apply : t -> OSCADml .Scad.d3 -> OSCADml .Scad.d3