private void setRbondField(String str1, String str2, double x) {
		if (!(model instanceof MolecularModel))
			return;
		MolecularModel m = (MolecularModel) model;
		int lb = str1.indexOf("[");
		int rb = str1.indexOf("]");
		double z = parseMathExpression(str1.substring(lb + 1, rb));
		if (Double.isNaN(z))
			return;
		int i = (int) Math.round(z);
		if (i >= m.bonds.size() || i < 0) {
			out(ScriptEvent.FAILED, "Radial bond " + i + " doesn't exisit.");
			return;
		}
		String s = str2.toLowerCase().intern();
		boolean b = true;
		if (s == "color")
			m.bonds.get(i).setBondColor(new Color((int) x));
		else if (s == "strength") {
			if (Math.abs(x) < ZERO) {
				m.bonds.remove(m.bonds.get(i));
				MoleculeCollection.sort(m);
			} else {
				m.bonds.get(i).setBondStrength(x);
			}
		} else if (s == "custom")
			m.bonds.get(i).custom = (float) x;
		else if (s == "bondlength")
			m.bonds.get(i).setBondLength(x * IR_CONVERTER);
		else if (s == "amplitude")
			m.bonds.get(i).setAmplitude(0.001f * (float) x);
		else if (s == "period")
			m.bonds.get(i).setPeriod((int) x);
		else if (s == "phase")
			m.bonds.get(i).setPhase((float) (x * Math.PI / 180));
		else if (s == "torque") {
			if (Math.abs(x) < ZERO) {
				m.bonds.get(i).setTorque(0);
			} else {
				m.bonds.get(i).setTorque((float) x);
			}
		} else {
			out(ScriptEvent.FAILED, "Cannot set property: " + str2);
			b = false;
		}
		if (b)
			notifyChange();
	}