老师们好。请问一个关于DependencyLinkage的问题,如下,
现有两个元素,root元素在2D Model, Dependent元素在3D model. 以root元素InitLinkage,Dependent元素AppendLinkage。
更改root元素进不去回调函数, 更改Dependent元素可进。
OnRootsChanged(ElementHandleCR dependentElement, DependencyLinkage const& dependencyData, UInt8 *pRootStatus, UInt8 selfStatus) ,
调试看了dependencyData中有root元素Id, 但pRootStatus总为DEPENDENCY_STATUS_UNRESOLVED,即未找到根元素。这是什么原因呢?
在同一个model下时均可进回调函数。
if (SUCCESS == DependencyManagerLinkage::InitLinkage(*m_pDependencyLikage, g_appID, DEPENDENCY_DATA_TYPE_FAR_ELEM_ID, DEPENDENCY_ON_COPY_DropDependency)) { m_pDependencyLikage->nRoots = 1; m_pDependencyLikage->appValue = g_appValue; m_pDependencyLikage->u.f.dontRequireAppForDelete = false; m_pDependencyLikage->u.f.requireApp = false; // Add the first element as root //m_pDependencyLikage->root.elemid[0] = elmIdRoot; m_pDependencyLikage->root.far_elemid[0].elemid = elmIdRoot; m_pDependencyLikage->root.far_elemid[0].refattid = eehRoot.GetDgnModelP()->GetModelId(); return SUCCESS; }
请设置一下这个字段:
其默认值即为 DEPENDENCY_DATA_TYPE_FAR_ELEM_ID。设置了没效果。
你eehRoot是怎么来的?
C#传入 ElementID和ModelRef,C++中构造的一个。EditElementHandle eehRoot(elmIdRoot, modelRoot);
请把代码发上来,我感觉是你eehRoot有问题。
你好,郭老师。附件发不了,您邮箱能发一下吗?