[MSCE C++]SolidUtil::Modify::BlendEdges中的参数edges如何获取?

给位老师好,我已经通过SolidUtil系列函数成功创建了一个三维Smart Solid,现在想对其的几条边进行倒圆角的操作,找到了SolidUtil::Modify::BlendEdges命令,但是不知道命令中的第二个参数edges如何获取?请各位老师指导,谢谢!

注:在https://communities.bentley.com/communities/other_communities/chinafirst/f/microstation-projectwise/190748/solid/563043#563043这篇帖子中发现可以用mdlSolid_imprintBodies获取EdgeList,但是现在想尽量使用SolidUtil类中的函数来实现,请老师指导,谢谢!

Parents
  • 请参考:

    ISolidKernelEntityPtr srcSolid;
    	SolidUtil::Convert::ElementToBody(srcSolid, eh);
        iSubEntityNum = SolidUtil::GetBodyEdges(&outSubEntity, *srcSolid);
    	size_t iSubEntityNum = 0;
    	bvector<ISubEntityPtr> outSubEntity;
    
        bvector<double> radii;
        radii.insert(radii.begin(), 1, GetDistance());
    
        bool bPropagateSmooth = true;
    
        BentleyStatus status = SolidUtil::Modify::BlendEdges(srcSolid, &outSubEntity.front(), &radii.front(), 1, bPropagateSmooth);
        if (SUCCESS == status)
        {
            EditElementHandle eehEx;
            status = SolidUtil::Convert::BodyToElement(eehEx, *srcSolid, nullptr, *ACTIVEMODEL);
            if (BentleyStatus::SUCCESS == status)
            {
                StatusInt nStatus = eehEx.ReplaceInModel(ele);
                if (0 == nStatus)
                {
                    return true;
                }
            }
    
            return true;
        }

    Answer Verified By: yuan kong 

  • 已成功获取edges,谢谢老师。请问获取到的edges的序号有什么规律吗?

Reply Children