如题
3d空间中相交的两条线。
函数产生的结果
请提供一下您的测试代码以及测试dgn文件。
您这两条线是否在一个平面?用MS工具生成的结果如何?
void TestFunction() { EditElementHandle new_L1(75927, ACTIVEMODEL), new_L2(75930, ACTIVEMODEL); double Radius = 30 * (mdlModelRef_getUorPerMeter(ACTIVEMODEL) / 100); MSElement fillet; DPoint3d mid_point = DPoint3d::From(52860, 31070, 12340); StatusInt status = mdlElmdscr_fillet(&fillet, NULL, new_L1.GetElementDescrP(), new_L2.GetElementDescrP(), Radius, &mid_point, NULL); wprintf(L"able to create curve fillet %s\n", status == SUCCESS ? L"SUCCESS" : L"FAILED"); if (status == SUCCESS) { wprintf(L"is creating arc element\n"); EditElementHandle eh(&fillet, ACTIVEMODEL); eh.AddToModel(); } }
8524.ItemTypeExperiment.dgn
这两条直线是相交于一点的
如果两条线所在的平面跟xoy面不平行的话,应该是需要通过最后一个参数指定一个旋转矩阵,这个旋转矩阵的Z轴是两条线在做平面的法向量。您可以换成两条在xoy面上的线试一下,最后一个参数给NULL,结果也是对的。