




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海隆欣自动化技术有限公司 弯管机仿真控件使用说明书(V1.0)BendCtrl弯管机仿真控件使用手册上海隆欣自动化技术有限公司版权声明 本用户手册的所有部分,其著作财产权归属上海隆欣自动化技术有限公司(以下简称隆欣自动化)所有,未经隆欣自动化许可,任何人不可任意仿制,拷贝、誊抄或转译。本用户手册没有任何形式的担保,立场表达或其他暗示。若有任何因本用户手册或其所提到之产品的所有信息,所引起的直接或间接的资料流出,利益损失或事业终止,隆欣自动化及其所属员工恕不担负任何责任。第1章 控件接口函数说明提供全部弯管机仿真所需要的接口函数。机床配置文件导入:BOOL APILoadConfigFile(LPCTSTR filepath)参数:filepath机床配置文件bcg文件路径返回值 1:正确 0:错误 功能描述: 导入机床配置文件.例程: (以标准C语言为例说明,下同)视图控制:void APIRestoreView()参数:返回值 无 功能描述: 还原成默认视图,当想看到整个机床整个模型时候调用.例程: (以标准C语言为例说明,下同)void APIISOView()参数:返回值 无 功能描述: 将模型成等测图显示.例程: (以标准C语言为例说明,下同)加工管子的参数:void APISetUpBendParameter(float PipeRadius, float PipeIniExtendLength, float PipeTotalLength)参数:PipeRadius管子半径PipeIniExtendLength 首弯长度,=0PipeTotalLength管长.返回值 无 功能描述: 设定管子的参数.例程: (以标准C语言为例说明,下同)模具参数查询:short APIGetBenderDieNum()参数:返回值 返回当前的模具模层数 功能描述: 当想知道当前机床配置文件有多少层模具时候调用.例程: (以标准C语言为例说明,下同)BOOL APIGetDieParameterByIndex(float FAR* pDieRadius, float FAR* pDieCenterZ, float FAR* pDieThick, short DieIndex);参数:DieIndex 弯曲模层索引,从0开始最大是模具层数减1pDieRadius弯曲模半径pDieCenterZ弯曲模Z向轴心的中点的Z值.pDieThick弯曲模厚度.返回值 1:正确 0:错误 功能描述: 得到某层轮模的参数.例程: (以标准C语言为例说明,下同)模具动态生成(4个步骤):void APISetTotalLengthOfDieAndDie(float totallength)参数:totallength合模长度返回值 功能描述: 当轮模跟夹模合起来时候的轮模中心到夹模最右边的距离.void APIAddDieMoldsBegin()参数:返回值 功能描述: 模具开始创建函数.void APIAddDieMoldOneByOne(float WanQuMoldWidth, float WanQuMoldThich, float WanQuMoldLength, float WanQuMoldMajorRadius, float SuiDongYaMoMoldLength, short DieType)参数:WanQuMoldWidth弯曲模宽度WanQuMoldThich弯曲模厚度WanQuMoldLength弯曲模直线段长度WanQuMoldMajorRadius弯曲模半径SuiDongYaMoMoldLength随动压模长度DieType模具类型,目前为保留值返回值 功能描述: 一层模具的创建.void APIAddDieMoldsEnd()参数:返回值 功能描述: 模具创建结束.例程: (以标准C语言为例说明,下同) (1) APISetTotalLengthOfDieAndDie(float totallength) (2) APIAddDieMoldsBegin() (3)APIAddDieMoldOneByOne-第一层模APIAddDieMoldOneByOne-第二层模APIAddDieMoldOneByOne-第三层模 (4) APIAddDieMoldsEnd()模具小车炮筒以及小车定位:APIGetCannonCenterXYZOfCar(float FAR* pOffsetX, float FAR* pOffsetY, float FAR* pOffsetZ)参数:pOffsetX 炮筒中心轴心线X值,一般为负数.pOffsetY 炮筒离弯曲模那个端面的Y值,一般为负数.pOffsetZ 炮筒中心轴心线Z值,一般为正数.返回值 功能描述: 得到小车炮筒的位置,主要用于开始时候换模具要走得XZ值.而Y值主要定位小车的Y向初始位置.void APISetIniCannonCenterOfCar(float position)参数:position 在开始弯管前,定位小车位置,为炮筒靠近弯曲模那个端面的Y值,一般为负数返回值 功能描述: 在开始弯管前,定位小车位置装配误差:void APISetAssembleError(float error)参数:error装配误差,默认为0.1返回值 功能描述: 由于模型是三角形去描述曲面,所以存在离散误差,该值应该是弯曲模跟夹模合拢时候,不跟管子发生干涉的值.仿真干涉类型:void APISetCollisionMode(short mode)参数:mode干涉类型,0为无干涉,1为干涉时候精度优先,2为干涉时候速度优先通常取2.返回值 功能描述: 用于设定干涉类型.仿真控制:void APIStartSim()参数:返回值 功能描述: 仿真开始void APIPauseSim()参数:返回值 功能描述: 仿真暂停,如果要继续就要调用开始仿真接口void APIStopAndRestSim()参数:返回值 功能描述: 重置仿真.void APISkipCollision(BOOL bIsSkipCollision)参数:返回值 功能描述: 由于干涉产生时候会仿真停下来,所以当调用该函数一次,仿真会前进一步,如果还有干涉那么要接着调用该函数,直到跳出干涉区.void APISetSimulationSpeed(short speed)参数:Speed 仿真速度,从1到100,如果设定为100,那么就是按最大的速度仿真.返回值 功能描述: 设定仿真速度是否有随动:BOOL APIGetHasSuiDong()参数:返回值 1:有随动 0:无随动 功能描述: 用于判断是否当前模型有随动.模型单位:float APIGetMachineModelUnite()参数:返回值 模型单位 功能描述: 机床模型是原始模型缩小的结果,所以机床的很多参数要乘以该系数.加载运动指令文本:BOOL APILoadCommandFile(LPCTSTR path)参数:参数:Path 运动指令文本路径.返回值 1:成功 0:失败 功能描述: 仿真开始第2章 运动指令说明(1)辅夹模的同动,同退的功能 M100 为2个模具同时进 M101 为2个模具同时退(2)夹模辅助运动 M20 夹模进 M21夹模退(3)压模辅助运动 M90 压模进 M91压模退(4)小车夹头状态 M50 小车夹头夹紧 M51 小车夹头松(5)多轴联动YBC的联动功能,可以任意组合,控制指令如下:指令用括号括起来 中间数值用空格格开如:(Y数值 空格B数值空格C数值)三轴同动YBC,次序可以任意写(Y10.0 B20.34 C22.12)2轴同动:YB,YC,BC(B20.34 C22.12)或写成(C22.12 B20.34)第3章 范例参考一个完整VB6.0的例子如下:Private Sub Command1_Click()EndEnd SubPrivate Sub Command2_Click()Dim colimod As Integercolimode = 0Dim speed As Singlespeed = 100Call BendCtrl1.APISetCollisionMode(colimode)Call BendCtrl1.APISetSimulationSpeed(speed)BendCtrl1.APIStartSimEnd SubPrivate Sub Form_Load()BendCtrl1.API_LoadConfigFile (C:bend.bcg)BendCtrl1.APILoadCommandFile (C:command.txt)End Sub一个完整编译YBC到运动控制指令.txt例子如下(务必仔细参考):void CInputtWnd:OnCompile()CMainFrame* pMainWnd = (CMainFrame*)AfxGetMainWnd(); pMainWnd-OnShowSimulationCommandControlBar();CWanQuMold *pWanQuMold = NULL;for(int i = 0; i m_motionobjectsarray.size(); i+)if (g_pSolidView-m_motionobjectsarrayi-m_objectname = wanqumold) pWanQuMold = (CWanQuMold *)g_pSolidView-m_motionobjectsarrayi-pobject; /清除指令 g_pSolidView-m_commands.erase(g_pSolidView-m_commands.begin(), g_pSolidView-m_commands.end() ); g_pSolidView-m_commands.clear(); /下面开始编译指令if (gYBCs.size() 0)g_pSolidView-m_nCurStep = -1;/当前步数g_pSolidView-m_nNextStep = 0;/下一步数g_pSolidView-fGuanCurrentL = g_pSolidView-fGuanTotalL;g_pSolidView-nSimType = -1;float curR = gYBCs0.fR;/管子离YZ平面距离float curZ = pWanQuMold-m_fbasez; /管子离XY平面的距离 m_fbasez为对称平面的距离for (int i = 0; i 0.0)g_pSolidView-m_commands.push_back(cmd);/加入Z的偏移cmd.GType = Z;cmd.fRadius = 0.0;if (i = 0)cmd.fFeedValue = 0.0f;elseint first = -1;/当前程序模层号int second = -1;/下一程序模层号for (int j = 0; j wanqumolds.size(); j+)if (fabs(pWanQuMold-wanqumoldsj.fMajorRadius - gYBCsi.fR) 5e-5)first = j;break;for (j = 0; j wanqumolds.size(); j+)if (fabs(pWanQuMold-wanqumoldsj.fMajorRadius - gYBCsi - 1.fR) m_moldsZBasefirst - pWanQuMold-m_moldsZBasesecond;cmd.fCenx = 0.0;cmd.fCenY = 0.0f;if (cmd.fFeedValue 0.0)g_pSolidView-m_commands.push_back(cmd);/if (i != 0)/随动模回退cmd.GType = M81;g_pSolidView-m_commands.push_back(cmd);if (i != 0)/压模回退cmd.GType = M91;g_pSolidView-m_commands.push_back(cmd);/小车夹紧cmd.GType = M50;g_pSolidView-m_commands.push_back(cmd);/cmd.GType = Y;cmd.fRadius = gYBCsi.fR;cmd.fFeedValue = gYBCsi.fY;if (cmd.fFeedValue 0.0)g_pSolidView-m_commands.push_back(cmd);if (i != 0)/弯曲模回退cmd.GType = M41;g_pSolidView-m_commands.push_back(cmd);cmd.GType = B;cmd.fRadius = gYBCsi.fR;cmd.fFeedValue = gYBCsi.fB;if (cmd.fFeedValue 0.0)g_pSolidView-m_commands.push_back(cmd);/压模靠cmd.GType = M90;g_pSolidView-m_commands.push_back(cmd); /加入夹模头辅助运动cmd.GType = M20;g_pSolidView-m_commands.push_back(cmd); /C指令cmd.GType = C;cmd.fRadius = gYBCsi.fR;cmd.fFeedValue = gYBCsi.fC;cmd.fCenx = gYBCsi.fR - curR;/对于旋转中心对原始位置的偏移cmd.fCenY = 0.0f;if (cmd.fFeedValue 0.0)g_pSolidView-m_commands.push_back(cmd);/加入夹头复位运动cmd.GType = M21;g_pSolidView-m_commands.push_back(cmd);/小车夹紧松cmd.GType = M51;g_pSolidView-m_commands.push_back(cmd);/小车回退cmd.GType = Y;cmd.fRadius = gYBCsi.fR;cmd.fFeedValue = -gYBCsi.fY-10;if (cmd.fFeedValue != 0.0)g_pSolidView-m_commands.push_back(cmd);/end 编译完毕CMainFrame* pMainWnd = (CMainFrame*)AfxGetMainWnd(); CSimBar *pSimBar = pMainWnd-GetSimulationCommandDialogBar();CString csContent;for (i = 0; i m_commands.size(); i+)Command motioncommand = g_pSolidView-m_commandsi;if (motioncommand.GType.Find(M) -1 | motioncommand.GType.Find(m) -1)csContent = csContent + motioncommand.GType +rn;elseCString value;value.Format(%.3frn, motioncommand.fFeedValue); csCon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国发用化妆品行业消费状况及竞争趋势预测报告
- 2025商品学自考试题及答案
- 2024年枣庄职业学院外聘教师招引真题
- 全球生物医药产业市场细分领域政策法规与合规管理研究报告
- 产品质量自检报告
- 2025家政服务员雇佣合同
- 全球工业机器人行业市场动态与2025年行业机遇研究报告
- 全球工业机器人市场应用场景创新与增长策略报告2025
- 医疗知识综合测试:涵盖感染、肿瘤、手术等考点试卷
- 《法律英语》课程教学大纲
- 集团公司石油工程专业化整合重组总体方案
- 现代设计理论与方法(上)
- EP 中文的课件资料
- 碳纤维材料工程检验批质量验收记录表优质资料
- GB/T 95-2002平垫圈C级
- 现代化工绿色化工课件
- 单孔腹腔镜课程讲义课件
- 人工血管动静脉内瘘术后护理课件
- 普通逻辑ppt课件(完整版)
- 《小学语文课程与教学论》复习题
- DB32∕T 4065-2021 建筑幕墙工程技术标准
评论
0/150
提交评论