Zuken.e3 API documentation

# Zuken.e3

View Source

     1# More reliable way of making a COM connection to Zuken
     2# Taken from "https://stackoverflow.com/a/69288053" by Pelelter
     3def dispatch(app_name: str):
     4    try:
     5        from win32com import client
     6        app = client.gencache.EnsureDispatch(app_name)
     7    except AttributeError:
     8        # Corner case dependencies.
     9        import os
    10        import re
    11        import sys
    12        import shutil
    13        # Remove cache and try again.
    14        MODULE_LIST = [m.__name__ for m in sys.modules.values()]
    15        for module in MODULE_LIST:
    16            if re.match(r'win32com\.gen_py\..+', module):
    17                del sys.modules[module]
    18        shutil.rmtree(os.path.join(os.environ.get('LOCALAPPDATA'), 'Temp', 'gen_py'))
    19        from win32com import client
    20        app = client.gencache.EnsureDispatch(app_name)
    21    return app
    22
    23def print(msg, popup=0, item=0):
    24    """
    25    Shorthand for the "PutInfo" method
    26
    27    Args:
    28        msg: Message to display (gets converted to string automatically, so anything works)
    29        popup: Whether to display an additional dialogue or not
    30        item: ID of an item in the project (allows you to jump to it)
    31    """
    32    E3.PutInfo(popup, msg, item)
    33
    34def warn(msg, popup=0, item=0):
    35    """
    36    Shorthand for the "PutWarning" method
    37
    38    Args:
    39        msg: Message to display (gets converted to string automatically, so anything works)
    40        popup: Whether to display an additional dialogue or not
    41        item: ID of an item in the project (allows you to jump to it)
    42    """
    43    E3.PutWarning(popup, msg, item)
    44
    45def error(msg, popup=0, item=0):
    46    """
    47    Shorthand for the "PutError" method
    48
    49    Args:
    50        msg: Message to display (gets converted to string automatically, so anything works)
    51        popup: Whether to display an additional dialogue or not
    52        item: ID of an item in the project (allows you to jump to it)
    53    """
    54    E3.PutError(popup, msg, item)
    55
    56def message(msg, item=0):
    57    """
    58    Shorthand for the "PutMessage" method
    59
    60    Args:
    61        msg: Message to display (gets converted to string automatically, so anything works)
    62        item: ID of an item in the project (allows you to jump to it)
    63    """
    64    E3.PutMessage(msg, item)
    65
    66def verify(msg, popup=0, item=0):
    67    """
    68    Shorthand for the "PutVerify" method
    69
    70    Args:
    71        msg: Message to display (gets converted to string automatically, so anything works)
    72        popup: Whether to display an additional dialogue or not
    73        item: ID of an item in the project (allows you to jump to it)
    74    """
    75    E3.PutVerify(popup, msg, item)
    76
    77E3 = dispatch("CT.Application")
    78"""E3 Object - Links to all instances of the application"""
    79
    80Job = E3.CreateJobObject()
    81"""E3 Job Object - Links to a single instance of the application"""

def dispatch(app_name: str): View Source

     4def dispatch(app_name: str):
     5    try:
     6        from win32com import client
     7        app = client.gencache.EnsureDispatch(app_name)
     8    except AttributeError:
     9        # Corner case dependencies.
    10        import os
    11        import re
    12        import sys
    13        import shutil
    14        # Remove cache and try again.
    15        MODULE_LIST = [m.__name__ for m in sys.modules.values()]
    16        for module in MODULE_LIST:
    17            if re.match(r'win32com\.gen_py\..+', module):
    18                del sys.modules[module]
    19        shutil.rmtree(os.path.join(os.environ.get('LOCALAPPDATA'), 'Temp', 'gen_py'))
    20        from win32com import client
    21        app = client.gencache.EnsureDispatch(app_name)
    22    return app

def print(msg, popup=0, item=0): View Source

    24def print(msg, popup=0, item=0):
    25    """
    26    Shorthand for the "PutInfo" method
    27
    28    Args:
    29        msg: Message to display (gets converted to string automatically, so anything works)
    30        popup: Whether to display an additional dialogue or not
    31        item: ID of an item in the project (allows you to jump to it)
    32    """
    33    E3.PutInfo(popup, msg, item)

Shorthand for the "PutInfo" method

###### Arguments:

- msg: Message to display (gets converted to string automatically, so anything works)
- popup: Whether to display an additional dialogue or not
- item: ID of an item in the project (allows you to jump to it)

def warn(msg, popup=0, item=0): View Source

    35def warn(msg, popup=0, item=0):
    36    """
    37    Shorthand for the "PutWarning" method
    38
    39    Args:
    40        msg: Message to display (gets converted to string automatically, so anything works)
    41        popup: Whether to display an additional dialogue or not
    42        item: ID of an item in the project (allows you to jump to it)
    43    """
    44    E3.PutWarning(popup, msg, item)

Shorthand for the "PutWarning" method

###### Arguments:

- msg: Message to display (gets converted to string automatically, so anything works)
- popup: Whether to display an additional dialogue or not
- item: ID of an item in the project (allows you to jump to it)

def error(msg, popup=0, item=0): View Source

    46def error(msg, popup=0, item=0):
    47    """
    48    Shorthand for the "PutError" method
    49
    50    Args:
    51        msg: Message to display (gets converted to string automatically, so anything works)
    52        popup: Whether to display an additional dialogue or not
    53        item: ID of an item in the project (allows you to jump to it)
    54    """
    55    E3.PutError(popup, msg, item)

Shorthand for the "PutError" method

###### Arguments:

- msg: Message to display (gets converted to string automatically, so anything works)
- popup: Whether to display an additional dialogue or not
- item: ID of an item in the project (allows you to jump to it)

def message(msg, item=0): View Source

    57def message(msg, item=0):
    58    """
    59    Shorthand for the "PutMessage" method
    60
    61    Args:
    62        msg: Message to display (gets converted to string automatically, so anything works)
    63        item: ID of an item in the project (allows you to jump to it)
    64    """
    65    E3.PutMessage(msg, item)

Shorthand for the "PutMessage" method

###### Arguments:

- msg: Message to display (gets converted to string automatically, so anything works)
- item: ID of an item in the project (allows you to jump to it)

def verify(msg, popup=0, item=0): View Source

    67def verify(msg, popup=0, item=0):
    68    """
    69    Shorthand for the "PutVerify" method
    70
    71    Args:
    72        msg: Message to display (gets converted to string automatically, so anything works)
    73        popup: Whether to display an additional dialogue or not
    74        item: ID of an item in the project (allows you to jump to it)
    75    """
    76    E3.PutVerify(popup, msg, item)

Shorthand for the "PutVerify" method

###### Arguments:

- msg: Message to display (gets converted to string automatically, so anything works)
- popup: Whether to display an additional dialogue or not
- item: ID of an item in the project (allows you to jump to it)

E3 = <win32com.gen_py.E3.series 2022.2301 Type Library.IApplicationInterface instance>

E3 Object - Links to all instances of the application

Job = <win32com.gen_py.E3.series 2022.2301 Type Library.IJobInterface instance>

E3 Job Object - Links to a single instance of the application