private boolean evaluateBuildRBondClause(String str) {
		String[] s = str.split(REGEX_SEPARATOR);
		if (s.length != 3)
			return false;
		int n = model.getAtomCount();
		double x = parseMathExpression(s[0]); // index of atom 1
		if (Double.isNaN(x))
			return false;
		int i = (int) x;
		if (i >= n) {
			out(ScriptEvent.FAILED, "Atom index out of limit: i=" + i + ">=" + n);
			return false;
		}
		x = parseMathExpression(s[1]); // index of atom 2
		if (Double.isNaN(x))
			return false;
		int j = (int) x;
		if (j >= n) {
			out(ScriptEvent.FAILED, "Atom index out of limit: j=" + j + ">=" + n);
			return false;
		}
		if (j == i) {
			out(ScriptEvent.FAILED, "Cannot build a radial bond between a pair of identical atoms: i=j=" + i);
			return false;
		}
		x = parseMathExpression(s[2]); // strength
		if (Double.isNaN(x))
			return false;
		Atom a1 = model.getAtom(i);
		Atom a2 = model.getAtom(j);
		if (x > ZERO) {
			RBond rb = view.addRBond(a1, a2);
			rb.setStrength((float) x);
			view.repaint();
			model.notifyChange();
		}
		return true;
	}