如何将3维mode的中的模型坐标转换为对应的二维坐标位置

我需要实现一个三维标注的功能,这个是三维里面的模型

实际上还是类似于把三维模块转换为二维模块,只是视角并不是顶视图,而是可以看到立体的模型视角,然后再进行标注。

问题是我在新模块里的获取到的墙位置并不准确,我现在的代码如下

    EditElementHandle eehline;
	LineHandler::CreateLineElement(eehline, NULL, DSegment3d::From(ptStartPos, ptEndPos), true, *ACTIVEMODEL);//上图模型中底面的中线
	NameDescrp = eehline.GetElementDescrP();
	//移动中心面
	DPoint3d vec = DPoint3d::From(0, 0, 1);
	vec.Scale(dHeight);//dHeight墙的高度
	mdlCurrTrans_begin();
	Transform tMatrix;
	mdlTMatrix_getIdentity(&tMatrix);
	mdlTMatrix_setTranslation(&tMatrix, &vec);
	mdlElmdscr_transform(&NameDescrp, &tMatrix);
	mdlCurrTrans_end();
	mdlElmdscr_convertTo2D(&NameDescrp, NameDescrp, 0, NULL, ACTIVEMODEL, model, true);
	DPoint3d midPos = getCenterOfElmdescr(NameDescrp);//或许线段中心点

最后出图中标注的位置并不正确