I have a model formed like an inversed "U" (yellow model) and a stretched box (red model)

The yellow one shall fall down onto the red one so the red
one is in the hollow part of the yellow model (similiar like the picture)


My first try was to use the convex hull but that doesnt work.
It ignores the hollow part so the physx hull is a cube.
Second idea was to use the addshape function.
I sliced the yellow model to 3 parts - left, right side and
top - and set the position to same position of the
whole model , use addshape and delete the shape models after this.

Code:
physX_open();
	pX_setgravity(vector(0,0,-9.81));
	level_load("");

	
	
	// create terrain
	ENTITY* newterrain = ent_createterrain(NULL,vector(0,0,0),10,10,100);
	pXent_settype(newterrain, PH_STATIC, PH_POLY);
	
	
	
	

	
	ENTITY* cube = ent_create("brett.mdl", vector(0,0,10),NULL); // The red model
	pXent_settype(cube, PH_STATIC, PH_POLY);
	
	
	ENTITY* tmp = ent_create("horseshoe.mdl", vector(0,0,50), NULL); // The yellow model
	pXent_settype(tmp,PH_RIGID,PH_BOX);


	ENTITY* leftShape = ent_create("leftShape.mdl",vector(0,-5,40),NULL);
	ENTITY* rightShape = ent_create("rightShape.mdl",vector(0,5,40),NULL);
	ENTITY* topShape = ent_create("topShape.mdl",vector(0,0,45),NULL);
	
	pXent_addshape(tmp,leftShape,PH_BOX);
	pXent_addshape(tmp,topShape,PH_BOX);
	pXent_addshape(tmp,rightShape,PH_BOX);
	
	
	pXent_removeshape(tmp,0);
	
	ptr_remove(leftShape);
	...



The result is this:


Which also not work...

After some test I search on the web.
I found a Physx tutorial for 3ds max where
they use an hull "actual shape".
Is it a feature of Physx (and only not implemented) or only something for 3ds max?

Anybody an idea what I can try to solve my problem?
Is there anyway?