I am using oper.Smart_Start_Point array to set my start point coordinates for my taught feature in FBM. It works great. Unfortunately due to the complexity of my feature type, i cannot set the csys where i want using just faces, edges, or points as described in the help documentation. My feature contains a STEP1HOLE recognized feature as part of the feature topology, but it does not recongize the entire feature using ootb rules. I created a rule based on the STEPS feature type. I have a drilling operation as part of the machining strategy that was taught using this feature type. It drills the STEP1HOLE and then a milling operation finishes the rest of the feature. I am using the smart_start_point array for the start and end point for the milling operation. This works for now.
In most cases, the X/Y/Z_POSITION of the STEP1HOLE is where i want the start and end position for the milling operation to be, not where the feature type csys is positioned by default. What i am trying to do is to SetGlobalStringVariable value of the STEP1HOLE X/Y/Z_POSITION inside the conditions of the drilling operation rule, and GetGlobalStringVariable values inside the milling operation rule. I can then use those values in oper.Smart_Start_Point . So far i cant get the correct syntax working for either SetGlobalStringVariable or GetGlobalStringVariable. Perhaps there is a better way to achieve this using an in-process feature, i am not sure.
Unfortunately i cannot share an image or sample part, but it is very similar to a cylindrical hole going thru an angled surface. Where the hole breakes out to the top surface, there are several contoured faces that form a type of enlarged tapered pocket that does not have a symmetric cross section. The cylindrical hole does not intersect with the top angled surface, so the start point of the STEP1HOLE is below the part surface.
Thanks in advance!
since you say:
"In most cases, the X/Y/Z_POSITION of the STEP1HOLE is where i want the start and end position for the milling operation to be, not where the feature type csys is positioned by default. "
--> Sounds like you can define the feature position by a datum csys on the desired position.
When SetGlobalStringVariable() was introduced, the MKE syntax still required a function result, so this is a typical example:
SetGlobalStringVariable ("Is_alive", "Elvis") > 0
and its counterpart is:
IF GetGlobalStringVariable ("Is_alive") = "Elvis" THEN mwf.MACHINING_RULE = "ToldU"