#[macro_export]
macro_rules! build_zip {
(2D:X - $start:tt -> $end_a:tt, $end_b:tt) => {
$crate::zip::Builder::new()
.axis($crate::Axis::X)
.start_point($start)
.first_ending_point($end_a)
.second_ending_point($end_b)
.build()
};
(2D:Y - $start:tt -> $end_a:tt, $end_b:tt) => {
$crate::zip::Builder::new()
.axis($crate::Axis::Y)
.start_point($start)
.first_ending_point($end_a)
.second_ending_point($end_b)
.build()
};
(3D:X - $start:tt -> $end_a:tt, $end_b:tt) => {
$crate::zip_3d::Builder3d::new()
.axis($crate::Axis::X)
.start_point($start)
.first_ending_point($end_a)
.second_ending_point($end_b)
.build()
};
(3D:Y - $start:tt -> $end_a:tt, $end_b:tt) => {
$crate::zip_3d::Builder3d::new()
.axis($crate::Axis::Y)
.start_point($start)
.first_ending_point($end_a)
.second_ending_point($end_b)
.build()
};
(3D:Z - $start:tt -> $end_a:tt, $end_b:tt) => {
$crate::zip_3d::Builder3d::new()
.axis($crate::Axis::Z)
.start_point($start)
.first_ending_point($end_a)
.second_ending_point($end_b)
.build()
};
}