9
« on: April 04, 2007, 12:44:28 PM »
Hi everyone, i'm facing this problem now,this is my 1st time writing a wizard and I've no idea what i'm lacking of. Don't know where to trace the mistake, as it really makes me confusing. This VB wizard does the profiling of a circle, with a arc lead-in function, for a plasma cutting system. I've done the lead-in, and plan to do the lead-out after i've solved this problem. Can someone help me out?
there are 3 inputs, a lead in arc radius, the circle diameter, and a kerf nozzle width.
Dim LeadInArcRad, XLeadInCenter, YLeadInCenter, StartArcAngle, IncArcAngle, EndArcAngle, CircleDiameter, XStartPoint, YStartPoint, XCircleCenter, YCircleCenter, CircleRad, KerfNoz, KerfTool, KerfExtraCompensation
DoOEM Button (169)
PI = 3.1415926535898
Rem Lead-In Arc Circle 90 Degree Variable Radius
LeadInArcRad = Abs(GetOEMDRO (1050))
XLeadInCenter = -1 * (LeadInArcRad + KerfTool + KerfExtraCompensation)
YLeadInCenter = CircleRad
StartArcAngle = (PI / 180) * 0
IncArcAngle = (PI / 180) * 90
EndArcAngle = StartArcAngle + IncArcAngle
Rem Circle 360 Degree Variable Diameter
CircleDiameter=GetOEMDRO (1051)
XStartPoint = -1 * (KerfTool + KerfExtraCompensation)
YStartPoint = CircleRad
XCircleCentre = LeadInArcRad + KerfTool + KerfExtraCompensation
YCircleCentre = 0
CircleRad = CircleDiameter / 2
Rem Nozzle Kerf Compensation
KerfNoz=GetOEMDRO (1052)
KerfTool= KerfNoz / 2
KerfExtraCompensation= 0.05
If LeadInArcRad = 0 Then
setTicker 20, "How big do you want the lead-in radius arc to be?"
Exit Sub
End If
If CircleDiameter = 0 Then
setTicker 20, "I think you have forgotten to fill in the Circle Diameter!"
Exit Sub
End If
If KerfNoz = 0 Then
setTicker 20, "Hmm, what's the kerf nozzle width?"
Exit Sub
End If
Rem ******************End of If Here And If There******************
StartX = Round ((LeadInArcRad + KerfTool)*(Cos (StartArcAngle)) , 4)
StartY = Round ((LeadInArcRad + KerfTool)*(Sin (StartArcAngle)) , 4)
EndX = Round ((LeadInArcRad + KerfTool)*(Cos (EndArcAngle)) , 4)
EndY = Round ((LeadInArcRad + KerfTool)*(Sin (EndArcAngle)) , 4)
If IncArcAngle > 0 Then
G2_3 = "G3"
Else
G2_3 = "G2"
End If
If GetIJMode() Then
ArcLeadInXCenterPOS= XLeadInCenter - (XLeadInCenter + StartX)
ArcLeadInYCenterPOS = YLeadInCenter - (YLeadInCenter + StartY)
Else
ArcLeadInXCenterPOS= XLeadInCenter
ArcLeadInYCenterPOS = YLeadInCenter
End If
OpenTeachFile "CutArc.tap"
If GetUserLED(1003) Then
Code "G20 (Inch)"
Else
Code "G21 (mm)"
End If
Code " G53 G90 G40 F3000 M04 "
Code " F25 "
Nc = 1
Counter = 1
Do
CODE "M03"
CODE " X" & XLeadInCenter + StartX & " Y" & YLeadInCenter + StartY
CODE g2_3 & " X" & XLeadInCenter + EndX & " Y" & YLeadInCenter + EndY & " I" & ArcLeadInXCenterPOS & " J" & ArcLeadInYCenterPOS
CODE g2_3 & " X" & XStartPoint & " Y" & YStartPoint & " I" & XCircleCenter & " J" & YCircleCenter
Nc=Nc+1
Code "M05"
Code "G00 Z20"
Code "G00 X0.0000 Y0.0000"
Code "M30"
CloseTeachFile
Call LoadTeachFile()