That's right. There isn't a way to draw from a fixed point on the screen to an atom. You might try a recent addition in relation to PyMOL. This is a much more general offset method that is used in PyMOL and I needed to implement in Jmol, so we have it as well now.

Do give this a try and let me know if it solves your problem:

new feature: PyMOL-like label offset options:
††
†† set labelOffset [sx, sy, sz]
†† set labelOffset [mode, sx, sy, sz, ax, ay, az]
††
†where
††
†† sx,sy,sz are screen coord offsets
†† ††† ††† ††† ††† -- in Angstroms
††††††††††††††† -- applied after view rotation
††††††††††††††† -- sy > 0 LOWERS label
†† ax,ay,az are xyz position (in Angstroms; applied before view rotation)
†† mode == 1 indicates xyz position is an offset to the atom position
†† mode != 1 indicates xyz position is absolute
†† defaults: mode == 1; ax = ay = az = 0
††
Note that those sx sy sz are not in pixels, they are in angstroms. Also, I note that there is a bug that disallows label pointers with this sort of offset. Hmm....





On Sat, Jun 29, 2013 at 1:50 PM, James <james@ryley.com> wrote:
Thanks Angel. I see that echo has almost everything. But, the reason I was trying to use labels is because they can have a line to an atom. After reviewing "draw ARROW" in the hopes that it could substitute for that line, I don't see that it is possible to draw from a 2D point (e.g., top left) to a 3D point (an atom). I tried assigning echo an ID and drawing from that to an atom, but (as I suspected - just hoping I could trick it) since echo isn't a draw object it doesn't work. I can't find a way to bridge that 2D/3D coordinate issue, which label does automatically.

Thanks,
James


On Saturday, June 29, 2013, Angel HerrŠez wrote:
Hello, James

By definition, labels are attached to atoms. That is why the distance cannot
be long.
>From your description, I don't think that labels are what you need. You have
"echo" for positioning text either in 2D screen space or in 3D molecular
coordinates, at arbitrary positions and with chosen alignment, even multi-line.

e.g.

set echo myEcho1 0 50%; echo Hello;
† // windowLeft+windowMiddle, left flushed
set echo myEcho2 0 100%; echo Good Bye;
† // windowLeft+windowTop, left flushed
set echo myEcho3 15% 85%; set echo center; echo Another;
† // close to windowLeft+windowTop, center-justified
// note that text will never go out of screen, it will flush to the edge if needed

set echo myEcho4 0 100%; echo First Line;
set echo myEcho5 0 100%; echo "|Second Line"; †//no overlap due to the
initial newline (|)





------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users


--
Sincerely,
James Ryley, PhD, Patent Agent
SumoBrain: Intellectual Property Solutions & Data
AcclaimIP | FreePatentsOnline.com | SumoBrain.com | BioMedSearch.com

This communication is confidential and may be subject to legal privilege.
Nothing contained herein should be construed as legal or patenting advice.


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users




--
Robert M. Hanson
Larson-Anderson Professor of Chemistry
St. Olaf College
Northfield, MN
http://www.stolaf.edu/people/hansonr


If nature does not answer first what we want,
it is better to take what answer we get.

-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900