private void setAtomField(String str1, String str2, float x) {
		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 < 0 || i >= model.getAtomCount()) {
			out(ScriptEvent.FAILED, "Atom " + i + " doesn't exisit.");
			return;
		}
		String s = str2.toLowerCase().intern();
		boolean b = true;
		if (s == "id") {
			String symbol = model.getSymbol((int) x);
			atom[i].setSymbol(symbol);
			view.getViewer().setAtomType(i, (short) x, symbol);
			// FIXME: this doesn't change the view
		}
		else if (s == "rx")
			atom[i].rx = x;
		else if (s == "ry")
			atom[i].ry = x;
		else if (s == "rz")
			atom[i].rz = x;
		else if (s == "vx")
			atom[i].vx = x * IV_CONVERTER;
		else if (s == "vy")
			atom[i].vy = x * IV_CONVERTER;
		else if (s == "vz")
			atom[i].vz = x * IV_CONVERTER;
		else if (s == "ax")
			atom[i].ax = x;
		else if (s == "ay")
			atom[i].ay = x;
		else if (s == "az")
			atom[i].az = x;
		else if (s == "charge")
			atom[i].charge = x;
		else if (s == "friction")
			atom[i].damp = x;
		else {
			out(ScriptEvent.FAILED, "Cannot set property: " + str2);
			b = false;
		}
		if (b)
			model.notifyChange();
	}