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.