Remote API functions (C/C++)

simxAddStatusbarMessage

Description Adds a message to the status bar.
C/C++
synopsis
simxInt simxAddStatusbarMessage(simxInt clientID,const simxChar* message,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
message: the message to display
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxAppendStringSignal

Description DEPRECATED. Refer to simxWriteStringStream instead.

Appends a string to a string signal. If that signal is not yet present, it is added. See also simxSetStringSignal.
C/C++
synopsis
simxInt simxAppendStringSignal(simxInt clientID,const simxChar* signalName,const simxUChar* signalValueToAppend,simxInt signalLength,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValueToAppend: value to append to the signal. That value may contain any value, including embedded zeros.
signalLength: size of the signalValueToAppend string.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxAuxiliaryConsoleClose

Description Closes an auxiliary console window. See also simxAuxiliaryConsoleOpen.
C/C++
synopsis
simxInt simxAuxiliaryConsoleClose(simxInt clientID,simxInt consoleHandle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
consoleHandle: the handle of the console window, previously returned by the simxAuxiliaryConsoleOpen command
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxAuxiliaryConsoleOpen

Description Opens an auxiliary console window for text display. This console window is different from the application main console window. Console window handles are shared across all simulator scenes. See also simxAuxiliaryConsolePrint, simxAuxiliaryConsoleShow and simxAuxiliaryConsoleClose.
C/C++
synopsis
simxInt simxAuxiliaryConsoleOpen(simxInt clientID,const simxChar* title,simxInt maxLines,simxInt mode,simxInt* position,simxInt* size,simxFloat* textColor,simxFloat* backgroundColor,simxInt* consoleHandle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
title: the title of the console window
maxLines: the number of text lines that can be displayed and buffered
mode: bit-coded value. Bit0 set indicates that the console window will automatically close at simulation end, bit1 set indicates that lines will be wrapped, bit2 set indicates that the user can close the console window, bit3 set indicates that the console will automatically be hidden during simulation pause, bit4 set indicates that the console will not automatically hide when the user switches to another scene.
position: the initial position of the console window (x and y value). Can be nullptr
size: the initial size of the console window (x and y value). Can be nullptr
textColor: the color of the text (rgb values, 0-1). Can be nullptr
backgroundColor: the background color of the console window (rgb values, 0-1). Can be nullptr
consoleHandle: pointer to a location receiving the handle of the created console
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxAuxiliaryConsolePrint

Description Prints to an auxiliary console window. See also simxAuxiliaryConsoleOpen.
C/C++
synopsis
simxInt simxAuxiliaryConsolePrint(simxInt clientID,simxInt consoleHandle,const simxChar* txt,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
consoleHandle: the handle of the console window, previously returned by the simxAuxiliaryConsoleOpen command
txt: the text to append, or nullptr to clear the console window
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxAuxiliaryConsoleShow

Description Shows or hides an auxiliary console window. See also simxAuxiliaryConsoleOpen and simxAuxiliaryConsoleClose.
C/C++
synopsis
simxInt simxAuxiliaryConsoleShow(simxInt clientID,simxInt consoleHandle,simxChar showState,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
consoleHandle: the handle of the console window, previously returned by the simxAuxiliaryConsoleOpen command
showState: indicates whether the console should be hidden (0) or shown (!=0)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxCallScriptFunction

Description Remotely calls a CoppeliaSim script function. When calling simulation scripts, then simulation must be running. Refer to this section for additional details.
C/C++
synopsis
simxInt simxCallScriptFunction(simxInt clientID,const simxChar* pathToScript,simxInt scriptHandleOrType,const simxChar* functionName,simxInt inIntCnt,const simxInt* inInt,simxInt inFloatCnt,const simxFloat* inFloat,simxInt inStringCnt,const simxChar* inString,simxInt inBufferSize,const simxUChar* inBuffer,simxInt* outIntCnt,simxInt** outInt,simxInt* outFloatCnt,simxFloat** outFloat,simxInt* outStringCnt,simxChar** outString,simxInt* outBufferSize,simxUChar** outBuffer,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
pathToScript: the path to the scene object where the script is attached to, or an empty string if the script has no associated scene object.
scriptHandleOrType: the handle of the script, otherwise the type of the script:
sim_scripttype_mainscript (0): the main script will be called.
sim_scripttype_childscript (1): a child script will be called.
sim_scripttype_customizationscript (6): a customization script will be called.
functionName: the name of the function to call in the specified script.
inIntCnt (input): the number of input integer values.
inInt (input): the input integer values that are handed over to the script function. Can be nullptr if inIntCnt is zero.
inFloatCnt (input): the number of input floating-point values.
inFloat (input): the input floating-point values that are handed over to the script function. Can be nullptr if inFloatCnt is zero.
inStringCnt (input): the number of input strings.
inString (input): the input strings that are handed over to the script function. Each string should be terminated with one zero char, e.g. "Hello\0World\0". Can be nullptr if inStringCnt is zero.
inBufferSize (input): the size of the input buffer.
inBuffer (input): the input buffer (bytes) that is handed over to the script function. Can be nullptr if inBufferSize is zero.
outIntCnt (output): the number of returned integer values. Can be nullptr.
outInt (output): the returned integer values. The pointer remains valid until the next remote API call. Can be nullptr.
outFloatCnt (output): the number of returned floating-point values. Can be nullptr.
outFloat (output): the returned floating-point values. The pointer remains valid until the next remote API call. Can be nullptr.
outStringCnt (output): the number of returned strings. Can be nullptr.
outString (output): the returned strings. Each string is terminated with the zero char. The pointer remains valid until the next remote API call. Can be nullptr.
outBufferSize (output): the size of the returned buffer. Can be nullptr.
outBuffer (output): the returned buffer (bytes). The pointer remains valid until the next remote API call. Can be nullptr.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxCheckCollision

Description Checks whether two entities collide.
C/C++
synopsis
simxInt simxCheckCollision(simxInt clientID,simxInt entity1,simxInt entity2,simxUChar* collisionState,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
entity1: the handle of the first entity.
entity2: the handle of the second entity.
collisionState: a pointer to a value receiving the collision state (0: not colliding)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxCheckDistance

Description Measures the distance between two entities.
C/C++
synopsis
simxInt simxCheckDistance(simxInt clientID,simxInt entity1,simxInt entity2,simxFloat* minimumDistance,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
entity1: the handle of the first entity.
entity2: the handle of the second entity.
minimumDistance: a pointer to a value receiving the minimum distance.
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxClearFloatSignal

Description Clears a float signal (removes it). See also simxSetFloatSignal, simxClearInt32Signal and simxClearStringSignal.
C/C++
synopsis
simxInt simxClearFloatSignal(simxInt clientID,const simxChar* signalName,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxClearInt32Signal

Description Clears an integer signal (removes it). See also simxSetInt32Signal, simxClearFloatSignal and simxClearStringSignal.
C/C++
synopsis
simxInt simxClearInt32Signal(simxInt clientID,const simxChar* signalName,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxClearStringSignal

Description Clears a string signal (removes it). See also simxSetStringSignal, simxClearInt32Signal and simxClearFloatSignal.
C/C++
synopsis
simxInt simxClearStringSignal(simxInt clientID,const simxChar* signalName,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxCloseScene

Description Closes current scene, and switches to another open scene. If there is no other open scene, a new scene is then created. Should only be called when simulation is not running and is only executed by continuous remote API server services. See also simxLoadScene.
C/C++
synopsis
simxInt simxCloseScene(simxInt clientID,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxCopyPasteObjects

Description Copies and pastes objects, together with all their associated child scripts. To copy and paste whole models, you can simply copy and paste the model base object.
C/C++
synopsis
simxInt simxCopyPasteObjects(simxInt clientID,const simxInt* objectHandles,simxInt objectCount,simxInt** newObjectHandles,simxInt* newObjectCount,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandles: an array containing the handles of the objects to copy
objectCount: the number of handles the above array contains
newObjectHandles: a pointer to a value receiving an array of handles of newly created objects. Individual objects of a new model are not returned, but only the model base. The array remains valid until next remote API function is called.
newObjectCount: a pointer to a value receiving the number of handles the above array contains
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxCreateBuffer

Description Creates a buffer. The buffer needs to be released with simxReleaseBuffer except otherwise explicitly specified. This is a remote API helper function.
C/C++
synopsis
simxUChar* simxCreateBuffer(simxInt bufferSize)
C/C++
parameters
bufferSize: size of the buffer in bytes
C/C++
return value
A pointer to the created buffer
Other languages Python, Matlab

simxCreateDummy

Description Creates a dummy in the scene.
C/C++
synopsis
simxInt simxCreateDummy(simxInt clientID,simxFloat size,const simxUChar* colors,simxInt* dummyHandle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
size: the size of the dummy.
colors: 4*3 bytes (0-255) for ambient_diffuse RGB, 3 reserved values (set to zero), specular RGB and emissive RGB. Can be nullptr for default colors.
dummyHandle: pointer to a value that will receive the dummy handle.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxDisplayDialog

Description Displays a generic dialog box during simulation (and only during simulation!). Use in conjunction with simxGetDialogResult, simxGetDialogInput and simxEndDialog. Use custom user interfaces instead if a higher customization level is required.
C/C++
synopsis
simxInt simxDisplayDialog(simxInt clientID,const simxChar* titleText,const simxChar* mainText,simxInt dialogType,const simxChar* initialText,simxFloat* titleColors,simxFloat* dialogColors,simxInt* dialogHandle,simxInt* uiHandle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
titleText: Title bar text
mainText: Information text
dialogType: a generic dialog style
initialText: Initial text in the edit box if the dialog is of type sim_dlgstyle_input. Cannot be nullptr!
titleColors: Title bar color (6 simxFloat values for RGB for background and foreground), can be nullptr for default colors
dialogColors: Dialog color (6 simxFloat values for RGB for background and foreground), can be nullptr for default colors
dialogHandle: handle of the generic dialog (different from OpenGl-based custom UI handle!! (see hereafter)). This handle should be used with the following functions: simxGetDialogResult, simxGetDialogInput and simxEndDialog.
uiHandle: a pointer to a value accepting the handle of the corresponding OpenGl-based custom UI. Can be nullptr
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxEndDialog

Description Closes and releases resource from a previous call to simxDisplayDialog. Even if the dialog is not visible anymore, you should release resources by using this function (however at the end of a simulation, all dialog resources are automatically released).
C/C++
synopsis
simxInt simxEndDialog(simxInt clientID,simxInt dialogHandle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
dialogHandle: handle of generic dialog (return value of simxDisplayDialog)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxEraseFile

Description Erases a file on the server side. This function is used by several other functions internally (e.g. simxLoadModel). See also simxTransferFile. This is a remote API helper function.
C/C++
synopsis
simxInt simxEraseFile(simxInt clientID,const simxChar* fileName_serverSide,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
fileName_serverSide: the file to erase on the server side. For now, do not specify a path (the file will be erased in the remote API plugin directory)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxFinish

Description Ends the communication thread. This should be the very last remote API function called on the client side. simxFinish should only be called after a successfull call to simxStart. This is a remote API helper function.
C/C++
synopsis
simxVoid simxFinish(simxInt clientID)
C/C++
parameters
clientID: the client ID. refer to simxStart. Can be -1 to end all running communication threads.
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetAndClearStringSignal

Description DEPRECATED. Refer to simxReadStringStream instead.

Gets the value of a string signal, then clears it. Useful to retrieve continuous data from the server. See also simxGetStringSignal.
C/C++
synopsis
simxInt simxGetAndClearStringSignal(simxInt clientID,const simxChar* signalName,simxUChar** signalValue,simxInt* signalLength,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: pointer to a pointer receiving the value of the signal. The signal value will remain valid until next remote API call
signalLength: pointer to a location receiving the value of the signal length, since it may contain any data (also embedded zeros).
operationMode: a remote API function operation mode. Since this function will clear a read signal, and we cannot afford to wait for a reply (well, we could, but that would mean a blocking operation), the function operates in a special mode and should be used as in following example:

// Initialization phase: simxUChar* signal; simxInt sLength; simxGetAndClearStringSignal(cid,"sig",&signal,&sLength,simx_opmode_streaming); // while we are connected: while (simxGetConnectionId(cid)!=-1) { if (simxGetAndClearStringSignal(cid,"sig",&signal,&sLength,simx_opmode_buffer)== simx_return_ok) { // A signal was retrieved! // Enable streaming again (was automatically disabled with the positive event): simxGetAndClearStringSignal(cid,"sig",&signal,&sLength,simx_opmode_streaming); } .. }
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetArrayParam

Description Retrieves 3 values from an array. See the array parameter identifiers. See also simxSetArrayParam, simxGetBoolParam, simxGetInt32Param, simxGetFloatParam and simxGetStringParam.
C/C++
synopsis
simxInt simxGetArrayParam(simxInt clientID,simxInt paramIdentifier,simxFloat* paramValues,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: an array parameter identifier
paramValues: a pointer to 3 values that will receive the parameters
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking (if not called on a regular basis)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetBoolParam

Description Retrieves a bool value. See the bool parameter identifiers. See also simxSetBoolParam, simxGetInt32Param, simxGetFloatParam, simxGetArrayParam and simxGetStringParam.
C/C++
synopsis
simxInt simxGetBoolParam(simxInt clientID,simxInt paramIdentifier,simxUChar* paramValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: a bool parameter identifier
paramValue: a pointer that will receive the parameter value
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking (if not called on a regular basis)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetCollectionHandle

Description This is a convenience function. Since CoppeliaSim V4.2.0, collections should be dynamically created and do not have a name anymore. This function will first try to retrieve a static collection with the specified name (for backward compatibility's sake). If such a collection does not exist, it will try to return the integer signal with the specified name. On CoppeliaSim's side, one could do: local collectionHandle=sim.createCollection(0) sim.addItemToCollection(collectionHandle,..) .. sim.setInt32Signal('collectionName',collectionHandle)
C/C++
synopsis
simxInt simxGetCollectionHandle(simxInt clientID,const simxChar* collectionName,simxInt* handle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
collectionName: name of the collection.
handle: pointer to a value that will receive the handle
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetCollisionHandle

Description DEPRECATED. see simxCheckCollision instead.
C/C++
synopsis
simxInt simxGetCollisionHandle(simxInt clientID,const simxChar* collisionObjectName,simxInt* handle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
collisionObjectName: name of the collision object.
handle: pointer to a value that will receive the handle
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetConnectionId

Description Returns the ID of the current connection. Use this function to track the connection state to the server. See also simxStart. This is a remote API helper function.
C/C++
synopsis
simxInt simxGetConnectionId(simxInt clientID)
C/C++
parameters
clientID: the client ID. refer to simxStart.
C/C++
return value
a connection ID, or -1 if the client is not connected to the server. Different connection IDs indicate temporary disconections in-between.
Other languages Python, Java, Matlab, Octave

simxGetDialogInput

Description Queries the text the user entered into a generic dialog box of style sim_dlgstyle_input. To be used after simxDisplayDialog was called and after simxGetDialogResult returned sim_dlgret_ok.
C/C++
synopsis
simxInt simxGetDialogInput(simxInt clientID,simxInt dialogHandle,simxChar** inputText,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
dialogHandle: handle of generic dialog (return value of simxDisplayDialog)
inputText: pointer to a pointer receiving the string the user entered. The pointer is valid until another remote API function is called.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetDialogResult

Description Queries the result of a dialog box. To be used after simxDisplayDialog was called.
C/C++
synopsis
simxInt simxGetDialogResult(simxInt clientID,simxInt dialogHandle,simxInt* result,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
dialogHandle: handle of generic dialog (return value of simxDisplayDialog)
result: pointer receiving the result value.

Note. If the return value is sim_dlgret_still_open, the dialog was not closed and no button was pressed. Otherwise, you should free resources with simxEndDialog (the dialog might not be visible anymore, but is still present)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetDistanceHandle

Description DEPRECATED. see simxCheckDistance instead.
C/C++
synopsis
simxInt simxGetDistanceHandle(simxInt clientID,const simxChar* distanceObjectName,simxInt* handle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
distanceObjectName: name of the distance object.
handle: pointer to a value that will receive the handle
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetFloatParam

Description Retrieves a floating point value. See the floating-point parameter identifiers. See also simxSetFloatParam, simxGetBoolParam, simxGetInt32Param, simxGetArrayParam and simxGetStringParam.
C/C++
synopsis
simxInt simxGetFloatParam(simxInt clientID,simxInt paramIdentifier,simxFloat* paramValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
paramValue: a pointer that will receive the parameter value
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking (if not called on a regular basis)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetFloatSignal

Description Gets the value of a float signal. Signals are cleared at simulation start. See also simxSetFloatSignal, simxClearFloatSignal, simxGetInt32Signal and simxGetStringSignal.
C/C++
synopsis
simxInt simxGetFloatSignal(simxInt clientID,const simxChar* signalName,simxFloat* signalValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: pointer to a location receiving the value of the signal
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetInMessageInfo

Description
Retrieves information about the last received message from the server. This is a remote API helper function. See also simxGetOutMessageInfo.

If the client didn't receive any command reply from the server for a while, the data retrieved with this function won't be up-to-date. In order to avoid this, you should start at least one streaming command, which will guarantee regular message income.
C/C++
synopsis
simxInt simxGetInMessageInfo(simxInt clientID,simxInt infoType,simxInt* info)
C/C++
parameters
clientID: the client ID. refer to simxStart.
info: pointer to a simxInt value receiving the requested information
C/C++
return value
-1 in case of an error
Other languages Python, Java, Matlab, Octave

simxGetInt32Param

Description Retrieves an integer value. See the integer parameter identifiers. See also simxSetInt32Param, simxGetBoolParam, simxGetFloatParam, simxGetArrayParam and simxGetStringParam.
C/C++
synopsis
simxInt simxGetInt32Param(simxInt clientID,simxInt paramIdentifier,simxInt* paramValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: an integer parameter identifier
paramValue: a pointer that will receive the parameter value
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking (if not called on a regular basis)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetInt32Signal

Description Gets the value of an integer signal. Signals are cleared at simulation start. See also simxSetInt32Signal, simxClearInt32Signal, simxGetFloatSignal and simxGetStringSignal.
C/C++
synopsis
simxInt simxGetInt32Signal(simxInt clientID,const simxChar* signalName,simxInt* signalValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: pointer to a location receiving the value of the signal
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetJointForce

Description Retrieves the force or torque applied to a joint along/about its active axis. This function retrieves meaningful information only if the joint is prismatic or revolute, and is dynamically enabled. With the Bullet engine, this function returns the force or torque applied to the joint motor (torques from joint limits are not taken into account). With the ODE or Vortex engine, this function returns the total force or torque applied to a joint along/about its z-axis. See also simxSetJointMaxForce, simxReadForceSensor and simxGetObjectGroupData.
C/C++
synopsis
simxInt simxGetJointForce(simxInt clientID,simxInt jointHandle,simxFloat* force,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
force: the force or the torque applied to the joint along/about its z-axis
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetJointMaxForce

Description Retrieves the maximum force the joint is able to exert. See also simxSetJointMaxForce and simxGetJointForce.
C/C++
synopsis
simxInt simxGetJointMaxForce(simxInt clientID,simxInt jointHandle,simxFloat* force,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
force: the maximum force the joint can exert
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetJointMatrix

Description Retrieves the intrinsic transformation matrix of a joint (the transformation caused by the joint movement). See also simxSetSphericalJointMatrix.
C/C++
synopsis
simxInt simxGetJointMatrix(simxInt clientID,simxInt jointHandle,simxFloat* matrix,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
matrix: pointer to 12 simxFloat values. See the regular API equivalent function for details
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetJointPosition

Description Retrieves the intrinsic position of a joint. This function cannot be used with spherical joints (use simxGetJointMatrix instead). See also simxSetJointPosition and simxGetObjectGroupData.
C/C++
synopsis
simxInt simxGetJointPosition(simxInt clientID,simxInt jointHandle,simxFloat* position,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
position: intrinsic position of the joint. This is a one-dimensional value: if the joint is revolute, the rotation angle is returned, if the joint is prismatic, the translation amount is returned, etc.
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetLastCmdTime

Description
Retrieves the simulation time of the last fetched command (i.e. when the last fetched command was processed on the server side). The function can be used to verify how "fresh" a command reply is, or whether a command reply was recently updated. For example:

if (simxGetVisionSensorImage(cid,handle,res,&img,0,sim_opmode_buffer)==simx_return_ok) imageAcquisitionTime=simxGetLastCmdTime(cid);
If some streaming commands are running, simxGetLastCmdTime will always retrieve the current simulation time, otherwise, only the simulation time of the last command that retrieved data from CoppeliaSim. This is a remote API helper function.
C/C++
synopsis
simxInt simxGetLastCmdTime(simxInt clientID)
C/C++
parameters
clientID: the client ID. refer to simxStart.
C/C++
return value
The simulation time in milliseconds when the command reply was generated, or 0 if simulation was not running.
Other languages Python, Java, Matlab, Octave

simxGetLastErrors

Description Retrieves the last 50 errors that occured on the server side, and clears the error buffer there. Only errors that occured because of this client will be reported.
C/C++
synopsis
simxInt simxGetLastErrors(simxInt clientID,simxInt* errorCnt,simxChar** errorStrings,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
errorCnt: pointer receiving the number of error strings returned
errorStrings: pointer to a string pointer receiving the address of an error string (individual strings are separated by a zero character). The address is valid until next remote API function is called
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls) when not debugging. For debugging purposes, use simx_opmode_blocking.
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetModelProperty

Description Retrieves the properties of a model. See also simxSetModelProperty.
C/C++
synopsis
simxInt simxGetModelProperty(simxInt clientID,simxInt objectHandle,simxInt* prop,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
prop: pointer to a location receiving the model property value
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls), or simx_opmode_blocking (depending on the intended usage)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjectChild

Description Retrieves the handle of an object's child object. See also simxGetObjectParent.
C/C++
synopsis
simxInt simxGetObjectChild(simxInt clientID,simxInt parentObjectHandle,simxInt childIndex,simxInt* childObjectHandle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
parentObjectHandle: handle of the object
childIndex: zero-based index of the child's position. To retrieve all children of an object, call the function by increasing the index until the child handle is -1
childObjectHandle: pointer to a value receiving the handle of the child object. If the value is -1, there is no child at the given index
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjectFloatParameter

Description Retrieves a floating-point parameter of a object. See also simxSetObjectFloatParameter and simxGetObjectIntParameter.
C/C++
synopsis
simxInt simxGetObjectFloatParameter(simxInt clientID,simxInt objectHandle,simxInt parameterID,simxFloat* parameterValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
parameterID: identifier of the parameter to retrieve. See the list of all possible object parameter identifiers
parameterValue: pointer to a location that will receive the value of the parameter
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls), or simx_opmode_blocking (depending on the intended usage)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjectGroupData

Description Simultaneously retrieves data of various objects in a CoppeliaSim scene.
C/C++
synopsis
simxInt simxGetObjectGroupData(simxInt clientID,simxInt objectType,simxInt dataType,simxInt* handlesCount,simxInt** handles,simxInt* intDataCount,simxInt** intData,simxInt* floatDataCount,simxFloat** floatData,simxInt* stringDataCount,simxChar** stringData,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectType: a scene object type, sim_appobj_object_type for all scene objects, or a collection handle.
dataType: the type of data that is desired:
0: retrieves the object names (deprecated. See further down)
1: retrieves the object types (in intData)
2: retrieves the parent object handles (in intData)
3: retrieves the absolute object positions (in floatData. There are 3 values for each object (x,y,z))
4: retrieves the local object positions (in floatData. There are 3 values for each object (x,y,z))
5: retrieves the absolute object orientations as Euler angles (in floatData. There are 3 values for each object (alpha,beta,gamma))
6: retrieves the local object orientations as Euler angles (in floatData. There are 3 values for each object (alpha,beta,gamma))
7: retrieves the absolute object orientations as quaternions (in floatData. There are 4 values for each object (qx,qy,qz,qw))
8: retrieves the local object orientations as quaternions (in floatData. There are 4 values for each object (qx,qy,qz,qw))
9: retrieves the absolute object positions and orientations (as Euler angles) (in floatData. There are 6 values for each object (x,y,z,alpha,beta,gamma))
10: retrieves the local object positions and orientations (as Euler angles) (in floatData. There are 6 values for each object (x,y,z,alpha,beta,gamma))
11: retrieves the absolute object positions and orientations (as quaternions) (in floatData. There are 7 values for each object (x,y,z,qx,qy,qz,qw))
12: retrieves the local object positions and orientations (as quaternions) (in floatData. There are 7 values for each object (x,y,z,qx,qy,qz,qw))
13: retrieves proximity sensor data (in intData (2 values): detection state, detected object handle. In floatData (6 values): detected point (x,y,z) and detected surface normal (nx,ny,nz))
14: retrieves force sensor data (in intData (1 values): force sensor state. In floatData (6 values): force (fx,fy,fz) and torque (tx,ty,tz))
15: retrieves joint state data (in floatData (2 values): position, force/torque)
16: retrieves joint properties data (in intData (2 values): joint type, joint mode (bit16=hybid operation). In floatData (2 values): joint limit low, joint range (-1.0 if joint is cyclic))
17: retrieves the object linear velocity (in floatData. There are 3 values for each object (vx,vy,vz))
18: retrieves the object angular velocity as Euler angles per seconds (in floatData. There are 3 values for each object (dAlpha,dBeta,dGamma))
19: retrieves the object linear and angular velocity (in floatData. There are 6 values for each object (vx,vy,vz,dAlpha,dBeta,dGamma))
20: retrieves the object aliases (in stringData.)
21: retrieves the object paths (in stringData.)
handlesCount (output): the number of returned object handles. Can be nullptr.
handles (output): the object handles. The pointer remains valid until the next remote API call. Can be nullptr.
intDataCount (output): the number of returned integer values. Can be nullptr.
intData (output): the integer values. The pointer remains valid until the next remote API call. Can be nullptr.
floatDataCount (output): the number of returned float values. Can be nullptr.
floatData (output): the float values. The pointer remains valid until the next remote API call. Can be nullptr.
stringDataCount (output): the number of returned strings. Can be nullptr.
stringData (output): the strings. Each string is separated by the zero char ('\0'). The pointer remains valid until the next remote API call. Can be nullptr.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking or simx_opmode_streaming.
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjectHandle

Description Retrieves an object handle based on its path and alias.
C/C++
synopsis
simxInt simxGetObjectHandle(simxInt clientID,const simxChar* objectPath,simxInt* handle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectPath: the path of the object. See the section on accessing scene objects for details.
handle: pointer to a value that will receive the handle
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjectIntParameter

Description Retrieves an integer parameter of a object. See also simxSetObjectIntParameter and simxGetObjectFloatParameter.
C/C++
synopsis
simxInt simxGetObjectIntParameter(simxInt clientID,simxInt objectHandle,simxInt parameterID,simxInt* parameterValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
parameterID: identifier of the parameter to retrieve. See the list of all possible object parameter identifiers
parameterValue: pointer to a location that will receive the value of the parameter
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls), or simx_opmode_blocking (depending on the intended usage)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjectOrientation

Description Retrieves the orientation (Euler angles) of an object. See also simxSetObjectOrientation, simxGetObjectQuaternion,simxGetObjectPosition and simxGetObjectGroupData.
C/C++
synopsis
simxInt simxGetObjectOrientation(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,simxFloat* eulerAngles,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame we want the orientation. Specify -1 to retrieve the absolute orientation, sim_handle_parent to retrieve the orientation relative to the object's parent, or an object handle relative to whose reference frame you want the orientation
eulerAngles: pointer to 3 values receiving the Euler angles (alpha, beta and gamma)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjectParent

Description Retrieves the handle of an object's parent object. See also simxGetObjectChild and simxGetObjectGroupData.
C/C++
synopsis
simxInt simxGetObjectParent(simxInt clientID,simxInt objectHandle,simxInt* parentObjectHandle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
parentObjectHandle: pointer to a value receiving the handle of the parent object. If the value is -1, the object has no parent
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjectPosition

Description Retrieves the position of an object. See also simxSetObjectPosition, simxGetObjectOrientation, simxGetObjectQuaternion and simxGetObjectGroupData.
C/C++
synopsis
simxInt simxGetObjectPosition(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,simxFloat* position,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame we want the position. Specify -1 to retrieve the absolute position, sim_handle_parent to retrieve the position relative to the object's parent, or an object handle relative to whose reference frame you want the position
position: pointer to 3 values receiving the position
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjectQuaternion

Description Retrieves the quaternion of an object. See also simxSetObjectQuaternion.
C/C++
synopsis
simxInt simxGetObjectQuaternion(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,simxFloat* quat,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame we want the quaternion. Specify -1 to retrieve the absolute quaternion, sim_handle_parent to retrieve the quaternion relative to the object's parent, or an object handle relative to whose reference frame you want the quaternion
quat: pointer to 4 values receiving the quaternion (x,y,z,w)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjects

Description Retrieves object handles of a given type, or of all types (i.e. all object handles). See also simxGetObjectGroupData.
C/C++
synopsis
simxInt simxGetObjects(simxInt clientID,simxInt objectType,simxInt* objectCount,simxInt** objectHandles,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectType: object type (sim_object_shape_type, sim_object_joint_type, etc., or sim_handle_all for any type of object
objectCount: pointer to a value that will receive the number of retrieved handles
objectHandles: pointer to a pointer that will receive an object handle array. The array remains valid until next remote API function is called.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjectSelection

Description Retrieves all selected object's handles. See also simxSetObjectSelection.
C/C++
synopsis
simxInt simxGetObjectSelection(simxInt clientID,simxInt** objectHandles,simxInt* objectCount,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandles: pointer to a pointer that will receive an object handle array. The array remains valid until next remote API function is called.
objectCount: pointer to a value that will receive the number of elements in above's array.
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls), or simx_opmode_blocking depending on the intent.
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetObjectVelocity

Description Retrieves the linear and angular velocity of an object. See also simxGetObjectPosition, simxGetObjectOrientation and simxGetObjectGroupData.
C/C++
synopsis
simxInt simxGetObjectVelocity(simxInt clientID,simxInt objectHandle,simxFloat* linearVelocity,simxFloat* angularVelocity,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
linearVelocity: pointer to 3 values receiving the linearVelocity (vx, vy, vz). Can be nullptr.
angularVelocity: pointer to 3 values receiving the angularVelocity (dAlpha, dBeta, dGamma). Can be nullptr.
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetOutMessageInfo

Description
Retrieves information about the next message to send to the server. This is a remote API helper function. See also simxGetInMessageInfo.
C/C++
synopsis
simxInt simxGetOutMessageInfo(simxInt clientID,simxInt infoType,simxInt* info)
C/C++
parameters
clientID: the client ID. refer to simxStart.
info: pointer to a simxInt value receiving the requested information
C/C++
return value
-1 in case of an error
Other languages Python, Java, Matlab, Octave

simxGetPingTime

Description Retrieves the time needed for a command to be sent to the server, executed, and sent back. That time depends on various factors like the client settings, the network load, whether a simulation is running, whether the simulation is real-time, the simulation time step, etc. The function is blocking. This is a remote API helper function.
C/C++
synopsis
simxInt simxGetPingTime(simxInt clientID,simxInt* pingTime)
C/C++
parameters
clientID: the client ID. refer to simxStart.
pingTime: a pointer to a simxInt value accepting the ping time in milliseconds.
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetStringParam

Description Retrieves a string value. See the string parameter identifiers. See also simxGetBoolParam, simxGetInt32Param, simxGetArrayParam and simxGetFloatParam.
C/C++
synopsis
simxInt simxGetStringParam(simxInt clientID,simxInt paramIdentifier,simxChar** paramValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: a string parameter identifier
paramValue: a pointer to a pointer that will receive the string. The string pointer is valid until next remote API function is called.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking (if not called on a regular basis)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetStringSignal

Description Gets the value of a string signal. Signals are cleared at simulation start. See also simxSetStringSignal, simxReadStringStream, simxClearStringSignal, simxGetInt32Signal and simxGetFloatSignal.
C/C++
synopsis
simxInt simxGetStringSignal(simxInt clientID,const simxChar* signalName,simxUChar** signalValue,simxInt* signalLength,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: pointer to a pointer receiving the value of the signal. The signal value will remain valid until next remote API call
signalLength: pointer to a location receiving the value of the signal length, since it may contain any data (also embedded zeros).
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetUIButtonProperty (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxGetUIEventButton (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxGetUIHandle (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxGetUISlider (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxGetVisionSensorDepthBuffer

Description Retrieves the depth buffer of a vision sensor. The returned data doesn't make sense if sim.handleVisionSensor wasn't called previously (sim.handleVisionSensor is called by default in the main script if the vision sensor is not tagged as explicit handling). Use the simxGetLastCmdTime function to verify the "freshness" of the retrieved data. See also simxGetVisionSensorImage.
C/C++
synopsis
simxInt simxGetVisionSensorDepthBuffer(simxInt clientID,simxInt sensorHandle,simxInt* resolution,simxFloat** buffer,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
sensorHandle: handle of the vision sensor
resolution: pointer to 2 simxInt values receiving the resolution of the image
buffer: pointer to a pointer to the depth buffer data. The data remains valid until next remote API function is called (i.e. the data is automatically released). Values are in the range of 0-1 (0=closest to sensor, 1=farthest from sensor).
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxGetVisionSensorImage

Description Retrieves the image of a vision sensor. The returned data doesn't make sense if sim.handleVisionSensor wasn't called previously (sim.handleVisionSensor is called by default in the main script if the vision sensor is not tagged as explicit handling). Use the simxGetLastCmdTime function to verify the "freshness" of the retrieved data. See also simxSetVisionSensorImage, simxGetVisionSensorDepthBuffer and simxReadVisionSensor.
C/C++
synopsis
simxInt simxGetVisionSensorImage(simxInt clientID,simxInt sensorHandle,simxInt* resolution,simxUChar** image,simxUChar options,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
sensorHandle: handle of the vision sensor
resolution: pointer to 2 simxInt values receiving the resolution of the image
image: pointer to a pointer to the image data. The data remains valid until next remote API function is called (i.e. the data is automatically released)
options: image options, bit-coded:
bit0 set: each image pixel is a byte (greyscale image), otherwise each image pixel is a rgb byte-triplet
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxJointGetForce (DEPRECATED)

Description DEPRECATED. See simxGetJointForce instead.
C/C++
synopsis
simxInt simxJointGetForce(simxInt clientID,simxInt jointHandle,simxFloat* force,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
force: the force or the torque applied to the joint along/about its z-axis
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxLoadModel

Description Loads a previously saved model. See also simxLoadScene and simxTransferFile.
C/C++
synopsis
simxInt simxLoadModel(simxInt clientID,const simxChar* modelPathAndName,simxUChar options,simxInt* baseHandle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
modelPathAndName: the model filename, including the path and extension ("ttm"). The file is relative to the client or server system depending on the options value (see next argument)
options: options, bit-coded:
bit0 set: the specified file is located on the client side (in that case the function will be blocking since the model first has to be transferred to the server). Otherwise it is located on the server side
baseHandle: the loaded model base. Can be nullptr.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxLoadScene

Description Loads a previously saved scene. Should only be called when simulation is not running and is only executed by continuous remote API server services. See also simxCloseScene, simxLoadModel, and simxTransferFile.
C/C++
synopsis
simxInt simxLoadScene(simxInt clientID,const simxChar* scenePathAndName,simxUChar options,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
scenePathAndName: the scene filename, including the path and extension ("ttt"). The file is relative to the client or server system depending on the options value (see next argument)
options: options, bit-coded:
bit0 set: the specified file is located on the client side (in that case the function will be blocking since the scene first has to be transferred to the server). Otherwise it is located on the server side
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxLoadUI (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxPauseCommunication

Description Allows to temporarily halt the communication thread from sending data. This can be useful if you need to send several values to CoppeliaSim that should be received and evaluated at the same time. This is a remote API helper function.
C/C++
synopsis
simxInt simxPauseCommunication(simxInt clientID,simxUChar pause)
C/C++
parameters
clientID: the client ID. refer to simxStart.
pause: whether the communication thread should pause or run normally.

Usage example:
simxPauseCommunication(clientID,1); simxSetJointPosition(clientID,joint1Handle,joint1Value,simx_opmode_oneshot); simxSetJointPosition(clientID,joint2Handle,joint2Value,simx_opmode_oneshot); simxSetJointPosition(clientID,joint3Handle,joint3Value,simx_opmode_oneshot); simxPauseCommunication(clientID,0); // Above's 3 joints will be received and set on the CoppeliaSim side at the same time
C/C++
return value
0 in case of operation success.
Other languages Python, Java, Matlab, Octave

simxPauseSimulation

Description Requests a pause of a simulation. See also simxStartSimulation and simxStopSimulation.
C/C++
synopsis
simxInt simxPauseSimulation(simxInt clientID,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
operationMode: a remote API function operation mode. Recommended operation modes for this function is simx_opmode_oneshot.
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxQuery

Description DEPRECATED. Refer to simxCallScriptFunction instead.

Sends a query string to CoppeliaSim, and waits for a reply string. Query and reply strings can be accessed via string signals. This function allows for instance to have a child script, another remote API client or a ROS node handle special requests coming from this remote API client, then send a reply back.

Usage example where a child script handles a request:
// Following is the remote API client side: simxUChar* replyData; simxInt replySize; if (simxQuery(clientID,"request","send me a 42",12,"reply",&replyData,&replySize,5000)==0) printf("The reply is: %s\n",replyData
-- This is the child script side. The child script is non-threaded and -- following part executed at each simulation pass: req=sim.getStringSignal("request") if (req) then sim.clearStringSignal("request") if (req=="send me a 42") then sim.setStringSignal("reply","42\0") -- will be automatically cleared by the client end end
C/C++
synopsis
simxInt simxQuery(simxInt clientID,const simxChar* signalName,const simxUChar* signalValue,simxInt signalLength,const simxChar* retSignalName,simxUChar** retSignalValue,simxInt* retSignalLength,simxInt timeOutInMs)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal that contains the request string
signalValue: pointer to the request string.
signalLength: the size of the request string, since it may contain any data (also embedded zeros).
retSignalName: name of the signal that contains the reply string
retSignalValue: pointer to a pointer receiving the value of the reply string. The string pointer will remain valid until next remote API call
retSignalLength: pointer to a location receiving the value of the reply string length, since it may contain any data (also embedded zeros).
timeOutInMs: the maximum time in milliseconds that the function will wait for a reply.
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxReadCollision

Description DEPRECATED. see simxCheckCollision instead.
C/C++
synopsis
simxInt simxReadCollision(simxInt clientID,simxInt collisionObjectHandle,simxUChar* collisionState,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
collisionObjectHandle: handle of the collision object
collisionState: a pointer to a value receiving the collision state (0: not colliding)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxReadDistance

Description DEPRECATED. see simxCheckDistance instead.
C/C++
synopsis
simxInt simxReadDistance(simxInt clientID,simxInt distanceObjectHandle,simxFloat* minimumDistance,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
distanceObjectHandle: handle of the distance object
minimumDistance: a pointer to a value receiving the minimum distance. If the distance object wasn't handled yet, the distance value will be larger than 1e36.
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxReadForceSensor

Description Reads the force and torque applied to a force sensor (filtered values are read), and its current state ('unbroken' or 'broken'). See also simxGetJointForce and simxGetObjectGroupData.
C/C++
synopsis
simxInt simxReadForceSensor(simxInt clientID,simxInt forceSensorHandle,simxUChar* state,simxFloat* forceVector,simxFloat* torqueVector,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
forceSensorHandle: handle of the force sensor
state: pointer to a byte value receiving the state of the force sensor. Can be nullptr
bit 0 set: force and torque data is available, otherwise it is not (yet) available (e.g. when not enough values are present for the filter)
bit 1 set: force sensor is broken, otherwise it is still intact ('unbroken')
forceVector: pointer to 3 float values receiving the force vector. Can be nullptr
torqueVector: pointer to 3 float values receiving the torque vector. Can be nullptr
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxReadProximitySensor

Description Reads the state of a proximity sensor. This function doesn't perform detection, it merely reads the result from a previous call to sim.handleProximitySensor (sim.handleProximitySensor is called in the default main script). See also simxGetObjectGroupData.
C/C++
synopsis
simxInt simxReadProximitySensor(simxInt clientID,simxInt sensorHandle,simxUChar* detectionState,simxFloat* detectedPoint,simxInt* detectedObjectHandle,simxFloat* detectedSurfaceNormalVector,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
sensorHandle: handle of the proximity sensor
detectionState: pointer to a value receiving the detection state (0=no detection). Can be nullptr.
detectedPoint: pointer to 3 values receiving the detected point coordinates (relative to the sensor reference frame). Can be nullptr.
detectedObjectHandle: pointer to a value receiving the handle of the detected object. Can be nullptr.
detectedSurfaceNormalVector: pointer to 3 values receiving the normal vector (normalized) of the detected surface. Relative to the sensor reference frame. Can be nullptr
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxReadStringStream

Description Gets the value of a string signal, then clears it. Useful to retrieve continuous data from the server. See also simxWriteStringStream.
C/C++
synopsis
simxInt simxReadStringStream(simxInt clientID,const simxChar* signalName,simxUChar** signalValue,simxInt* signalLength,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: pointer to a pointer receiving the value of the signal. The signal value will remain valid until next remote API call
signalLength: pointer to a location receiving the value of the signal length, since it may contain any data (also embedded zeros).
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls). simx_opmode_blocking is forbidden. Use a construction like following in order to continuously exchange data with CoppeliaSim:

Remote API client side: // Initialization phase: simxUChar* signal; simxInt sLength; simxReadStringStream(cid,"toClient",&signal,&sLength,simx_opmode_streaming); // while we are connected: while (simxGetConnectionId(cid)!=-1) { if (simxReadStringStream(cid,"toClient",&signal,&sLength,simx_opmode_buffer)== simx_return_ok) { // Data produced by the child script was retrieved! Send it back to the child script: simxWriteStringStream(cid,"fromClient",signal,sLength,simx_opmode_oneshot); } }
Server side (CoppeliaSim), from a child script: function sysCall_init() -- initialization phase: i=0 lastReceived=-1 end function sysCall_actuation() -- First send a stream of integers that count up: dat=sim.getStringSignal('toClient') if not dat then dat='' end dat=dat..sim.packInt32Table({i}) i=i+1 sim.setStringSignal('toClient',dat) -- Here receive the integer stream in return and check if each number is correct: dat=sim.getStringSignal('fromClient') if dat then sim.clearStringSignal('fromClient') dat=sim.unpackInt32Table(dat) for j=1,#dat,1 do if (dat[j]~=lastReceived+1) then print('Error') else io.write('.') lastReceived=dat[j] end end end end
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxReadVisionSensor

Description Reads the state of a vision sensor. This function doesn't perform detection, it merely reads the result from a previous call to sim.handleVisionSensor (sim.handleVisionSensor is called in the default main script). See also simxGetVisionSensorImage and simxGetObjectGroupData.
C/C++
synopsis
simxInt simxReadVisionSensor(simxInt clientID,simxInt sensorHandle,simxUChar* detectionState,simxFloat** auxValues,simxInt** auxValuesCount,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
sensorHandle: handle of the vision sensor
detectionState: pointer to a byte that receives the detection state (i.e. the trigger state). Can be nullptr
auxValues: by default CoppeliaSim returns one packet of 15 auxiliary values:the minimum of {intensity, red, green, blue, depth value}, the maximum of {intensity, red, green, blue, depth value}, and the average of {intensity, red, green, blue, depth value}. Additional packets can be appended in the vision callback function. AuxValues can be nullptr if auxValuesCount is also nullptr. The user is in charge of releasing the auxValues buffer with simxReleaseBuffer(*auxValues).
auxValuesCount: contains information about the number of auxiliary value packets and packet sizes returned in auxValues. The first value is the number of packets, the second is the size of packet1, the third is the size of packet2, etc. Can be nullptr if auxValues is also nullptr. The user is in charge of releasing the auxValuesCount buffer with simxReleaseBuffer(*auxValuesCount).
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_streaming (the first call) and simx_opmode_buffer (the following calls)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxReleaseBuffer

Description Releases a buffer previously created with simxCreateBuffer or a buffer returned by a remote API function. This is a remote API helper function.
C/C++
synopsis
simxVoid simxReleaseBuffer(simxUChar* buffer)
C/C++
parameters
buffer: buffer to be released
C/C++
return value
Other languages Python, Matlab

simxRemoveModel

Description Removes a model from the scene. See also simxRemoveObject.
C/C++
synopsis
simxInt simxRemoveModel(simxInt clientID,simxInt objectHandle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the model to remove (object should be flagged as model base).
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot (or simx_opmode_blocking)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxRemoveObject

Description Removes a scene object. See also simxRemoveModel.
C/C++
synopsis
simxInt simxRemoveObject(simxInt clientID,simxInt objectHandle,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object to remove
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot (or simx_opmode_blocking)
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxRemoveUI (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxSetArrayParam

Description Sets 3 values of an array parameter. See also simxGetArrayParam, simxSetBoolParam, simxSetInt32Param and simxSetFloatParam.
C/C++
synopsis
simxInt simxSetArrayParam(simxInt clientID,simxInt paramIdentifier,const simxFloat* paramValues,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: an array parameter identifier
paramValues: the array containing the 3 values to set
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetBoolParam

Description Sets a bool parameter. See also simxGetBoolParam, simxSetInt32Param, simxSetArrayParam and simxSetFloatParam.
C/C++
synopsis
simxInt simxSetBoolParam(simxInt clientID,simxInt paramIdentifier,simxUChar paramValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: a bool parameter identifier
paramValue: the parameter value
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetFloatParam

Description Sets a floating point parameter. See also simxGetFloatParam, simxSetBoolParam, simxSetArrayParam and simxSetInt32Param.
C/C++
synopsis
simxInt simxSetFloatParam(simxInt clientID,simxInt paramIdentifier,simxFloat paramValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
paramValue: the parameter value
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetFloatSignal

Description Sets the value of a float signal. If that signal is not yet present, it is added. See also simxGetFloatSignal, simxClearFloatSignal, simxSetInt32Signal and simxSetStringSignal.
C/C++
synopsis
simxInt simxSetFloatSignal(simxInt clientID,const simxChar* signalName,simxFloat signalValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: value of the signal
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetInt32Param

Description Sets an integer parameter. See also simxGetInt32Param, simxSetBoolParam, simxSetArrayParam and simxSetFloatParam.
C/C++
synopsis
simxInt simxSetInt32Param(simxInt clientID,simxInt paramIdentifier,simxInt paramValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
paramIdentifier: an integer parameter identifier
paramValue: the parameter value
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetInt32Signal

Description Sets the value of an integer signal. If that signal is not yet present, it is added. See also simxGetInt32Signal, simxClearInt32Signal, simxSetFloatSignal and simxSetStringSignal.
C/C++
synopsis
simxInt simxSetInt32Signal(simxInt clientID,const simxChar* signalName,simxInt signalValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: value of the signal
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetJointMaxForce

Description Sets the maximum force or torque that a joint can exert. This function has no effect when the joint is not dynamically enabled, or when it is a spherical joint. See also simxGetJointMaxForce and simxGetJointForce.
C/C++
synopsis
simxInt simxSetJointMaxForce(simxInt clientID,simxInt jointHandle,simxFloat force,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
force: the maximum force or torque that the joint can exert
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetJointPosition

Description Sets the intrinsic position of a joint. May have no effect depending on the joint mode. This function cannot be used with spherical joints (use simxSetSphericalJointMatrix instead). If you want to set several joints that should be applied at the exact same time on the CoppeliaSim side, then use simxPauseCommunication. See also simxGetJointPosition and simxSetJointTargetPosition.
C/C++
synopsis
simxInt simxSetJointPosition(simxInt clientID,simxInt jointHandle,simxFloat position,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
position: position of the joint (angular or linear value depending on the joint type)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_oneshot or simx_opmode_streaming
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetJointTargetPosition

Description Sets the target position of a joint if the joint is in torque/force mode (also make sure that the joint's motor and position control are enabled). See also simxSetJointPosition.
C/C++
synopsis
simxInt simxSetJointTargetPosition(simxInt clientID,simxInt jointHandle,simxFloat targetPosition,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
targetPosition: target position of the joint (angular or linear value depending on the joint type)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_oneshot or simx_opmode_streaming
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetJointTargetVelocity

Description Sets the intrinsic target velocity of a non-spherical joint. This command makes only sense when the joint mode is in torque/force mode: the dynamics functionality and the joint motor have to be enabled (position control should however be disabled)
C/C++
synopsis
simxInt simxSetJointTargetVelocity(simxInt clientID,simxInt jointHandle,simxFloat targetVelocity,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
targetVelocity: target velocity of the joint (linear or angular velocity depending on the joint-type)
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_oneshot or simx_opmode_streaming
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetModelProperty

Description Sets the properties of a model. See also simxGetModelProperty.
C/C++
synopsis
simxInt simxSetModelProperty(simxInt clientID,simxInt objectHandle,simxInt prop,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetObjectFloatParameter

Description Sets a floating-point parameter of a object. See also simxGetObjectFloatParameter and simxSetObjectIntParameter.
C/C++
synopsis
simxInt simxSetObjectFloatParameter(simxInt clientID,simxInt objectHandle,simxInt parameterID,simxFloat parameterValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
parameterID: identifier of the parameter to set. See the list of all possible object parameter identifiers
parameterValue: the desired value of the parameter
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetObjectIntParameter

Description Sets an integer parameter of a object. See also simxGetObjectIntParameter and simxSetObjectFloatParameter.
C/C++
synopsis
simxInt simxSetObjectIntParameter(simxInt clientID,simxInt objectHandle,simxInt parameterID,simxInt parameterValue,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
parameterID: identifier of the parameter to set. See the list of all possible object parameter identifiers
parameterValue: the desired value of the parameter
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetObjectOrientation

Description Sets the orientation (Euler angles) of an object. Dynamically simulated objects will implicitely be reset before the command is applied (i.e. similar to calling sim.resetDynamicObject just before). See also simxGetObjectOrientation, simxSetObjectQuaternion and simxSetObjectPosition.
C/C++
synopsis
simxInt simxSetObjectOrientation(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,const simxFloat* eulerAngles,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame the orientation is specified. Specify -1 to set the absolute orientation, sim_handle_parent to set the orientation relative to the object's parent, or an object handle relative to whose reference frame the orientation is specified.
eulerAngles: Euler angles (alpha, beta and gamma)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetObjectParent

Description Sets an object's parent object. See also simxGetObjectParent.
C/C++
synopsis
simxInt simxSetObjectParent(simxInt clientID,simxInt objectHandle,simxInt parentObject,simxUChar keepInPlace,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object that will become child of the parent object. Can be combined with sim_handleflag_assembly, if the two objects can be assembled via a predefined assembly transformation (refer to the assembling option in the object common properties). In that case, parentObject can't be -1, and keepInPlace should be set to false.
parentObject: handle of the object that will become parent, or -1 if the object should become parentless
keepInPlace: indicates whether the object's absolute position and orientation should stay same
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot or simx_opmode_blocking depending on the intent
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetObjectPosition

Description Sets the position of an object. Dynamically simulated objects will implicitely be reset before the command is applied (i.e. similar to calling sim.resetDynamicObject just before). See also simxGetObjectPosition, simxSetObjectQuaternion and simxSetObjectOrientation.
C/C++
synopsis
simxInt simxSetObjectPosition(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,const simxFloat* position,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame the position is specified. Specify -1 to set the absolute position, sim_handle_parent to set the position relative to the object's parent, or an object handle relative to whose reference frame the position is specified.
position: the position values (x, y and z)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetObjectQuaternion

Description Sets the orientation of an object, as quaternion. Dynamically simulated objects will implicitely be reset before the command is applied (i.e. similar to calling sim.resetDynamicObject just before). See also simxGetObjectQuaternion.
C/C++
synopsis
simxInt simxSetObjectQuaternion(simxInt clientID,simxInt objectHandle,simxInt relativeToObjectHandle,const simxFloat* quat,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandle: handle of the object
relativeToObjectHandle: indicates relative to which reference frame the quaternion is specified. Specify -1 to set the absolute quaternion, sim_handle_parent to set the quaternion relative to the object's parent, or an object handle relative to whose reference frame the quaternion is specified.
quat: the quaternion values (x, y, z, w)
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetObjectSelection

Description Sets the selection state for objects. See also simxGetObjectSelection.
C/C++
synopsis
simxInt simxSetObjectSelection(simxInt clientID,const simxInt* objectHandles,simxInt objectCount,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
objectHandles: an array of object handles
objectCount: the number of elements in the array
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot or simx_opmode_blocking depending on the intent.
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetSphericalJointMatrix

Description Sets the intrinsic orientation matrix of a spherical joint object. This function cannot be used with non-spherical joints (use simxSetJointPosition instead). See also simxGetJointMatrix..
C/C++
synopsis
simxInt simxSetSphericalJointMatrix(simxInt clientID,simxInt jointHandle,simxFloat* matrix,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
jointHandle: handle of the joint
matrix: pointer to 12 simxFloat values. See the regular API equivalent function for details
operationMode: a remote API function operation mode. Recommended operation modes for this function are simx_opmode_oneshot or simx_opmode_streaming
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetStringSignal

Description Sets the value of a string signal. If that signal is not yet present, it is added. See also simxWriteStringStream, simxGetStringSignal, simxClearStringSignal, simxSetInt32Signal and simxSetFloatSignal.
C/C++
synopsis
simxInt simxSetStringSignal(simxInt clientID,const simxChar* signalName,const simxUChar* signalValue,simxInt signalLength,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValue: value of the signal (which may contain any value, including embedded zeros)
signalLength: size of the signalValue string.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSetUIButtonLabel (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxSetUIButtonProperty (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxSetUISlider (DEPRECATED)

Description DEPRECATED. Use the Qt-based custom user interfaces, via simxCallScriptFunction instead.

simxSetVisionSensorImage

Description Sets the image of a vision sensor (and applies any image processing, if enabled). Make sure the vision sensor is flagged as use external image.
C/C++
synopsis
simxInt simxSetVisionSensorImage(simxInt clientID,simxInt sensorHandle,simxUChar* image,simxInt bufferSize,simxUChar options,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
sensorHandle: handle of the vision sensor
image: pointer tothe image data
bufferSize: size of the image data
options: image options, bit-coded:
bit0 set: each image pixel is a byte (greyscale image), otherwise each image pixel is a rgb byte-triplet
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxStart

Description Starts a communication thread with the server (i.e. CoppeliaSim). A same client may start several communication threads (but only one communication thread for a given IP and port). This should be the very first remote API function called on the client side. Make sure to start an appropriate remote API server service on the server side, that will wait for a connection. See also simxFinish. This is a remote API helper function.
C/C++
synopsis
simxInt simxStart(const simxChar* connectionAddress,simxInt connectionPort,simxUChar waitUntilConnected,simxUChar doNotReconnectOnceDisconnected,simxInt timeOutInMs,simxInt commThreadCycleInMs)
C/C++
parameters
connectionAddress: the ip address where the server is located (i.e. CoppeliaSim)
connectionPort: the port number where to connect. Specify a negative port number in order to use shared memory, instead of socket communication.
waitUntilConnected: if different from zero, then the function blocks until connected (or timed out).
doNotReconnectOnceDisconnected: if different from zero, then the communication thread will not attempt a second connection if a connection was lost.
timeOutInMs:
if positive: the connection time-out in milliseconds for the first connection attempt. In that case, the time-out for blocking function calls is 5000 milliseconds.
if negative: its positive value is the time-out for blocking function calls. In that case, the connection time-out for the first connection attempt is 5000 milliseconds.
commThreadCycleInMs: indicates how often data packets are sent back and forth. Reducing this number improves responsiveness, and a default value of 5 is recommended.
C/C++
return value
the client ID, or -1 if the connection to the server was not possible (i.e. a timeout was reached). A call to simxStart should always be followed at the end with a call to simxFinish if simxStart didn't return -1
Other languages Python, Java, Matlab, Octave

simxStartSimulation

Description Requests a start of a simulation (or a resume of a paused simulation). This function is only executed by continuous remote API server services. See also simxPauseSimulation and simxStopSimulation.
C/C++
synopsis
simxInt simxStartSimulation(simxInt clientID,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot.
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxStopSimulation

Description Requests a stop of the running simulation. See also simxStartSimulation and simxPauseSimulation.
C/C++
synopsis
simxInt simxStopSimulation(simxInt clientID,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
operationMode: a remote API function operation mode. Recommended operation modes for this function is simx_opmode_oneshot.
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSynchronous

Description Enables or disables the stepped mode for the remote API server service that the client is connected to. The function is blocking. While in stepped mode, the client application is in charge of triggering the next simulation step. Only pre-enabled remote API server services will successfully execute this function. See also simxSynchronousTrigger and this section. This is a remote API helper function.
C/C++
synopsis
simxInt simxSynchronous(simxInt clientID,simxUChar enable)
C/C++
parameters
clientID: the client ID. refer to simxStart.
enable: the enable state of the stepped mode
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxSynchronousTrigger

Description Sends a synchronization trigger signal to the server. The function is blocking. The server needs to be previously enabled for stepped operation via the simxSynchronous function. The trigger signal will inform CoppeliaSim to execute the next simulation step (i.e. to call simHandleMainScript). While in stepped mode, the client application is in charge of triggering the next simulation step, otherwise simulation will stall. See also this section. This is a remote API helper function.
C/C++
synopsis
simxInt simxSynchronousTrigger(simxInt clientID)
C/C++
parameters
clientID: the client ID. refer to simxStart.
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxTransferFile

Description Allows transferring a file from the client to the server. This function is used by several other functions internally (e.g. simxLoadModel). See also simxEraseFile. This is a remote API helper function.
C/C++
synopsis
simxInt simxTransferFile(simxInt clientID,const simxChar* filePathAndName,const simxChar* fileName_serverSide,simxInt timeOut,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
filePathAndName: the local file name and path (i.e. on the client side)
fileName_serverSide: a file name under which the transferred file will be saved on the server side. For now, do not specify a path (the file will be saved in the remote API plugin directory)
timeOut: a timeout value in milliseconds
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_blocking
C/C++
return value
Other languages Python, Java, Matlab, Octave

simxWriteStringStream

Description Appends a string to a string signal. If that signal is not yet present, it is added. See also simxReadStringStream.
C/C++
synopsis
simxInt simxWriteStringStream(simxInt clientID,const simxChar* signalName,const simxUChar* signalValueToAppend,simxInt signalLength,simxInt operationMode)
C/C++
parameters
clientID: the client ID. refer to simxStart.
signalName: name of the signal
signalValueToAppend: value to append to the signal. That value may contain any value, including embedded zeros.
signalLength: size of the signalValueToAppend string.
operationMode: a remote API function operation mode. Recommended operation mode for this function is simx_opmode_oneshot
C/C++
return value
Other languages Python, Java, Matlab, Octave