Jump to content

keep program going if it misses a feature


---
 Share

Recommended Posts

We have two very similar parts that I would like to use one program for, one has a hole on the left and one has a hole on the right. What I would like to do is to program both holes and have the program ignore the missed hole. Is that possible? Is it possible to do this if the probe hits the part where a hole should be? instead of alarming out it just continues to the next feature? This would all be done very slowly with plenty of search distance.

Thanks in advance
Link to comment
Share on other sites

I would create two mini plans. Program both holes. Highlight your characteristics for one of the parts and go to Plan-Mini Plan-Define. Name that plan whatever you'd like. Then highlight the other characteristics for the other part and make another mini plan.
Link to comment
Share on other sites

Please sign in to view this quote.

This is the proper solution for this problem. Turn on "Bore Missing" for the Circle or Cylinder (can be turned on Meas Plan Editor for either, or in "Projection" option with the Circle only.) The "search distance" is the length of travel along axis BEFORE engaging in the direction of the surface. So length along axis relative to measurement start.
IE - If your scan is .050" deep in the bore, you should add .050" + stylus radius + 10% (extra safety factor) and input that value.

If you change the depth of the scan in the strategy at any time, you will need to adjust the depth of the search distance accordingly. Unfortunately you cannot input a formula in this input box or that would be a way to utilize it dynamically.

"Continue at Bore Missing" will enable the inspection plan to continue on after a measurement error. Similar functionality exists for "Material Detection".
Link to comment
Share on other sites

  • 2 weeks later...

Please sign in to view this quote.

With the addition of some PCM conditions, you can use .materialDetected to let the CMM+CALYPSO decide which mini-plan to run for you (or, more importantly, your operators).

This is where a programmer can save a company a lot of money in terms of production time and efficiency/utilization + error proofing for crash prevention.
//	check if part is assembled, establish which version to check and set variables to check assembly
	if getRunID() <> ("PartNum ASSEMBLY") then 		//measure component unless specific assembly Mini-plan was selected
		measure("Point Assy").y
		if getActual("Point Assy").materialDetected == true then
			setRunID("ASSEMBLY")
			setRecordHead("u_OPERATION","COMPONENT PRINT")
			AssyPart = inquireList("ASSEMBLY DETECTED" + cr()+ " Select Part Number","COMPONENT PRINT"," ASSEMBLY PRINT") //force an assembly mini-plan selection if component detected
			if AssyPart == ("ASSEMBLY PRINT")
				setRunID("ASSEMBLY")
				setRecordHead("u_OPERATION","ASSEMBLY")
				setRecordHead("drawingno","PartNumber")
				endif
			endif
		endif
Link to comment
Share on other sites

  • 1 year later...

Please sign in to view this quote.

Thank you Jeffrey.
I guess this is meant to go to pre settings of measurement plan.
But then it will get executed before the first feature of Base Alignment right?
Can it be run just after BA?


if getRunID() <> ("PartNum ASSEMBLY") then 		//measure component unless specific assembly Mini-plan was selected
	measure("Point Assy").y
		if getActual("Point Assy").materialDetected == true then
			setRunID("ASSEMBLY")
		endif
endif
Link to comment
Share on other sites

 Share

×
×
  • Create New...