Holodisk model from the Fallout and Fallout 2 games.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

73 lines
2.2 KiB

  1. /*
  2. * Technical Specification for Wattz Electronics Holodisk (AKA Holotape or THT)
  3. *
  4. */
  5. // -- core dimensions --
  6. function get_holodisk_size() = [55, 100, 16];
  7. function get_holodisk_bottom_thickness() = 3;
  8. function get_holodisk_front_plate_thickness() = 1;
  9. // -- tape --
  10. function get_holodisk_tape_height() = 5;
  11. function get_holodisk_tape_thickness() = 0.2;
  12. // -- slide --
  13. spz = 8;
  14. function get_holodisk_slide_size() = [2, 35, get_holodisk_size().z - spz];
  15. function get_holodisk_slide_pos() = [0, 15, spz/2];
  16. sy = 2;
  17. sz = 4;
  18. function get_holodisk_slide_sliding_size() = [get_holodisk_slide_size().x, get_holodisk_slide_size().y - sy, get_holodisk_slide_size().z - sz];
  19. function get_holodisk_slide_sliding_pos() = [get_holodisk_slide_pos().x, get_holodisk_slide_pos().y + sy/2, get_holodisk_slide_pos().z + sz/2];
  20. srx = 2;
  21. srz = 2;
  22. function get_holodisk_slide_slider_size() = [get_holodisk_slide_size().x + srx, 15, get_holodisk_slide_size().z + srz];
  23. function get_holodisk_slide_slider_pos() = [get_holodisk_slide_sliding_pos().x, get_holodisk_slide_sliding_pos().y + 5, get_holodisk_slide_sliding_pos().z - get_holodisk_slide_slider_size().z/2 + srz];
  24. // -- laser --
  25. function get_holodisk_laser_cutout_size() = [12, 9, 20];
  26. function get_holodisk_laser_cutout_pos() = [
  27. get_holodisk_size().x/2 - get_holodisk_laser_cutout_size().x/2,
  28. 12,
  29. 0];
  30. function get_holodisk_laser_cutout_pos_center() = [
  31. get_holodisk_laser_cutout_pos().x + get_holodisk_laser_cutout_size().x/2,
  32. get_holodisk_laser_cutout_pos().y + get_holodisk_laser_cutout_size().y/2,
  33. get_holodisk_laser_cutout_pos().z + get_holodisk_laser_cutout_size().z/2];
  34. // -- laser-window --
  35. function get_holodisk_laserwindow_pos() = [
  36. get_holodisk_laserwindow_pos_center().x - get_holodisk_laserwindow_size().x/2,
  37. get_holodisk_laserwindow_pos_center().y - get_holodisk_laserwindow_size().y/2,
  38. get_holodisk_laserwindow_pos_center().z - get_holodisk_laserwindow_size().z/2,
  39. ];
  40. function get_holodisk_laserwindow_pos_center() = [
  41. get_holodisk_laser_cutout_pos_center().x,
  42. 0,
  43. 6.5
  44. ];
  45. function get_holodisk_laserwindow_size() = [
  46. get_holodisk_laser_cutout_size().x,
  47. 30,
  48. get_holodisk_tape_height() + 2
  49. ];
  50. // -- END --