Python

DgnElementSetTool Enumerations

MicroStation Python class DgnElementSetTool uses several enumerations that are defined for C++. Their definitions and documentation didn't make it into the Python API help.

I've copied them here. You don't need to copy these definitions into your own code. They are available to use, just not documented …

Copied from the MicroStationAPI Help Documentation

enum ElemSource
    eSOURCE_Pick
    eSOURCE_Fence
    eSOURCE_SelectionSet
enum UsesFence
    eUSES_FENCE_Check
    eUSES_FENCE_Required
    eUSES_FENCE_None
enum UsesSelection
    eUSES_SS_Check
    eUSES_SS_Required
    eUSES_SS_None
enum UsesDragSelect
    eUSES_DRAGSELECT_Box
    eUSES_DRAGSELECT_Line
    eUSES_DRAGSELECT_None
enum ClipResult
    eCLIP_RESULT_NotSupported
    eCLIP_RESULT_NewElements,
    eCLIP_RESULT_OriginalElements
enum RefLocateOption
    eREF_LOCATE_Normal = 0
    eREF_LOCATE_SelfAttachment = 1<<0
    eREF_LOCATE_Editable = 1<<1
    eREF_LOCATE_TreatAsElement = 1<<2
enum ErrorNums
    eERROR_NUM_NoFence = 68
    eERROR_NUM_NoFenceElems = 122
    eERROR_NUM_NoFenceElemsOutside = 250
    eERROR_NUM_NoSSElems = 85
    eERROR_NUM_NotSuportedElmType = 609

DgnElementSetTool Enumeration Test

Here is a simple script that demonstrates and tests the above enums …

print(f"ElemSource enum literals: {DgnElementSetTool.ElemSource.eSOURCE_Pick}, {DgnElementSetTool.ElemSource.eSOURCE_Fence}, {DgnElementSetTool.ElemSource.eSOURCE_SelectionSet}")
print(f"UsesFence enum literals: {DgnElementSetTool.UsesFence.eUSES_FENCE_Check}, {DgnElementSetTool.UsesFence.eUSES_FENCE_Required}, {DgnElementSetTool.UsesFence.eUSES_FENCE_None}")
print(f"UsesSelection enum literals: {DgnElementSetTool.UsesSelection.eUSES_SS_Check}, {DgnElementSetTool.UsesSelection.eUSES_SS_Required}, {DgnElementSetTool.UsesSelection.eUSES_SS_None}")
print(f"UsesDragSelect enum literals: {DgnElementSetTool.UsesDragSelect.eUSES_DRAGSELECT_Box}, {DgnElementSetTool.UsesDragSelect.eUSES_DRAGSELECT_Line}, {DgnElementSetTool.eUSES_DRAGSELECT_None}")
print(f"ClipResult enum literals: {DgnElementSetTool.ClipResult.eCLIP_RESULT_NotSupported }, {DgnElementSetTool.ClipResult.eCLIP_RESULT_NewElements }, {DgnElementSetTool.ClipResult.eCLIP_RESULT_OriginalElements }")
print(f"RefLocateOption enum literals: {DgnElementSetTool.RefLocateOption.eREF_LOCATE_Normal  }, {DgnElementSetTool.RefLocateOption.REF_LOCATE_SelfAttachment }, {DgnElementSetTool.RefLocateOption.eREF_LOCATE_Editable  }, {DgnElementSetTool.RefLocateOption.eREF_LOCATE_TreatAsElement   }")

Visit the State Machine examples Download page.

Python Manager

Use MicroStation's Python Manager to find and execute the script.

Questions

Post questions about MicroStation programming to the MicroStation Programming Forum.