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 …
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
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.
Use MicroStation's Python Manager to find and execute the script.
Post questions about MicroStation programming to the MicroStation Programming Forum.