According to Morten: [...] There are a few things you can check:
1) Do you have the latest version of oplot? Check with oplot -r, it should say version 1.11. If not, get the latest version from the server. (Ignore oplot 1.11 messages saying "No open object").
2) The next thing is more complicated and technical, so hang in there! If you understand how the structure of the plot meta file ('.plt' file) written by O, you will have much more enjoyment doing plotting. Look at your .plt file. It contains everything O does to the display between plot_on & plot_off commands.
In the following (long) discussion, I assume that you have done something equivalent to:
plot_on mol cray ca ; end symm_object cray sym 30 plot_off
And that you have NOT filtered the .plt file through ODLEDIT.
First the file contains a number of MENU objects -- one is written for each time the display is updated. (The 'objects' referred to here and in the following are not O objects as you know them. Each O object consists of a number of sub-objects, which are conglomerated the higher level objects you are used to seeing on the O menu).
Anyway, a bit down you see a number of objects describing your molecule. There is one object per colour (they are called CRAY_COL1 ... etc.) and some objects describing single atoms (called CRAY_COL1_CROSS ... etc). These all contain a bunch of 'move' and 'line' instructions.
Further down in the file, you will see where the good-ole O object is defined. For example:
begin CRAY instance CRAY_COL1 instance CRAY_COL1_CROSS instance CRAY_3D_TEXT end_object
It instances bonds in different colours, single atom crosses (even if there aren't any) and the ID text labels.
Again further down (you have to pass a number of MENU objects) you will find your symmetry objects, something like this:
begin SYM1 transform -.00003 1.00000 .00000 -1.00000 .00003 .00005 .00000 .00000 1.00000 translate -39.34970 39.34926 -27.90000 instance CRAY end_object
By default they will be called SYM1, SYM2, etc. How many there are depends on the radius you have set in the Sym_object command. So SYM1 is a copy of CRAY, with some rotation/translation operator applied.
Now go further down in the file again. You should find something like this:
begin SYM instance SYM1 instance SYM2 end_object
SYM is an assembly of all the individual copies of CRAY, with each their crystallographic rotation/translation operator applied. Further down the file (close to the bottom) find something like this:
begin DISP_BONDS instance CRAY instance SYM end_object
We are instancing the c-alpha object, and the assembly of symmetry mates. Whew! Now the display structure looks like this, schematically:
disp_bonds / \ cray sym / | \ / \ cray_col1 ... sym1 sym2 ... etc. / \ (instances of 'cray' with some transformation operator)
Now, make sure that disp_bonds is hooked into the top level display structure. It is defined at the TOP of the file:
begin disp_all translate -24.3062 -3.4809 -.1855 transform .0664 .8155 .5749 .4200 -.5455 .7253 .9051 .1933 -.3787 scale .0784 instance disp_bonds end_object
Disp_all is what gets displayed!! It instances disp_bonds, and everything below. You can actually change the scale, translation, slab etc. like you do with the knobs on the display, they work the same way.
SOoooo, go to the BOTTOM of the file. You should see this:
# Epilogue window -10.0 10.0 -10.0 10.0 viewport .0 .9 .0 .9 display disp_all end_plot
If you file has the same structure as the above, oplot _should_ work, and draw the whole symmetry object.
Having gone through all this verbosity, we can get a bit of bonus for those wanting to plot electron density maps at a different line-thickness. Find where the MAP object is defined. Put a 'zthick 1 0.5' instruction right after the line containing 'begin ...'. That will apply special zthick values for that object and all below it, but leave the zthick value of the parent object unchanged. The next version of O takes care of this for you, but not the currently distributed version.