VS:PythonExecute

From Vectorworks Developer
Revision as of 23:40, 20 September 2014 by Orso.b.schmid (Talk | contribs)

Jump to: navigation, search

.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix

Description

Execute the given python script.

You can use 'include' in python to run additional code in python files. However, before you execute the script make sure the python file are foundable through the PythonGetSearchPath. Use PythonSetSearchPath to change it.

Note
Scripts executed via this function should not contain User Interactive functions like GetPt for example.
PROCEDURE PythonExecute(
script  :DYNARRAY[] OF CHAR);
def vs.PythonExecute(script):
    return None

Parameters

script DYNARRAY[] of CHAR The script to be executed.

Remarks

You can use PythonExecute to send a Python script to VW via AppleScript
   tell application "BBEdit"
       set thePyScript to contents of front window
       set thePyScriptLines to paragraphs of thePyScript
       set theScript to "
           Procedure RunPython;
           VAR
               pyScript :DYNARRAY [] OF CHAR;
      
           BEGIN
           pyScript := ;
           PythonBeginContext;
   "
       repeat with i from 1 to number of items in thePyScriptLines
           set scriptLine to item i of thePyScriptLines
           set theScript to theScript & "pyScript := Concat(pyScript, '" & scriptLine & "', '" & return & "');" & return
       end repeat
   
       set theScript to theScript & "
           PythonExecute(pyScript);
           PythonEndContext;
           END;
           Run(RunPython);
           "
   end tell
   
   tell application "Vectorworks 2014"
       activate
       DoScript theScript
   end tell

Version

Availability: from Vectorworks 2014

See Also

VS Functions:

VS:PythonGetSearchPath | VS:PythonSetSearchPath

VS Functions:

[[VS:PythonGetSearchPath]]

| [[VS:PythonSetSearchPath]]
Personal tools
NamespacesFFFF

Variants
Actions
Advanced Search
See Also
Navigation
Toolbox