PanDao Export

  • 17 January 2023
  • 4 replies

Userlevel 6
Badge +3

Hey Zemax Team,

Thank you for adding the Pan-Dao export feature. This will be a very useful feature, but unfortunately it is not yet ready for prime time. My suggestion would be to move it to Feature Experiments, so suitably motivated users can beta (alpha?) test it. At the moment is appears as a full feature in the UI, and it has a long way to go before it is ready for that.

Please take the following as constructive criticism :-) Also remember that I am much more willing to dig into a new feature than you should assume a typical user will be. I actually enjoy this kind of stuff, and do not have a bunch of real work to be getting on with.

1. So first of all I loaded the double Gauss and excitedly hit the button, and got a message saying that I needed to provide 'inputs' for surface tolerances in the Tolerance Wizard. OK, maybe I should have known that...bad user. But if it needs the Tolerance Editor to work, the feature should be in the Tolerance menu alongside the Cost Estimator, in the Production Tools group.

2. So OK, I do as instructed and use the Tolerance Wizard, and built a set of tolerances using Optimax...Commercial grade, and ran it again.This time the dialog opens, and shuts again with nothing happening. I thought did I do it wrong? and ran it again. Still no result after some dialogs flashed in front of my eyes. Then I realized that a text file had been opened behind the OpticStudio session. Not an OpticStudio window...a Notepad window. 

3. OK, so I open the Notepad window which shows a file called Warning.txt. The Tolerance settings, which I built with the Tolerance Wizard, do not work! I have two problems:

3.1. I need to manually add TSDI operands to tolerance the surface diameter. The Tolerance Wizard does not support this, so even after being told to use the Tolerance Wizard, it is not enough.

3.2. It seems to only want TFRN surface iregularity. Given that I did specify form error, just not TFRN, that's absurd. The tool should just convert to TFRN without bothering the user. Note the Wizard will use TFRN if the surface is flat, but for all other surfaces will use TRAD. There's no option to force TFRN.

How this got through testing escapes me. Was it tested with curved surfaces?

Please, move this feature to Feature Experiments and document its limitations clearly. I, and several other users, will delight in testing it and giving feedback, but please don't try to present this as a complete feature that's ready for use. It isn't, and it's a little embarrassing for a feature like this to fall flat on its face on first use.


Best answer by Sandrine Auriol 3 March 2023, 11:40

View original

4 replies

Userlevel 6
Badge +3

I got something wrong above. You can of course use fringes to specify form error, so the ‘Note’ part of 3.2 above is wrong. It should still accept any radius tolerance IMHO, and default settings of the Tolerance Editor should be supported by the exporter.

Anyway, I persisted and added TSDI operands by hand, and then tried to re-export. It did work, but gave me no indication of success. No ‘Export Successful’, or telling me where the exported files are. But it did work. I opened the file in Notepad, and realized I had not run the lockdown tool so all values were to 14 decimal places. So I went to the Tolerance tab, ran the Lockdown tool, and ran the exporter again. This time the exporter opened a File...Open dialog:

I have no idea what file it wants me to open.

Undeterred, I saved my file, closed OS and restarted. OK, this time it worked. The resulting ‘JSON’ files are plain text:

{   "PanDaoVersion": "1.2.8",   "product": {     "name": "PanDao A sphCX_sphCC",     "materialName": "SK2",     "lenseDiameter": "58.2",     "centerThickness": "8.75",     "centerThicknessTolerance": "0.4",     "diameterTolerance": 0.1,     "numberOfSides": "2",     "shape": [       "spheres",       "spheres"     ],     "geometry": [       "Convex",       "Concave"     ],     "surfaceRadius": [       "54.15325",       "152.5219"     ],     "clearAperture": [       "58.2",       "56"     ],     "irregularity": [       "0.00012656",       "0.00012656"     ],     "power": [       "1",       "2"     ],     "coatingType": [       "AR",       "AR"     ]   } }

which is fine. I don’t see the wedge error of the lens, however. I realized I might have made an error so re-ran the exported and this time got

Ho hum. Save, delete the exported files, restart, try again. No difference. At this point I’m stuck, so have attached my ZAR so you can see what’s happening.

Overall this reinforces my view that this feature is not ready for prime time. If I needed this done I’d just copy/paste data into Pan Dao than persevere with this.

Beyond the obvious lack of testing, I’d still recommend this feature move to the Tolerancing Tab when ready, and be in the Production Tools section:


or maybe as a Pan Dao tab of the ISO drawing:

It’s a shame the existing XML format wasn’t/couldn’t be used as that’s been well debugged over the years and it is human and machine-readable. The goal of the XML format was to provide an open standard for interfaces rather than producing a new file format and exporter for every specification.





Userlevel 3
Badge +1

Hello Mark,

Thanks for this valuable post and feedback. Yes, currently we are working on it and making it more practical as per user point of view. As this feature is being built between two platforms so we need to regularly do the test with test cases supporting both platforms. Pandao support some pre-defined surfaces and we are able to export these surfaces parameters from LDE and TDE and provide it Pandao. We are working to add more surfaces to Pandao and features.


1. Yes, in Pandao Export Tool, user need to have Tolerance operands defined in TDE. Just like in ISO tool we have a button “Reset TDE”, here we don’t have specific button, so we notify user by this error message. This is the good suggestion for adding it TDE Ribbon.

2. We are working on the performance of the tool and making it faster. Yes, currently the warning message is opening in the Text window and not Opticstudio window. Adding the warning message in OpticStudio notepad will be decided by development team. 

3.1. The Tolerance wizard is not adding TSDI operand, so a warning message is thrown for missing TSDI operand. As tolerance diameter is important parameter in Pandao calculation. After adding the Operand, it will not include warning message for this operand.

3.2. This is important feedback Mark. We will look after this issue.

How this got through testing escapes me. Was it tested with curved surfaces?

Yes it was tested with curved surfaces.


Thanks again for your useful feedback.



Userlevel 6
Badge +3

Any idea about the “The given key was not in the dictionary “ message?

Userlevel 6
Badge +2

Hi @Mark.Nicholson!

As this topic is interesting, we asked Sahil if we could record a video showing how to use the Export to PanDao feature, as part of the Ask An Engineer series! See his recording below: