# [Jelly], 187 [bytes]

    ḣ9;⁾| ṁ5¤oµ€“µ½¿‘¦
    “¢gl5n&ẈkȯƬœȥṫ⁽ḷ⁷ṙẓṣċXızb~ƝṪʋHØARḲọ<;⁽ṙ¶K4ẇG]ƊinṾỤ1ẓvP9",K|¢Ị\*1Ṙ?ȥḥƭ⁾-⁸ẓė%ßṀ[+ƥƘø⁵^ƒȦɲrHðɗ¹Ėfp0~ṄƘtSm3ẊFĿḤ³µɼɠọẸṁṡØƤḞcsḌÐ6*ỌʠzBḲȦȯẊŀxzṠ+×x³ṅzỵ^’ṃ“ /|_”s27ǹ⁸?x€15¦€19Y

A full program.

[**Try it online!**][TIO-j46zy1ru]

### How?

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


[Jelly]: https://github.com/DennisMitchell/jelly
[bytes]: https://github.com/DennisMitchell/jelly/wiki/Code-page
[TIO-j46zy1ru]: https://tio.run/##FZBNSwJRGIX3/QoJaqFFWlmIgdSiBDdRm6IyKCoqs8gIE5GZPjDUIBJyhCzza1GGpUzeO5MKd8bL6L947x@ZrqvDC@fwPucc7QUCV6YJqOhyM7EdtQAWnaR0SmR2XWXCC5FJi3SYIJHK0OAsHAScwVFQ7o@NGq1200YZ8CcTW4CaTGwCzoKSBlzUk2v6T2QnRnOAP/pJrybNrwCqg/ow5x64cZb8@qZBiS9t0cRhEHAb1JKDZy@XXcNjvigpgJrYtDoASx7@ApXpF6cbZyLiHj0zor0BFjZstEwlDTFR9tMno9Krn3u1716GYP15/8weA3xLpYvVkylQEot6B1CJNIjc@@vlOQcoiFcF/K5JtATodTcEKKU9zlhBTfXzkQVOa1SMGo92hXAEcN6mZcKkAfguAqrsZ0IW8A1fxDIR3WZCLjQ5q8UJ5oCeMF/O4SSVgbjWTdO0/wM "Jelly – Try It Online"