CAD/CAM/CNC行业常用功能解决方式
进行线切割的时候通常需要得到几何上的点;如何是直线段比较容易,但是对于圆弧、椭圆、曲线就需要调用专用的函数来解决了。 1. 得到Polyline(多义线)信息,多数机器可以加工LINE ARC 遇到Polyline的时候需要炸开进行处理; Private Sub Command1_Click() Dim objid As Long '得到当前文件的第一个图形元素ID,-1代表所有元素 objid = MicroDrawOcx1.GetFirstObject(-1) While objid > 0 '遍历所有元素,循环得到objid '添加处理代码... If MicroDrawOcx1.GetObjectType(objid) = 12 Then MicroDrawOcx1.Explode objid, 0 End If objid = MicroDrawOcx1.GetNextObject(objid) Wend End Sub 2. 炸开所有块(包括块嵌套) Private Sub Command2_Click() Dim objid As Long '得到当前文件的第一个图形元素ID,-1代表所有元素 objid = MicroDrawOcx1.GetFirstObject(-1) While objid > 0 '遍历所有元素,循环得到objid If MicroDrawOcx1.GetObjectType(objid) = 12 Then '多义线 MicroDrawOcx1.Explode objid, 0 ElseIf MicroDrawOcx1.GetObjectType(objid) = 22 Then '块插入 INSERT MicroDrawOcx1.Explode objid, 0 objid = MicroDrawOcx1.GetFirstObject(-1) '炸开块后重新循环,目的是将文件内所有块,包括块嵌套都统统炸开 End If objid = MicroDrawOcx1.GetNextObject(objid) Wend End Sub 3 将相邻的线段圆弧及polyline拟合成polyline 将指定的元素拟合为多一线,可以是选择的元素或者全部元素 CreatePolyByObjectList(long objid, long flag) |
转载于:https://blog.51cto.com/microdraw/1391229