//链接组件实体到工作部件 void CreateLinkedBody(NXOpen::Part* workPart, std::vector<tag_t>& body_tags, std::vector<NXOpen::Body*>& objs) { if (body_tags.size() == 0) return; uf_list_p_t deleteParamObjList,bak_list; UF_MODL_create_list(&deleteParamObjList); for (size_t i = 0; i < body_tags.size(); i++) { try { NXOpen::Features::WaveLinkBuilder* waveLinkBuilder = workPart->BaseFeatures()->CreateWaveLinkBuilder(NULL); waveLinkBuilder->SetType(NXOpen::Features::WaveLinkBuilder::TypesBodyLink); NXOpen::Features::ExtractFaceBuilder* extractFaceBuilder = waveLinkBuilder->ExtractFaceBuilder(); extractFaceBuilder->SetFaceOption(NXOpen::Features::ExtractFaceBuilder::FaceOptionTypeFaceChain); extractFaceBuilder->SetAngleTolerance(45.0); extractFaceBuilder->SetParentPart(NXOpen::Features::ExtractFaceBuilder::ParentPartTypeOtherPart); extractFaceBuilder->SetMakePositionIndependent(false); extractFaceBuilder->SetHideOriginal(false); extractFaceBuilder->SetAssociative(false); extractFaceBuilder->SetFixAtCurrentTimestamp(false); extractFaceBuilder->SetInheritDisplayProperties(true); extractFaceBuilder->SetCopyThreads(true); NXOpen::SelectObjectList* selectObjectList = extractFaceBuilder->BodyToExtract(); selectObjectList->Add(NXOpen::NXObjectManager::Get(body_tags[i])); tag_t cur_feat = waveLinkBuilder->CommitFeature()->Tag(); waveLinkBuilder->Destroy(); UF_MODL_ask_feat_body(cur_feat, &cur_feat); UF_OBJ_disp_props_t dispProps; UF_OBJ_ask_display_properties(body_tags[i], &dispProps); UF_CALL(UF_OBJ_set_layer(cur_feat, dispProps.layer)); UF_MODL_put_list_item(deleteParamObjList, cur_feat); } catch (...) { } } UF_CALL(UF_MODL_delete_object_parms(deleteParamObjList)); bak_list = deleteParamObjList; while (bak_list) { objs.push_back(dynamic_cast<NXOpen::Body*>(NXOpen::NXObjectManager::Get(bak_list->eid))); bak_list = bak_list->next; } UF_MODL_delete_list(&deleteParamObjList); }UG/NX二次开发,链接组件实体到工作部件
张小明
前端开发工程师
SeqGPT-560M企业级部署教程:Nginx反向代理+HTTPS+访问权限控制
SeqGPT-560M企业级部署教程:Nginx反向代理HTTPS访问权限控制 1. 为什么需要企业级部署——从开发环境到生产环境的跨越 你可能已经在本地跑通了SeqGPT-560M的Streamlit界面,输入一段简历,几秒内就拿到了结构化字段:姓名、公司、…
CCMusic DashboardGPU利用率提升:动态batch size适配不同长度音频输入
CCMusic Dashboard GPU利用率提升:动态batch size适配不同长度音频输入 1. 项目背景与问题发现 CCMusic Audio Genre Classification Dashboard 是一个面向音乐风格识别的交互式分析平台。它不依赖传统MFCC、Chroma等手工特征,而是把音频“看”成图像—…
Qwen3-VL-8B镜像免配置优势:无需修改代码,仅改start_all.sh即可切换模型
Qwen3-VL-8B镜像免配置优势:无需修改代码,仅改start_all.sh即可切换模型 1. 为什么“换模型”不该是一场系统手术? 你有没有试过把一个跑得正顺的AI聊天系统,从Qwen2-VL-7B换成Qwen3-VL-8B? 不是简单复制粘贴&#x…
Hunyuan-MT-7B快速上手:基于vllm的高效推理部署方案
Hunyuan-MT-7B快速上手:基于vllm的高效推理部署方案 1. 为什么你需要关注这个翻译模型 你有没有遇到过这样的情况:手头有一大段技术文档要翻成英文,但用通用翻译工具总感觉词不达意?或者需要把中文产品说明精准转成西班牙语、阿…
人脸识别OOD模型企业落地:智慧安防中实时拒识低质样本
人脸识别OOD模型企业落地:智慧安防中实时拒识低质样本 在智慧安防实际部署中,你是否遇到过这些情况:门禁闸机前,员工戴口罩、侧脸、反光眼镜导致识别失败;监控抓拍的人脸模糊、过暗、遮挡严重,系统却仍强行…
EcomGPT电商AI助手实操:营销文案生成结果AB测试与点击率优化闭环
EcomGPT电商AI助手实操:营销文案生成结果AB测试与点击率优化闭环 1. 这不是另一个“AI写文案”工具,而是能跑通点击率闭环的电商助手 你有没有试过让AI写完10条商品文案,发到店铺里,结果发现—— 哪条更吸引人? 用户…