Upload Management SketchUp

Please note: Should you experience issues with Enscape or your subscription, and in case of any urgent inquiries/questions (e.g. regarding our upcoming licensing changes) please reach out to our dedicated support team via the Help Center or Support button as detailed here.
    • Official Post

    GWD , have you always been experiencing this, or did this start to occur just a while ago?

  • Hello! Would also like to echo GWD comment, Upload Management has always taken about 10 minutes for me, I am in Australia and get 200 megatbits / second.


    Is there any way to store panoramas locally within a folder that we can access without having to go through the upload management window? Would speed up workflow a lot too as there is no way to save multiple panoramas at once which means saving and naming each one individually.

  • The panos ‘are’ saved locally, but….

    They are saved as xml files with the jpg pano as a base64 string within the structure of the xml.

    You can open an xml file in a txt editor without any problems but a code editor such as MS’s VisualStudio Code editor would be best as it’ll display the xml formatting.

    I don’t know about MacOS but in Windows the panos(xml files) are in your Documents folder (I can’t remember the exact subfolder name but it’s got ‘Enscape’ in it so it should be easy to find)

    Saving them as xml isn’t a necessary silly idea as the xml file can (and does) contain a lot more than just the rendered pano, it also contains the project name, camera position, thumbnail image etc.


    I’m trying (unsuccessfully sadly) to write my own little utility to batch save the panos, I know what I want it to do and I know it can be done but I don’t have the coding skills to execute it.


    What we need is a better pano manager that’ll make saving panos AS JPG’s much easier. I’ve made the request in the Portal but more of us need to ask for it to bring it up the priority list.

    Over the past few days I’ve finished 4 pano tours, 2 with 22 panos each and the other 2 with 30, that’s 104 panos manually saved and named not counting the re-renders due to errors and edits….. that’s on top of the 40+ tours I’ve previously completed……I really really REALLY want a better pano management interface.


  • jlo

    If you open any of the xml files you’ve rendered you’ll find info on the model name, camera position, pixel size etc, then you’ll get to the meat of it where you’ll find 2 base64 images, one is the full res pano itself and the other is the small preview image used in the upload management window.

    I’ve successfully manually been able to extract either/both but there’s a key bit of info missing from the xml…. the scene name, why it’s not saved with everything else when the xml is written I don’t know but it makes batch saving panos to specific filenames near impossible.

    I’ve requested it along with batch saving panos in the Enscape portal but who knows if we’ll ever see it.




    I use 3DVista (https://www.3dvista.com/en/) to knock up my tours, like so: https://www.tours.blockcpm.studio/tollymorebrae-h1/tour/, I can add skin elements, overlays (https://www.tours.blockcpm.studio/moira-one-choices-1a/tour/) etc


    I’m not keen on the way the plugin Enscape uses to display panos works, open this on a desktop https://www.tours.blockcpm.studio/00_sandbox/tour/

    What I’ve done is build a tour with exactly the same pano displayed from within 3DVista (my normal way) and the Enscape uploaded version iFramed in. (The + icon is just to show you the centre of the viewport)

    If you rescale your browser window you’ll see that one scales the pano by its width and the other by its height, I much prefer the look of the 3DVista method.

    You also can’t look up or down or zoom in/out on mobile with the Enscape viewer whist you can with 3DVista.


    Edit:

    Found the post when I originally posted the comparison, it explains better what I did and why they are different RE: More Realistic Field of View for Panoramas & Default EXE

  • The naming aspect can be worked around. Enscape normally manages it by putting a timestamp into the name (therefore always unique) but ultimately any convention can be used. Of course, exactly after i wrote the last comment last night, i saw about 20 posts of yours showing 3dvista as a fell into the tour rabbit hole! Hilarious. Ill try and dig around my own machine to find an old pano i created and see if I can find how it parses the XML and make it export to an image file. I suspect that should be fairly easy to mediocre although my coding skills are very rusty. Ive only used enscape for panos in the past. From everything i have seen in the past, Enscape appears to be simply using the 360 functionality already built into the HTML standard. You can put any pano into an HTML (5?) iframe in a standard .html with something like 3 lines of code and simply view it in any standard HTML browser. Ive done this. Im betting this is also exactly what Enscape has done. This means whatever you dont like is likely how the HTML standard implemented it. This also means it may be different in different browsers since they may parse html and render it slightly differently. Not sure how Enscape or any other company added on the tour portion though. I have some sample HTML code laying around whenever i was testing it in the past. I was able to effectively create standard links for multiple panos viewable in any standard browser but im not a web dev and i didnt solve how to put it into any tour format.


    If i can find an xml then export that portion to an actual image file then batching that code to find others and do the same should be trivial. My code will be using powershell so windows only...


    On last nights rabbit hole, i landed on krpano and more specifically built with everpano seemed to be the superior tour implementation (which also has a nice dollhouse effect) but i havent tested any of this and im not very familiar with the topic in general. I also already saw the thread on the FoV related to panos last night as well...

    On that, My eyes tell me that the enscape side is less distorted in both a more portrait view (i.e. both on 1 screen therefore split screen portrait type view) to also a more landscape aspect ratio (stretched across a dual monitor)while the 3dvista is highly distorted in the narrow portrait view

  • There is no auto naming of saved panos like there is for stills in Enscape, you have to manually type a file name upon saving each one … at least the 1st time it’s saved, you can obviously overwrite it the 2nd, 3rd etc times it’s rendered.


    The parsing of an xml to extract the base64 is easy, it’s the ‘batch’ processing of multiple xml’s that’s beyond me. I’ve got the steps needed but not the programming skills to execute them.


    There are a number of 3DV users that came from Krpano, I’ve never used it so I don’t know their reasoning.


    There’s more to our pano tours than just the panos, we need all the interface elements, floor plan overlays, location maps etc so the vanilla Enscape solution is completely unsuitable, but more importantly it’s “not ours” it’s all hosted on Enscape’s servers, we’ve had around 1000 visits to our tours this month with an average of 5min per visit, that’s a lot of data to shovel around, for that we need good hosting…. That we control.

  • Yes no auto naming of panos but yes auto naming of regular images. Thay do that by inserting the timestamp so as to make it always unique. The Pano XMLs are simply incremented by 1 digit in the folder they are saved (i found the folder on my local machine).


    >The parsing of an xml to extract the base64 is easy


    Maybe we can meet in the middle because this is the only complicated part for me. I can parse the XML to get to the needed string (xml.PanoramaData.ImageContent) but i dont know how to convert and save it as a .JPG from a code perspective.


    The batch portion is the easy part for me...




    >so the vanilla Enscape solution is completely unsuitable


    I certainly get that its not doesnt have feature parity with comparable products and its a weak point for enscape tours. VIew wise though, i believe Enscape outputs the FoV smarter then 3dvista by adjusting to the vertical res only and not the horizontal res as 3dvista does. For enscape, this means that switching from portrait to landscape or separately making the viewport wide for say an ultra wide monitor (or dual or triple monitor setup) keeps the FOV always near the same regardless of width while 3dvista gets much more distorted for portrait on say an iphone.

  • So... Ive done something...


    Windows only:

    Go to this webaddress: https://www.johnjlopez.com/archviz/EnscapePanoramExport.txt


    and download that file. If your browser simply posts this text then copy and paste this into notepad. You can see the code so there should be no fear of virus or other. Its only a few lines long and, imo, easy to read what is happening. The "#" is the comment symbol in ps1. This means the code will skip those lines when running because its a comment to not be parsed by the engine.


    Save this text in notepad wiht a file name of EnscapePanoramExport.ps1

    (Note the PS1 extension)


    This is now a Microsoft Powershell script file.


    Now go to that file in explorer or however you prefer, right click and you should see a prompt to run with powershell. Do this.

    (Alternately you can open powershell first then type in the full path plus filename and hit enter)

    (If you have never used powershell, You may, for the first time only, have to give windows permission to run ps1 scripts as a microsoft security measure (nothing to do with my specific script). You will need to change your own permissions to allow scripts to run - do this by doing a google search of the verbage it pops up + powershell (i forget the actual requirement - its been years))


    If everything is working properly and you run the script, it should automatically start going though the default Enscape panorama folder and convert all the files in that folder. It will show you the XML name it is converting. My machine took about 1 min to convert around 70 files.


    If you need to change the folder path to the pano XMLs (if not using default) then do that up above in notepad before you save as ps1.


    This is working code but very 1.0 version. Let me know if you need error handling or features added (such as searching through all subfolders or ...whatever) and we can hash out logistics to support it. Currently there is no real error handling beyond it will only search for XML files. It will overwrite the PNG files if you run multiple times. The PNG files will be saved to the same folder as the XMLs.


    Good luck and let me know results!

    I take starbucks coffees 8):D;)

  • I’ll give that a blast tomorrow.


    With regard to the xml naming:

    The file names are simply the order the panos were rendered in so if I were to render 3 panos from project1 they’d be panorama01, 02, 03.xml. If I was then to render 2 from project2 they’d 04 and 05.xml and if I was to render an additional 2 from project1 they’d be 06 and 07.xml


    Simply batch rendering every xml in the folder will produce a jumbled bunch of panos …. But there’s a potential fix.

    Within the xml’s one of the values stored is the ‘project name’ for SketchUp this is the filename of the SketchUp file (I don’t know where it’s pulled from for Revit)


    What I wanted to do was parse all the xml’s in the folder and read ONLY the project names then present the user with a list for them to select the project they wanted batching, then only process the relevant panos, ie, using my example above for project1 would be the 01, 02, 03, 06 and 07.xml’s.

    An alternative which could be programatically much easier would be process every xml in the folder but include the project name within the filename of the saved pano. It would then simply be a process of deleting the unwanted ones…. Messy but still far faster then manually saving each one.


    Getting something like this working would be a massive boon for me (and I assume others) as each of my tours is between 20 and 30 panos, manually saving each one only to get a bunch of edits that require re rendering and then manually saving everything again can get quite tedious, my most recent project consisted of 5 houses for the same scheme and the client requested an addition. It was small and only took 5 mins per house BUT resulted in at least 10 panos to be rerendered per house. So that was 50 files manually resaved…ughhh.


  • That worked perfectly, well done.


    Now that I've seen how a ps1 works I was able to modify it a bit.

    • I've changed the single path to $sourcepath and $targetpath
    • I've replaced the string 'panorama_' in the filename with 'P-'
    • I've pulled the ProjectName value from the xml and included it in the filename of the saved pano(s)
    • I've changed it from png to jpg


    I now get filenames in the format PROJECTNAME-P-1.jpg


    What would be the method to replace the single digit numbers with double such as 1 > 01 or 7 > 07 in the filename?

  • Welcome to the world of scripting.

    You took your easy method ;)

    Geat. Thats why i left the code the way it is - to make it simple to understand and also modify.


    Does it still make sense then to do it the hard way?

    Note the only change that wont work is the png to jpg. Even though its changing the name, its not actually changing the format so my image viewer automatically asks me to rename it back to png because it detects that the image itself doesn't coincide with the filename extension.


    For the number, you also need to factor logic so as to not just always use the same number but increment up and maybe even check if filename already exists.

    All of this adds another layer of complexity and logic for the code .


    The line for double digit is something like (one way anyway):

    $(1..10 | % tostring 0000)

    $(5 | % tostring 00)

  • Also just thinking this through.... can you create/save panos as JPGs? (i know you can export as jpg ) Mine are save in png format (or more accurately stated my XMLs have the image content already in PNG format). If either or then logic needs to trap for which format and i dont know how to differentiate the 2...

  • When I manually save them from Enscape I always use jpg, whilst png would be lossless it seems unnecessary for what will eventually be processed through 3DVista and displayed in a web browser.


    I render at 8k x 4k, save them as jpg and then run them through Topaz Gigapixel to scale them up to 16k x 8k ... its far far quicker than natively rendering them at 16k

  • Yes. What Im specifically asking is whether enscape ever saves them in the xml itself as JPG. In other words, Does enscape ever initially create/save that file as a jpg instead of as a png. We know you can EXPORT the already created pano to jpg when you manually download/save but that doesnt mean the file in the xml is ever as jpg. All the panos in my directory appear to be PNG.

    This means that simply renaming the extension to jpg wont work because the file itself is actually a png. It would need to be converted from PNG to JPG. It also means that if enscape does initially create that as either PNG or JPG then any code we make must trap for whatever file gets created and i would need to know how to differentiate the 2 formats. Currently, i do not believe it ever creates the pano as JPG but i havent tested or know that as fact.


    In the meantime, get this tool - microsoft powertoys which has a powerRename tool. Its excellent for quick batch renaming:

    https://learn.microsoft.com/en…ows/powertoys/powerrename

    https://learn.microsoft.com/en-us/windows/powertoys/


    I use that all the time to instantly change the enscapes auto-naming convention before i send images to clients.


    Separately, you should check if Gigapixal has an api and/or allows batch processing and we could likely hook into that api for batch conversions as well in a potential later update. Theoretically, one could pull the files from the xmls, autoname them, have them upscaled on gigapixel and saved somewhere in a local folder of ones choosing - all automatically in 1 run of the code if so. I dont have gigapixel and i would likely need creds to build out and test code if so. Lets save this part for later but you should see if Gigapixel even has the ability.