vedi se ti può servire

codice:
function createpie() {
	items = _root.matrcausali.length;
	createEmptyMovieClip("torta", 19990);
	with (torta) {
		fattore = 360 / _root.totale;
		lastvalue = 0;
		lineStyle(1, 0x000000, 100);
		moveTo(0, 0);
		availSpaceY = _root.horizline._y;
		availSpaceX = Stage.width - _root.mainline._x;
		if (availSpaceX > availSpaceY) {
			availSpace = availSpaceY;
		} else {
			availSpace = availSpaceX;
		}
		raggio = availSpace / 2 * 0.9;
		for (i = 0; i < items; i++) {
			colore = _root.matrcolori[i];
			beginFill(colore, 100);
			for (j = lastvalue - 1; j < lastvalue + _root.matrvalori[i]; j += 2) {
				angle = j * fattore;
				angle_deg = angle / 180 * Math.PI;
				x = raggio * Math.cos(angle_deg);
				y = raggio * Math.sin(angle_deg);
				lineTo(x, y);
				lineStyle(2, 0x000000, 0);
			}
			lastvalue += _root.matrvalori[i];
			lineTo(0, 0);
			endFill();
		}
		_x = Stage.width - availSpaceX / 2;
		_y = availSpaceY / 2;
	}
}
non è con lo spicchio duplicato, ma con le drawing API

la parte in fondo di availSpace puoi anche segarla, a me serviva perchè si doveva riscalare dinamicamente

ovviamente _root.matrcausali è una matrice che devi creare prima

cyao