@@ -318,7 +318,6 @@ def register():
318318 for cls in DMX .classes_setup :
319319 bpy .utils .register_class (cls )
320320
321- # register key shortcuts
322321 wm = bpy .context .window_manager
323322 km = wm .keyconfigs .addon .keymaps .new (
324323 name = "3D View Generic" , space_type = "VIEW_3D"
@@ -1006,6 +1005,8 @@ def onDisplayLabel(self, context):
10061005 else :
10071006 if self .display_device_label == "NONE" :
10081007 obj .show_name = False
1008+ elif self .display_device_label == "3D_LABEL" :
1009+ obj .show_name = False
10091010 elif self .display_device_label == "NAME" :
10101011 obj .name = f"{ fixture_ .user_fixture_name } "
10111012 obj .show_name = self .enable_device_label
@@ -1024,6 +1025,19 @@ def onDisplayLabel(self, context):
10241025 )
10251026 obj .show_name = self .enable_device_label
10261027
1028+ if obj .get ("text_label" , False ):
1029+ obj .data .body = (
1030+ f"{ fixture_ .user_fixture_name } { fixture_ .fixture_id or '' } "
1031+ )
1032+ if self .display_device_label == "3D_LABEL" :
1033+ obj .hide_set (False )
1034+ obj .hide_viewport = False
1035+ obj .hide_render = False
1036+ else :
1037+ obj .hide_set (True )
1038+ obj .hide_viewport = True
1039+ obj .hide_render = True
1040+
10271041 def onDisplayPigtails (self , context ):
10281042 for fixture_ in self .fixtures :
10291043 for obj in fixture_ .collection .objects :
@@ -1061,7 +1075,21 @@ def onDisplay2D(self, context):
10611075 if self .display_2D :
10621076 obj .name = "geometry root"
10631077 obj .show_name = False
1064- if obj .get ("2d_symbol" , None ) == "all" :
1078+
1079+ if obj .get ("text_label" , False ):
1080+ obj .data .body = (
1081+ f"{ fixture_ .user_fixture_name } { fixture_ .fixture_id or '' } "
1082+ )
1083+ if self .display_device_label == "3D_LABEL" :
1084+ obj .hide_set (False )
1085+ obj .hide_viewport = False
1086+ obj .hide_render = False
1087+ else :
1088+ obj .hide_set (True )
1089+ obj .hide_viewport = True
1090+ obj .hide_render = True
1091+
1092+ elif obj .get ("2d_symbol" , None ) == "all" :
10651093 obj .hide_set (not self .display_2D )
10661094 obj .hide_viewport = not self .display_2D
10671095 obj .hide_render = not self .display_2D
@@ -1072,6 +1100,8 @@ def onDisplay2D(self, context):
10721100 else :
10731101 if self .display_device_label == "NONE" :
10741102 obj .show_name = False
1103+ if self .display_device_label == "3D_LABEL" :
1104+ obj .show_name = False
10751105 elif self .display_device_label == "NAME" :
10761106 obj .name = f"{ fixture_ .user_fixture_name } "
10771107 obj .show_name = True
@@ -1085,10 +1115,9 @@ def onDisplay2D(self, context):
10851115 else :
10861116 obj .show_name = False
10871117 elif self .display_device_label == "FIXTURE_NAME_ID" :
1088- obj .name = (
1089- f"{ fixture_ .user_fixture_name } { fixture_ .fixture_id } "
1090- )
1118+ obj .name = f"{ fixture_ .user_fixture_name } { fixture_ .fixture_id or '' } "
10911119 obj .show_name = True
1120+
10921121 else :
10931122 obj .hide_set (self .display_2D )
10941123 obj .hide_viewport = self .display_2D
@@ -1130,6 +1159,7 @@ def update_device_label(self, context):
11301159 ("DMX" , _ ("DMX" ), "DMX Address" ),
11311160 ("FIXTURE_ID" , _ ("Fixture ID" ), "Fixture ID" ),
11321161 ("FIXTURE_NAME_ID" , _ ("Fixture Name + ID" ), "Fixture Name + ID" ),
1162+ ("3D_LABEL" , _ ("3D Fixture Name + ID" ), "3D Fixture Name + ID" ),
11331163 ],
11341164 update = update_device_label )
11351165
0 commit comments