4 of 7 added 12 characters in body

Jelly,  187  168 bytes

ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦
“ _/ |/|”;€⁶;”_ṁ"“¤¢¢¢¢¦¦¦‘ṃ@“Ė⁸ġṾṗ¢œƝṇ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?

Note: changes have been made to the code but not yet to the explanation...

145 bytes are a 143 digit base 250 number, which is a base-4 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 program reverses the process and changes the characters that need changing if the cube should be an impossible one:

ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦  Link 1, replace characters to make impossible: rows
                 ¦  apply sparsely:
            “µ½¿‘   ...to indexes: code-page indexes = [9,10,11]
                    ...this:
          µ€          for €ach:
ḣ9                      head to index 9
        ¤               nilad followed by link(s) as a nilad:
   ⁾|                     list of characters = ['|',' ']
      ṁ5                  mould like 5 = ['|',' ','|',' ','|']
  ;                     concatenate
         o              logical or (vectorises) with the row
                          (which has the effect of appending the rest of the row)

“ ... ’ṃ“ /|_”s27ǹ⁸?x€15¦€19Y  Main link: V
“ ... ’                         base 250 number (as described above)
        “ /|_”                  the characters to use [' ','/','|','_']
       ṃ                        base decompression (0->'_', 1->' ', 2->'/', 3->'|')
              s27               split into chunks of length 27 (the rows)
                    ?           if:
                   ⁸              chain's left argument = V
                 Ç              ...then: call last link (1) as a monad
                  ¹             ...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