空間變化
第一種:圓
?
第二種: 矩形
?
第三種:正五邊形
?
第四種:正六邊形
?
第五種:腰圓
?
算法:
在規則圖形(不包括圓心-直徑法)中,等于或者超過三個點。一般的,利用p1,p2,p3來建立一個用戶坐標系,其中P1作為原點,P2是x方向,P3是Y方向
切入點是從P1與p2的中心進行切入。也就是圖形的激光切割點。
setframe(p1,p2,p3,fframe)
nXradio=distance(p1.trsf,p2.trsf)/2
需要求出所有規則圖形的最大的內切圓的圓心和半徑。
除去引線與打孔點。
圓:4個點 ? ?三角形:5個點 ? 矩形:6個點 ? 五邊形:7個點 ?六邊形:8個點 ? 腰圓:8個點
圓心-直徑法:
R1=Pcenter*{ndiameter/2,0,0,0,0,0}
R2=Pcenter*{0,ndiameter/2,0,0,0,0}
R3=Pcenter*{-ndiameter/2,0,0,0,0,0}
R4=Pcenter*{0,-ndiameter/2,0,0,0,0}
三點法圓:
通過三點法求的外接圓的圓心和直徑,就可以使用圓心-直徑法來獲取。
通過獲取fframe,知道在p1,p2,p3,在{0,0,0,0,0,0},{x2,0,0,0,0,0,0},{x3,y3,0,0,0,0}
由于圓心到三個點的距離相等,可以假設圓心{xc,yc,0,0,0,0} 可求的xc,yc, xc=x2/2, yc=y3*y3+x3*x3-x2x3/2y3,
通過圓心與其中一個點的距離乘以2就獲得直徑,就可以使用圓心-直徑法。
三角形:
都是在fframe中
R1={nxradio/2,0,0,0,0,0}
R2=P2->fframe
R3=P3->fframe
R4=P1->fframe
R5={nxradio/2,0,0,0,0,0}
矩形:
都是在fframe中
R1={nxradio/2,0,0,0,0,0}
R2=P2->fframe
R3=P3->fframe
R4={distance(p2.trsf,p3.trsf),0,0,0,0,0}
R5=P1->frame
R6={nxradio/2,0,0,0,0,0}
五邊形:
都是在fframe中
R1={nxradio/2,0,0,0,0,0}
R2=P2->fframe
R3=P3->fframe
R4={distance(p2.trsf,p3.trsf),0,0,0,0,0}
R5=P1->frame
R6={nxradio/2,0,0,0,0,0}
?
?
六邊形:
都是在fframe中
R1={nxradio/2,0,0,0,0,0}
R2=P2->fframe
R3=P3->fframe
R4={distance(p2.trsf,p3.trsf),0,0,0,0,0}
R5=P1->frame
R6={nxradio/2,0,0,0,0,0}
?
?
腰形孔:
都是在fframe中
R1={nxradio/2,0,0,0,0,0}
R2=P2->fframe
R3=P3->fframe
R4={distance(p2.trsf,p3.trsf),0,0,0,0,0}
R5=P1->frame
R6={nxradio/2,0,0,0,0,0}