1.基于模板进行模型、骨架的创建
递归创建装配
void ClassName::CreateMdlAssembleDef(Thk501ToolAsmComp* pComp)
{
if (pComp==NULL)
{
return;
}
if (!pComp->CreateMdl())
{
Msg_OutErr("%s模型创建失败", pComp->m_strNodeName);
return;
}
pComp->AssembleDef();
for (int i = 0; i < (int)pComp->m_arrComp.GetCount(); i++)
{
ClassName* pAsm = pComp->m_arrComp[i];
if (pAsm == NULL)
{
continue;
}
CreateMdlAssembleDef(pAsm);
}
}
bool ClassName::CreateMdl()
{
if (m_tSld.IsEmpty())
{
ThkSolid tSld;
if (tSld.Retrieve(m_strNodeName, PRO_MDL_ASSEMBLY) == PRO_TK_NO_ERROR)
{
Msg_OutErr("模型%s已存在,创建失败", m_strNodeName);
return false;
}
SetBaseMdlPath(THK_PRJ_NAME);
ThkSolid aSldTpl;
if (aSldTpl.Retrieve(Thk501ToolMdlConfig::m_strAsmTpl, PRO_MDL_ASSEMBLY) != PRO_TK_NO_ERROR)
{
Msg_OutErr(_T("%s组件模板模型检索失败&