[Ri...] Posted November 23, 2025 Share Posted November 23, 2025 Hi everyone! I am trying to find out how to re-measure a feature according to a result, for instance, I've created a feature circle "c1" and characteristic "d1" and in the feature "c1" I placed on post-condition a code to check the error form like this: result=getActual("c1").form if result > 0.001 then activateFeature("c1") meausure() end if The idea is: if the result is bigger than 0,001 the measurement of the circle should be perform again, but it doesn't work. I will really apreciate if anyone has an idea how to do this. Thanks in advance// Ricardo Link to comment Share on other sites More sharing options...
[Je...] Posted November 24, 2025 Share Posted November 24, 2025 What you are looking for is a method generally referred to as "retrace" (or re-scan). This is very difficult to accomplish reliably. I am interested to see what our community has come on with on this topic. Link to comment Share on other sites More sharing options...
[Ch...] Posted November 24, 2025 Share Posted November 24, 2025 I would probably follow instructions from the PCM examples in the help manual : Link to comment Share on other sites More sharing options...
[Ch...] Posted November 24, 2025 Share Posted November 24, 2025 also the post adjacent to this at the time of this reply is asking the same question with nearly the same response. Link to comment Share on other sites More sharing options...
[Ri...] Posted November 25, 2025 Author Share Posted November 25, 2025 Please sign in to view this quote. I tried this code but it doesn't work because when I check for instance the form of a diameter and I choose option 3 to re-measure, it evaluates the diameter without measuring the circle again, because the loop is applied to the characteristic, not to the feature. Link to comment Share on other sites More sharing options...
[Ri...] Posted November 25, 2025 Share Posted November 25, 2025 I may be way off target, with PCM can you "Delete Characteristic and Feature actuals" or "Delete actuals" (Delete actuals is for the feature) and force a rerun? Link to comment Share on other sites More sharing options...
[Mi...] Posted November 26, 2025 Share Posted November 26, 2025 Some brief idea would be with the following code in the pre- and post parameter settings of the feature "c1". 2 Link to comment Share on other sites More sharing options...
[Ri...] Posted November 26, 2025 Author Share Posted November 26, 2025 Thank you very much Michael! I will try like this Link to comment Share on other sites More sharing options...
[Ri...] Posted November 27, 2025 Author Share Posted November 27, 2025 Please sign in to view this quote. Hi Richard! I don't know if is possible to delete but maybe is not necessary, when you re-measure, the new values should replace the old one. Link to comment Share on other sites More sharing options...
[Jo...] Posted December 1, 2025 Share Posted December 1, 2025 We just use two characteristics. If a diameter of a bore is out of spec from a simple scan, it un-masks characteristics that re-capture the feature with an intensive long boring scan. Concerning parts just automatically have an extra report page with the intensive scan and graphics. Link to comment Share on other sites More sharing options...
[Se...] Posted Monday at 09:46 PM Share Posted Monday at 09:46 PM (edited) Please sign in to view this quote. Would you be able to share how you did this please? Would save us having to remeasure everything with different outputs on the same features! Edited Monday at 09:47 PM Link to comment Share on other sites More sharing options...
[Jo...] Posted Tuesday at 07:10 PM Share Posted Tuesday at 07:10 PM I declare a global parameter (DoHelixScan = 0) The "Non Intensive Scan" characteristic has postprocessing step that sets the DoHelixScan variable based on its results: Dim7Act = getActual("Dim 7_Dia").actual Dim7Nom = getNominal("Dim 7_Dia").actual Dim7Upper = getNominal("Dim 7_Dia").tolerance.upperTolerance Dim7Lower = getNominal("Dim 7_Dia").tolerance.lowerTolerance if ( (Dim7Act > (Dim7Nom + Dim7Upper)) or (Dim7Act < (Dim7Nom +Dim7Lower)) ) DoHelixScan = 1 display("Helical scan triggered. Dia:", Dim7Act) else DoHelixScan = 0 display("NO helical scan. Dia:", Dim7Act) endif The "Intensive Scan" characteristic has a precondition set to "DoHelixScan == 1" and will only execute if the characteristic is out of tolerance. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in