Proe Creo 二次开发之模型装配--缺省与坐标系
ProMdlLoad加载模板
ProMdlCopy(m_TempleteModelAsm,asmName,&newModel);
//复制模板模型并给新模型赋名
随便给一个元件起始位置,起始位置并不重要因为其位置主要由后期约束来决定
ProMatrix identity_martrix={{1.0,0.0,0.0,0.0},
{0.0,1.0,0.0,0.0},
{0.0,0.0,1.0,0.0},
{0.0,0.0,0.0,1.0}};
//!<将零件添加到组件上
status = ProAsmcompAssemble(assembly,(ProSolid)newModel,identity_martrix,&asmcomp);
//!<初始化约束数组constraints
status = ProArrayAlloc(0,sizeof(ProAsmcompconstraint),1,(ProArray*)&constraints);
//!<初始化约束constraint
status = ProAsmcompconstraintAlloc(&constraint);
1.当为缺省装配时
因为时缺省所以添加一个约束信息就可以完全约束,并且该约束只需要设置其约束类型为缺省即可
status = ProAsmcompconstraintTypeSet(constraint,PRO_ASM_DEF_PLACEMENT);
将约束添加到约束数组中,
status = ProArrayObjectAdd((ProArray*)&constraints,-1,1,&constraint);
status = ProAsmcompConstraintsSet(NULL,&asmcomp,constraints);
2.当装配为坐标系时则需要获取装配子件与父件的坐标系并设置约束信息
其他装配方式大体与该方式相同
(1)根据名称加载坐标系
if(p_type == PRO_MDL_PART)
{
ProStringToWstring(compCsysName,"PRT_CSYS_DEF");
ASSERT_STATUS(status);
}
else
{
ProStringToWstring(compCsysName,"ASM_DEF_CSYS");
}
status = ProModelitemByNameInit ( newModel,PRO_CSYS,compCsysName,&compCsysitem);
也可以遍历特征获得坐标系
(2)获取零件坐标系selection
status = ProSelectionAlloc(NULL,&compCsysitem,&comp_sel);零件
(3)根据c_id_table获取装配父元件坐标系selection
status = ProAsmcomppathInit((ProSolid) parentModel,c_id_table,0,&asmpath);
如果获得组件模型则可以设c_id_table[0]=-1;
status = ProSelectionAlloc(&asmpath,&asmCsysitem,&asm_sel);//!< 组件坐标系
(4)//!<设置约束参照
ProAsmcompconstraintAsmreferenceSet ProAsmcompconstraintCompreferenceSet;
ProAsmcompconstraintTypeSet
ProArrayObjectAdd
ProAsmcompConstraintsSet
最后别忘了释放selection与约束
ProSelectionFree
ProAsmcompconstraintFree
Proe Creo 二次开发之模型装配--缺省与坐标系相关推荐
- Proe Creo 二次开发之模型装配--在指定位置插入模型
//!<激活插入的上一个子件的插入模式 status = ProFeatureInsertModeActivate(&newasmcomp); 将一个子件装配到到指定的零件或组件后面 而 ...
- Proe Creo 二次开发之模型装配--获得装配约束
获取装配约束信息简单,但是获取约束的几何信息就相对麻烦 首先遍历模型的特征获得所有特征类型为PRO_FEAT_COMPONENT的特征, ProAsmcompConstraintsGet()// ...
- creo二次开发python_使用C#/.net语言进行ProE/Creo二次开发
随便哪个版本的Visual studio 设置系统环境变量 通常这个环境变量在安装ProE的时候如果选择安装VBAPI就会自动设置 注意32位和64位操作系统路径是不同的.我的是64位操作系统. 然后 ...
- Proe Creo 二次开发之修改模型中的草绘模型--特征元素树
[1]通过调用二次开发接口ProSolidFeatVisit(),获得模型的草绘特征. [2]通过二次开发接口ProFeatureElemtreeCreate()获得草绘特征元素树. [3]获得草绘特 ...
- Proe Creo 二次开发之计算两个模型之间的干涉信息
计算两个模型的干涉情况, (1)通过promdlInit初始化得到两个模型 (2)根据两个模型在装备树中的位置得到 proselection (3)通过干涉接口计算干涉信息 (4)高亮干涉信息 Pro ...
- Proe Creo 二次开发之动态干涉检查 调研
ProAnimMovie object ProSingleAnim object animation 运动 ProAnimobjectCreate() ProAnimframeCreate() PRO ...
- Proe Creo 二次开发之获得阵列组信息
1.ProSolidFeatVisit遍历特征获取所有特征 2.遍历响应函数:过滤出阵列组特征 if(p_f_type == PRO_FEAT_PATTERN_HEAD){ProGrppatternS ...
- ProE二次开发 Creo二次开发 MCADEx Tools 免费工具QQ群 156242985
ProE二次开发 Creo二次开发 MCADEx Tools 免费工具QQ群 156242985 转载于:https://www.cnblogs.com/esdtech/p/4199884.html
- phpcms v9二次开发之模型类的应用(1)
在<phpcms二次开发之模型类model.class.php>中讲到了模型类的建立方法,接下来我讲一下模型类的应用. 前段时间我基于phpcms v9开发了一个足球网.足球网 ...
最新文章
- mybatis pagehelper实现分页
- HTML中button怎么填充GIF,css3给按钮添加背景渐变动画
- linux中文变成日文,linux nkf 日文编码转换命令[转载]
- 职称最新消息:2022年开始湖北全面实行职称电子证书
- 考研英语从句详细总结
- 室内三维物体识别与姿态估计--背景
- springboot项目日志记录访问客户端ip地址
- TYPEC 转HDMI VGA+PD+ USB3.0 HUB+TF/CF/SD+RJ45等多功能扩展坞方案设计资料|TYPE-C转HDMI转VGA带PD USB3.0多功能拓展器方案介绍
- 怎么提高mysql多表查询效率_MySQL创建index提高多表查询效率
- 图像处理的仿射变换与透视变换
- 电商项目使用优惠券退款的权重算法
- javascript代码操作记录
- 比特大陆发布首款7nm芯片矿机,力压抢了7nm首发的嘉楠耘智?
- [已解决]报异常java.io.InvalidClassException的解决方法|对象序列化实现Serializable会出现java.io.InvalidClassException的异常
- 一年中重要的节日列表_一年中所有节日一览表
- html 滚动图片代码
- 整张TF卡备份与烧录:以镜像的方式
- 电子制造业仓库管理常见问题及解决方法
- MATLAB实现一阶RC滤波器
- 一个男性自杀者的遗书
热门文章
- python找出矩阵中的最大值_Python例题:找到并输出矩阵中的最大值
- OPPO R11t_R11st_R11Plust_R11Pluskt_R11sPlust解移动锁
- 16-内存分配与回收策略-对象优先分配Eden+大对象进老年代
- 微信分享接口SDK(前端js和后端php)
- 被物联网卡套路了怎么办,物联卡这几种“套路”要分清了!
- 面向集团客户云计算运营平台的市场情况及产品发展——之云计算运营平台方案(二)
- 安全合规/ISO--2--ISO 27001介绍
- 康涅狄格大学计算机科学排名,康涅狄格大学排名计算机科学,必须注意考察
- cdn服务器pnk_如何搭建自己CDN服务器
- 2022中国科学技术大学计算机考研复试分数线是多少