3DCoat Python API
The 3DCoat Python API documentation.
|
Static Public Member Functions | |
bool | cmd (str id, any fn=None) |
execute some action in UI as if you pressed on some control | |
bool | wait (str id, float max_seconds) |
wait till the element id will appear in the UI. | |
bool | presentInUI (str id) |
Check if the elemnt present in the UI. | |
highlight (str id, float milliseconds) | |
highlight the UI element for a while | |
enablePenChannel (int i, bool enabled) | |
enable or disable the pen channel | |
bool | isEnabledPenChannel (int i) |
check if the pen channel is enabled | |
bool | setSliderValue (str id, float value) |
Set the value for the the slider (if exists in UI) | |
float | getSliderValue (str id) |
get the value of the slider | |
bool | setEditBoxValue (str id, str value) |
set the edit box value | |
bool | setEditBoxValue (str id, int value) |
set the edit box value | |
bool | setEditBoxValue (str id, float value) |
set the edit box value | |
bool | getEditBoxValue (str id, any result) |
get the edit box value | |
str | getEditBoxValue (str id) |
apply () | |
pess ENTER, acts as Apply usually | |
setFileForFileDialog (str filename) | |
Set the file for the next file dialog that will be triggered by user. | |
bool | getBoolField (str id) |
Get the bool field from the checkbox in UI. | |
bool | setBoolValue (str id, bool value) |
Set the value for the checkbox in UI. | |
str | currentRoom () |
get the current room name | |
bool | isInRoom (str name) |
check if we are in the specified room | |
toRoom (str name, bool Force=False) | |
switch to the room | |
int | roomsCount () |
returns the rooms count | |
str | roomName (int index) |
get the room name by index | |
str | roomID (int index) |
get the text identifier of the room | |
str | getOption (str id) |
get the option from preferences | |
bool | setOption (str id, str value) |
set the value to preferences | |
bool | setOption (str id, bool value) |
bool | setOption (str id, float value) |
hideDontShowAgainMessage (str id) | |
Hides the "Don't show again dialog" for the current session (not forever) | |
showInfoMessage (str infoID, int milliseconds) | |
Show the floating information message for the some time period. | |
insertInMenu (str Menu, str ID_in_menu, str script_path) | |
Insert the scripted command into the main menu. | |
insertInToolset (str roomID, str section, str toolID, str script_path="") | |
Insert the script-based tool into the toolset. | |
removeCommandFromMenu (str ID_in_menu) | |
remove the command from the menu | |
bool | checkIfMenuItemInserted (str ID_in_menu) |
Check if the command inserted somewhere into the menu. | |
addExtension (str roomID, str section, any obj) | |
Add the extension (new tool) into the room. | |
bool | checkIfExtensionPresent (str extension_ID) |
Check if extension named as extension_ID is present in the 3DCoat. | |
addTranslation (str id, str text) | |
Add the translation for the text identifier. | |
str | getIdTranslation (str id) |
Get the translation for the text identifier. | |
str | getCurrentLanguage () |
Get the current language file name (without the XML extension) | |
switchToLanguage (str language) | |
Switch the layout to the language. | |
float | scale () |
returns the scale in comparison to the smallest UI theme | |
str | inputString (str text, int min_length=0) |
input text under the mouse position | |
int | inputInt (int initial_value) |
input the integer value under the mouse position | |
float | inputFloat (float initial_value) |
inputh the float value under the mouse position | |
|
static |
Add the extension (new tool) into the room.
Look the GeneratorExample.py
roomID | roomID the room identifier, same as folders names in Documents/3DCoat/UserPrefs/Rooms/CustomRooms/ |
section | section the section name. This string may be empty to add beyond sections (anyway, at the end) or in any existing section. To get section name, pres RMB+MMB over the section name in the toolset. You will get something like "*Adjust" in the clipboard. The "Adjust" in this case is the section name. |
obj | the object that contains the extension. Look the GeneratorExample.py |
|
static |
Add the translation for the text identifier.
id | the identifier |
text | the translation |
|
static |
pess ENTER, acts as Apply usually
|
static |
Check if extension named as extension_ID is present in the 3DCoat.
extension_ID | the identifier of the extension |
|
static |
Check if the command inserted somewhere into the menu.
ID_in_menu | the ID of the command in the menu, look the list in C:/Users\andre\OneDrive\Documents\3DCoat/UserPrefs\Scripts\ExtraMenuItems\menu_sections.txt it is the english text or the identifier of the command |
|
static |
execute some action in UI as if you pressed on some control
The ID may be taken from the UI by clicking RMB+MMB, then the ID will appear in the clipboard (look Edit->Prferences->General->Script info type). If the element triggers modal dialog, the execution will be paused till the modal dialog will be closed, but the callback will be called each frame in modal dialog, so you will be able to control what happens in the modal dialog.
id | the identifier taken from the UI |
fn | the callback/lambda that will be called each frame till you are within the modal dialog. It looks like def _callback():
cmd("#id_to_press")
...code...
|
|
static |
get the current room name
|
static |
enable or disable the pen channel
i | the channel: 0 - depth, 1 - color, 3 - gloss, 2 - currently unused |
enabled | true to enable |
|
static |
Get the bool field from the checkbox in UI.
id | the element identifier |
|
static |
Get the current language file name (without the XML extension)
|
static |
|
static |
get the edit box value
id | the ID of the element |
result | the string the will get the result |
|
static |
Get the translation for the text identifier.
id | the text identifier |
|
static |
get the option from preferences
id | the identifier of english text of the option |
|
static |
get the value of the slider
id | the ID of the element |
|
static |
Hides the "Don't show again dialog" for the current session (not forever)
id | the identifier, for example "AttachTextureHint", look the currently hidden list as files names in Docs/3DCoat/data/Temp/*.dontshow |
|
static |
highlight the UI element for a while
id | the ID of the element |
milliseconds | the time to highlight, milliseconds |
|
static |
inputh the float value under the mouse position
initial_value | the initial float value |
|
static |
input the integer value under the mouse position
initial_value | the initial integer value |
|
static |
input text under the mouse position
text | the initial text value |
min_length | the minimal width of the input field, if zero passed the width taken from the parent control (if exists) |
|
static |
Insert the scripted command into the main menu.
Menu | One of main menu items, look the list in Documents/3DCoat/UserPrefs/Scripts/ExtraMenuItems/menu_sections.txt |
ID_in_menu | the ID of the command in the menu, it is the english text or the identifier of the command |
script_path | the full or relative path to the script file, if relative, it is relative to the 3DCoat root folder If it comes without path, it is assumed to be in same folder as the script that calls this function. If this parameter is empty, this script will be called. |
|
static |
Insert the script-based tool into the toolset.
roomID | the room identifier, same as folders names in Documents/3DCoat/UserPrefs/Rooms/CustomRooms/ |
section | the section name. This string may be empty to add beyond sections (anyway, at the end) or in any existing section. To get section name, pres RMB+MMB over the section name in the toolset. You will get something like "*Adjust" in the clipboard. The "Adjust" in this case is the section name. |
toolID | the tool identifier, how it will appear in UI. You may provide the text for the identifier using the addTranslation(...) Also, if there is image in the data/Textures/icons64/ named as toolID.png, it will be used as the icon for the tool. |
script_path | the full or relative path to the script file, if relative, it is relative to the 3DCoat root folder If it comes without path, it is assumed to be in same folder as the script that calls this function. If this parameter is empty, this script will be called. |
|
static |
check if the pen channel is enabled
i | the cannel: 0 - depth, 1 - color, 3 - gloss, 2 - currently unused |
|
static |
check if we are in the specified room
name | the room name to check |
|
static |
Check if the elemnt present in the UI.
id | the identifier |
|
static |
remove the command from the menu
ID_in_menu | the ID of the command in the menu, it is the english text or the identifier of the command |
|
static |
get the text identifier of the room
index | the room index |
|
static |
get the room name by index
index | the room index |
|
static |
returns the rooms count
|
static |
returns the scale in comparison to the smallest UI theme
|
static |
Set the value for the checkbox in UI.
id | the element identifier |
value | the value to set |
|
static |
set the edit box value
id | the ID of the element |
value | the value to set |
|
static |
set the edit box value
id | the ID of the element |
value | the value to set |
|
static |
set the edit box value
id | the ID of the element |
value | the value to set |
|
static |
Set the file for the next file dialog that will be triggered by user.
If you will use coat.ui:cmd(...) to trigger some command that shows the file dialog this command allows to substitute the filename for that dialog instead of showing the dialog. This acts only for ONE next dialog.
filename | the filename to substitute. |
|
static |
|
static |
|
static |
set the value to preferences
id | the value identifier or english text |
|
static |
Set the value for the the slider (if exists in UI)
id | the ID of the element |
value | the value to set |
|
static |
Show the floating information message for the some time period.
infoID | the message or message identifier (from language files) |
milliseconds | how ling to display the message |
|
static |
Switch the layout to the language.
language | the language identifier, actually it is the file name (withot the XML extension) in the data/Languages/ folder |
|
static |
switch to the room
name | the room name. Pay attention, you may pass the name or identifier, but name has bigger priory. |
Force | set true to switch even if we are in the tool that corresponds to the destination room |
|
static |
wait till the element id will appear in the UI.
The element will not be clicked. The max wait time is max_seconds.
id | The ID we wait to appear |
max_seconds | the max wait time (seconds) |