众所周知,PC-DMIS软件拥有强大的CAD图形操作功能,今天我们就是讲述关于PC-DMIS软件CAD图形窗口的二次开发。
如上图所示,这是关于曲面点T值的测量界面,右面CAD窗口中显示的是测量点位置和名称。但日常使用中特别是一些从事电极测量的量友,经常要在电极上测量很多的点,造成CAD窗口显示混乱繁复,不利于我们查看数据,而本章介绍的实例就是要从根本上解决这个问题,用T值实测值判断,根据个人需要选择显示合格或不合格的图形标识。
闲话少说,关于C++的基础操作此处不作介绍,对此还不熟悉的朋友请参照《PC-DMIS二次开发教程(C++版)》的相关章节。
第1步:当然是制作软件界面,如下图:
第2步:键入代码,此处把关键代码开源及释义:
longNumber1=Pcdcmds.GetCount(); // 取得命令个数 for(l=1;l<=Number1;l++) { Pcdcmd=Pcdcmds.Item(COleVariant(l)); // 连接命令 if(!Pcdcmd.GetIsFeature()) // 如果不是特征命令,下一个 { continue; } PcdfeatCmd=Pcdcmd.GetFeatureCommand();// 连接特征命令 // 取得特征理论坐标 PcdfeatCmd.GetPoint(FPOINT_CENTROID,FDATA_THEO,&THEO_X,&THEO_Y,&THEO_Z); // 取得特征实际测量坐标 PcdfeatCmd.GetPoint(FPOINT_CENTROID,FDATA_MEAS,&MEAS_X,&MEAS_Y,&MEAS_Z); //计算测量元素T值 T=(THEO_X-MEAS_X)* MEAS_I+(THEO_Y-MEAS_Y)*MEAS_J+(THEO_Z-MEAS_Z)* MEAS_K; if (T<0) { T=T*-1; } //当选中只显示合格元素选项时 if (((CButton*)GetDlgItem(IDC_Qualified))->GetCheck()) { if (T //当实测T值小于设定公差时 { Pcdcmd.SetShowIDOnCad(true); } Else//否则 { Pcdcmd.SetShowIDOnCad(false); } } //当选中只显示不合格元素选项时 if (((CButton*)GetDlgItem(IDC_Failed))->GetCheck()) { if (T>T1) //当实测T值大于设定公差时 { Pcdcmd.SetShowIDOnCad(true); } else//否则 { Pcdcmd.SetShowIDOnCad(false); } } |
第3步:按Ctrl+F5键组建并执行,在编辑框设定公差0.05,选择显示合格的点元素标识,测试效果如下图:;
从上图中,我们可以从CAD窗口中清晰看到,开发插件判断只有“点3”T值是合格的,与PC-DMIS评价结果一致。下面我们再可以试试选择显示不合格的点标识进行测试,测试效果如下图:
好了,关于CAD图形标识本章就介绍到这里,但在相关应用中这只是冰山一角,有兴趣的朋友可以在本文的基础上进一步拓展。