Now I see what you need to know--you're not just motivated by idle curiosity
about stuff in a ses file.
Although I'm much in favor of modifying the contents of ses files to achieve
various goals, there are times when it's better to use a different approach,
and this is one of them. You really don't want to tinker with the contents of
a CellBuilder's ses file. Too arcane, and there's no guarantee that any
changes you make will be compatible with future versions. Far better to
make "post-translational modifications" to the sections that the CellBuilder
spawns, i.e. by writing your own hoc code to change the pt3d diameters or
xyz coords of individual 3d data, nseg values, and/or biophysical properties
of any sections you like. But you also must be sure to protect your changes
from being overwritten by the CellBuilder itself--after all, if the CB is in
Continuous Create mode, and just for a moment you fiddle with something
on one of its pages, poof! it emits a new model specification that zaps
whatever you did with your own hoc code.
So after loading the CB's ses file, make sure there are sections, and then
turn off the CB's Continuous Create.
Code: Select all
// assume cb.ses recreates a CellBuilder
load_file("cb.ses")
// assume that this is the only CellBuilder, so it is CellBuild[0]
// make sure that sections actually exist
if (CellBuild[0].continuous==0) {
CellBuild[0].continuous=1
}
// prevent CellBuilder from overwriting anything you might do to these
// sections via user-written hoc statements
CellBuild[0].continuous=0
// now you can execute any statements you like that modify properties
// of any section(s)
// anything you might want to do should probably be encapsulated in a
// proc for ease of reassertion, just in case you should accidentally or
// deliberately return the CellBuilder to Continuous Create mode