老师,您好,请问下,CurveVector下的方法AppendSplitCurvesByPlane,有详细的使用介绍吗?我找了帮助文件 没有详细的参数介绍,SDK中也无相关的案例。
这个函数就是返回曲线位于指定平面上方,平面内,平面下的曲线,第一个参数指定了面,第二个参数返回的是平面下的曲线,第三个参数返回平面上方的曲线,第四个参数返回平面内的曲线。
MS学习资源:
MicroStation Wednesday视频分享
深入探讨MicroStation DGN基本概念系列
一步步学习MicroStation CE Addin开发
一步步学习MicroStation CE MDL开发
郭老师,请问下,有没有相关的例子可以分享下呢?我在C++用了这个方法,但返回值全是NULL
ElementAgenda selectset; SelectionSetManager::GetManager().BuildAgenda(selectset); if (selectset.GetCount() < 1) { return; } EditElementHandle& eeh = selectset[0]; CurveVectorPtr cveVec = ICurvePathQuery::ElementToCurveVector(eeh); DPlane3d plane = DPlane3d::FromOriginAndNormal(DPoint3d::FromZero(), DVec3d::UnitZ()); CurveVectorPtr belowCollector = CurveVector::Create(CurveVector::BoundaryType::BOUNDARY_TYPE_Open), aboveCollector = CurveVector::Create(CurveVector::BoundaryType::BOUNDARY_TYPE_Open), onCollector = CurveVector::Create(CurveVector::BoundaryType::BOUNDARY_TYPE_Open); cveVec->AppendSplitCurvesByPlane(plane, &*belowCollector, &*aboveCollector, &*onCollector); if (belowCollector->size() > 0) { EditElementHandle eehResult; DraftingElementSchema::ToElement(eehResult, *belowCollector, NULL, true, *ACTIVEMODEL); eehResult.AddToModel(); }