7 of 7 deleted 80 characters in body

# Jelly,  187  166 bytes

ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦
“ _/ |/|”;€⁶;”_ṁ"“¡ẇḞ6’D¤ṃ@“Ė⁸ġṾṗ¢œƝṇRK⁹ṄẸŒÐ¤ɓḂı)ḥṆqƓị¹÷ḄƝṁPʠVW1JĊTc;[¤ÆWŒṠṬ#ʋÆ6ẉ⁷ZḷƊḤƑẹẠGḊ|qi×Ƭ®ÐėƁ1(⁸ṪU¹Bgoƭ<Gḋ×c:ȦṚƇĊ¬e*⁽%ḷİ°U’Fs27Ç¹⁸?x€15¦€19Y


A full program.

Try it online!

### How?

103 bytes are a 101 digit base 250 number, which is a base-8 compression of a possible cube, with trailing spaces added to equalise the row-lengths, without new lines, and without 18 characters from the middle of each row, like this, but without newlines:

         _________________
/ _____________  /|
/ / ___________/ / |
/ / /| |       / /  |
/ / / | |      / /   |
/ / /| | |     / / /| |
/ / / | | |    / / / | |
/ / /  | | |   / / /| | |
/ /_/___|_|_|__/ / / | | |
/________________/ /  | | |
| ______________ | |  | | |
| | |    | | |_| | |__| | |
| | |    | |___| | |____| |
| | |   / / ___| | |_  / /
| | |  / / /   | | |/ / /
| | | / / /    | | | / /
| | |/ / /     | | |/ /
| | | / /      | |   /
| | |/_/_______| |  /
| |____________| | /
|________________|/


The 8 base-8 digits represent the strings of characters:

1      2    3    4    5    6        7        0
"   ", "_", "/", " ", "|", "/ / /", "| | |", "_____"


So the compression is then like the below where 1s, 6s, 7s and 0s are to be replaced by the strings shown above:

111000__111/ 00___  /|11 / / 00_/ / |116| |11 / /  |1  6 | |11/ /1|1 671  6| |16 71 6 | |  6  7167 6___|_|_|__6 7/000_/ /  7| 00____ | |  771 7_7__771 | |___7____| |71/ / ___7_  / / 7  6176  7 61 7 / /1761  7/ /1 7 / /11| |1/1  7/_/0__| |  /11| |00__| | /11 |000_|/11


The program reverses the process and changes the characters that need changing if the cube should be an impossible one:

“ _/ |/|”;€⁶;”_ṁ"“¡ẇḞ6’D¤ṃ@“ ... ’Fs27Ç¹⁸?x€15¦€19Y  Main link: V
...splitting this up...
“ _/ |/|”;€⁶;”_ṁ"“¡ẇḞ6’D¤ - make the list of strings of characters
“ _/ |/|”                 - list of characters = " _/ |/|"
⁶              - literal space character
;€               - concatenate €ach -> ["  ","_ ","/ ","  ","| ","/ ","| "]
”_           - literal = '_'
;             - concatenate -> ["  ","_ ","/ ","  ","| ","/ ","| ", '_']
“¡ẇḞ6’   -   base 250 literal = 31111555
D  -   convert to decimal list -> [3,1,1,1,1,5,5,5]
"         - zip with:
ṁ          -   mould like
-   -> ["   ","_","/"," ","|","/ / /","| | |","_____"]

...ṃ@“ ... ’Fs27 - make the rows of a possible cube without the middle repetitions:
...              - part 1, above
“ ... ’     - the 101 digit base 250 number
ṃ@            - base decompression with swapped @rguments
F    - flatten (because the digit values we are using are actually lists)
s27 - split into chunks of length 27 (into the rows)

...Ç¹⁸?x€15¦€19Y - make "impossible" if need be, add the row middles and output
...              - part 2, above
?         -  if:
⁸          -    chain's left argument = V
-          (make it an impossible cube - see link 1, below)
¹            - ...else: identity (do nothing)
€    - for €ach
¦       - apply sparsely:
15        - ...to index: 15
x€    19    - ...this: repeat €ach nineteen times
Y - join with newlines
- implicit print

ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦  Link 1, replace characters to make impossible: rows
¦  apply sparsely:
“µ½¿‘   ...to indexes: code-page indexes = [9,10,11]
...this:
µ€          for €ach: