Showing results for 
Search instead for 
Do you mean 
Reply
Solved! Go to solution

Tecnomatix .NET API - Setting Complex Parameters?

Hello all,

 

We are trying to set path editor values using the .NET API.

 

Our main goal is to set Base Nr, Tool Nr, and Zone. We would even be okay with a method to copy those columns from one locationoperation to another.

 

 

Using the code provided by DiannaG:

https://community.plm.automation.siemens.com/t5/Tecnomatix-Developer-Forum/How-to-obtain-Circ-Motion...

public void ShowMotionType()
        {
             TxObjectList selectedObjects = TxApplication.ActiveSelection.GetItems();
             if (selectedObjects.Count == 1)
             {
                 ITxRoboticLocationOperation op = selectedObjects[0] as ITxRoboticLocationOperation;
                 if (op != null)
                 {
                     string paramValue = GetDynamicParameter((op.Collection as ITxRoboticOrderedCompoundOperation).Robot.Controller.Name, "Motion Type", op);
                     MessageBox.Show("Motion Type = " + paramValue);
                 }
             }
        }

        public string GetDynamicParameter(string controllername, string columnName, ITxOperation op)
        {
            string paramValue = string.Empty;

            TxOlpControllerUtilities utils = new TxOlpControllerUtilities();
            ITxOlpRobotControllerParametersHandler paramHandler = (ITxOlpRobotControllerParametersHandler)utils.GetInterfaceImplementationFromController(controllername, typeof(ITxOlpRobotControllerParametersHandler), typeof(TxRobotSimulationControllerAttribute), "ControllerName");
            if (paramHandler != null)
            {
                if (paramHandler.HasComplexRepresentation(columnName, op, TxOlpCommandLayerRepresentation.UI))
                {
                    paramValue = paramHandler.GetComplexRepresentation(columnName, op, TxOlpCommandLayerRepresentation.UI);
                }
            }

            return paramValue;
        }

 

We have correctly implemented functions to get text of the current  Base Nr, as well as getting the text for each column of the drop down; using GetComplexComboItems()

 

We just don't see where to SET the parameters, and it doesn't seem like using the standard methods work

eg:

ITxRoboticLocationOperation operation = selectedObjects[0] as ITxRoboticLocationOperation;
TxRoboticIntParam param = new TxRoboticDoubleParam("Base Nr", 0);
operation.SetParameter(param);

Many Thanks,

 

 

2 REPLIES
Solution
Solution
Accepted by topic author DDAuto
‎04-20-2017 08:25 AM

Re: Tecnomatix .NET API - Setting Complex Parameters?

Please use paramHandler.OnComplexValueChanged()

Re: Tecnomatix .NET API - Setting Complex Parameters?

[ Edited ]

I thought that was an event.. I was incorrect.

 

Thank you, very much!