NaxToPy 1.5.2__tar.gz → 1.5.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. {NaxToPy-1.5.2/src/NaxToPy.egg-info → NaxToPy-1.5.4}/PKG-INFO +12 -2
  2. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/README.md +11 -1
  3. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/pyproject.toml +1 -1
  4. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PLoadCase.py +2 -2
  5. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PModelInputData.py +1 -1
  6. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PResult.py +51 -0
  7. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Constants/Constants.py +1 -1
  8. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Errors/N2PLog.py +52 -4
  9. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/N2PModelContent.py +8 -0
  10. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Reference_Finder/__Reference_Finder.py +8 -5
  11. NaxToPy-1.5.4/src/NaxToPy/Modules/Fasteners/N2PUpdateFastener.py +906 -0
  12. NaxToPy-1.5.4/src/NaxToPy/Modules/Fasteners/__init__.py +1 -0
  13. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Modules/N2PtoEXE/N2PtoEXE.py +2 -2
  14. NaxToPy-1.5.4/src/NaxToPy/Modules/__init__.py +1 -0
  15. {NaxToPy-1.5.2 → NaxToPy-1.5.4/src/NaxToPy.egg-info}/PKG-INFO +12 -2
  16. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy.egg-info/SOURCES.txt +2 -0
  17. NaxToPy-1.5.2/src/NaxToPy/Modules/__init__.py +0 -0
  18. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/LICENSE +0 -0
  19. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/setup.cfg +0 -0
  20. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/setup.py +0 -0
  21. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/AllClasses.py +0 -0
  22. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PComponent.py +0 -0
  23. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PConnector.py +0 -0
  24. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PCoord.py +0 -0
  25. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PElement.py +0 -0
  26. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PFreeBody.py +0 -0
  27. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PIncrement.py +0 -0
  28. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PMaterial.py +0 -0
  29. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PNode.py +0 -0
  30. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PProperty.py +0 -0
  31. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PReport.py +0 -0
  32. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PSection.py +0 -0
  33. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/N2PSet.py +0 -0
  34. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/ProgresBar.py +0 -0
  35. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Classes/__init__.py +0 -0
  36. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Constants/__init__.py +0 -0
  37. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Constants/librerias.py +0 -0
  38. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Errors/N2PColors.py +0 -0
  39. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Errors/N2PFileHandler.py +0 -0
  40. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Errors/__init__.py +0 -0
  41. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/Reference_Finder/__init__.py +0 -0
  42. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/_AuxFunc/_NetToPython.py +0 -0
  43. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/_AuxFunc/__init__.py +0 -0
  44. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Core/__init__.py +0 -0
  45. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Modules/N2PEnvelope/N2PEnvelope.py +0 -0
  46. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Modules/N2PEnvelope/__init__.py +0 -0
  47. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/Modules/N2PtoEXE/__init__.py +0 -0
  48. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/NaxToPy.ico +0 -0
  49. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/__init__.py +0 -0
  50. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy/user_functions.txt +0 -0
  51. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy.egg-info/dependency_links.txt +0 -0
  52. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy.egg-info/requires.txt +0 -0
  53. {NaxToPy-1.5.2 → NaxToPy-1.5.4}/src/NaxToPy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: NaxToPy
3
- Version: 1.5.2
3
+ Version: 1.5.4
4
4
  Summary: Package for postprocessing FEM results in Python
5
5
  Home-page: https://www.idaerosolutions.com/Home/NaxToPy
6
6
  Download-URL: https://apps.microsoft.com/detail/XP9MMH0KDKGRJN?hl=en-US&gl=US
@@ -232,11 +232,21 @@ To see previous version see the pre-release versions in https://test.pypi.org/pr
232
232
  1. Bug Fix. If the name for a derivated load case is repeated for a second time, the name is changed.
233
233
  2. Bug Fix. Now is possible to change the criteria for a new envelope load case.
234
234
 
235
- ### v1.5.2
235
+ ### v.1.5.2
236
236
  1. Bug fix: A bug has been resolved that previously prevented the generation of a .log file while executing the N2PtoEXE module.
237
237
  2. Bug fix: An internal error related to finding the libraries has been resolved.
238
238
  3. The option to include a splash image in an executable has been added.
239
239
 
240
+ ### v.1.5.3
241
+ 1. Bug fix for the EXE generation.
242
+ 2. Updates in the log messages.
243
+
244
+ ### v.1.5.4
245
+ 1. Bug Fix: After calling the method get_load_cases(), the new derived cases weren't found. Now they does.
246
+ 2. N2PLoadCase has now two properties for the ID: OriginalID, that was in the files readed and ID that is the one that is used in NaxToPy. Usually, they are the same.
247
+ 3. New method new_derived_component() in the class N2PResult that allows to create new N2PComponent based on the original components.
248
+ 4. New module N2PUpdateFastener. This module updates the stiffness of the CBUSH and CFAST acordint to their properties and shells properties.
249
+
240
250
  # Documentation
241
251
 
242
252
  **NaxToPy** is a package developed by Idaero Solutions© as a part of the **NaxTo** software.
@@ -108,11 +108,21 @@ To see previous version see the pre-release versions in https://test.pypi.org/pr
108
108
  1. Bug Fix. If the name for a derivated load case is repeated for a second time, the name is changed.
109
109
  2. Bug Fix. Now is possible to change the criteria for a new envelope load case.
110
110
 
111
- ### v1.5.2
111
+ ### v.1.5.2
112
112
  1. Bug fix: A bug has been resolved that previously prevented the generation of a .log file while executing the N2PtoEXE module.
113
113
  2. Bug fix: An internal error related to finding the libraries has been resolved.
114
114
  3. The option to include a splash image in an executable has been added.
115
115
 
116
+ ### v.1.5.3
117
+ 1. Bug fix for the EXE generation.
118
+ 2. Updates in the log messages.
119
+
120
+ ### v.1.5.4
121
+ 1. Bug Fix: After calling the method get_load_cases(), the new derived cases weren't found. Now they does.
122
+ 2. N2PLoadCase has now two properties for the ID: OriginalID, that was in the files readed and ID that is the one that is used in NaxToPy. Usually, they are the same.
123
+ 3. New method new_derived_component() in the class N2PResult that allows to create new N2PComponent based on the original components.
124
+ 4. New module N2PUpdateFastener. This module updates the stiffness of the CBUSH and CFAST acordint to their properties and shells properties.
125
+
116
126
  # Documentation
117
127
 
118
128
  **NaxToPy** is a package developed by Idaero Solutions© as a part of the **NaxTo** software.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "NaxToPy"
7
- version = "1.5.2"
7
+ version = "1.5.4"
8
8
  license = {file = "LICENSE"}
9
9
  authors = [ { name = "Idaero Solutions", email = "manuel.sanchez@idaerosolutions.com" }, ]
10
10
  requires-python = ">=3.9"
@@ -74,13 +74,13 @@ class N2PLoadCase:
74
74
 
75
75
  # Metodo para obtener el numero de identificacion interno del caso de carga ----------------------------------------
76
76
  @property
77
- def InternalID(self) -> int:
77
+ def ID(self) -> int:
78
78
  return(int(self.__id__))
79
79
  # ------------------------------------------------------------------------------------------------------------------
80
80
 
81
81
  # Metodo oara obtener el numero de identificacion original del caso de carga ---------------------------------------
82
82
  @property
83
- def ID(self) -> int:
83
+ def OriginalID(self) -> int:
84
84
  return(int(self.__idoriginal__))
85
85
  # ------------------------------------------------------------------------------------------------------------------
86
86
 
@@ -164,7 +164,7 @@ class N2PModelInputData:
164
164
  """Method that writes the solver input file with the same file structure that was read in the folder is specified
165
165
 
166
166
  Args:
167
- folder: str -> Path of the foler where the file or files will be writen
167
+ folder: str -> Path of the folder where the file or files will be writen
168
168
  """
169
169
  self.__inputfiledata.RebuildFile(folder)
170
170
 
@@ -1,5 +1,7 @@
1
1
  from NaxToPy.Core.Classes.N2PComponent import N2PComponent
2
2
  from NaxToPy.Core.Errors.N2PLog import N2PLog
3
+ from VizzerClasses import N2Component
4
+ from System.Collections.Generic import List
3
5
 
4
6
 
5
7
  # Clase Result de Python --------------------------------------------------------------------------
@@ -124,6 +126,55 @@ class N2PResult:
124
126
  N2PLog.Error.E216()
125
127
  # ---------------------------------------------------------------------------------------------
126
128
 
129
+ def new_derived_component(self, name: str, formula: str) -> N2PComponent:
130
+ """Generate a new N2PComponent combination of n components from N2PResult.
131
+
132
+ These combinations can be obtained later with the method `get_derived_component()`.
133
+
134
+ To define the combination, pass a string with the result and component names, along with the arithmetic commands as strings.
135
+ The name of the new derived component must be set. To add a component to the formula, it must start with `CMPT_`
136
+ followed by the Result name (the result must be the same) if it is an original component, and with `CMPTD` (only that),
137
+ then `:` and finally the Component name.
138
+
139
+ The `Result|Component` must have this structure: `<CMPT_Result:Component>` or `<CMPTD:Component>`.
140
+
141
+ Examples:
142
+ - formula = "<0.5*CMPT_DISPLACEMENTS:MAGNITUDE_D>+2*<CMPT_DISPLACEMENTS:MAGNITUDE_R>"
143
+ - formula = "(<CMPTD:Example>-2*<CMPT_DISPLACEMENTS:MAGNITUDE_R>)^2"
144
+ - formula = "sqrt(<CMPT_STRESSES:XX>^2+<CMPT_STRESSES:YY>^2-<CMPT_STRESSES:XX>*<CMPT_STRESSES:YY>+3*<CMPT_STRESSES:XY>^2)"
145
+
146
+ Args:
147
+ name (str): The name of the component.
148
+ formula (str): String containing the Result:Component intended to be used and the arithmetic operations.
149
+
150
+ Returns:
151
+ N2PComponent: Derived load case.
152
+ """
153
+
154
+ # Recuperamos la instancia N2ModelModelContent
155
+ mc = self.__loadCase_father__.__modelFather__._N2PModelContent__vzmodel
156
+
157
+ # Llamada al constructor de N2Component de VizzerClasses
158
+ new_d_comp = N2Component(mc, name, formula)
159
+
160
+ # Se incluye en la lista de compornentes derivadas de vizzerclasses. Para ello tengo que comprobar que existe
161
+ # dicha lista. Si no existe la tengo que crear como lista de C#
162
+ if not mc.DerivedComponents:
163
+ mc.DerivedComponents = List[N2Component]()
164
+
165
+ # Now I add the new derived component to the list
166
+ mc.DerivedComponents.Add(new_d_comp)
167
+
168
+ # Call the method that recalculate the data.
169
+ new_d_comp.RecalculateCMPTInfo2Formule()
170
+
171
+ # The N2PComponent is instanced and added to the dictionary of derived loadcases:
172
+ self.__derived_comps__[new_d_comp.Name] = N2PComponent(new_d_comp.Name, new_d_comp.Sections, self)
173
+
174
+ return self.__derived_comps__[new_d_comp.Name]
175
+
176
+
177
+
127
178
  # # Metodo para obtener los resultados de todas las componentes del resultado como DataFrame ----
128
179
  # def get_results_dataframe(self, sections=None, aveSections=-1, cornerData=False, aveNodes=-1,
129
180
  # variation=100, realPolar=0) -> DataFrame:
@@ -1,7 +1,7 @@
1
1
  """Constants of the NaxToPy package"""
2
2
 
3
3
  # NaxToPy Version
4
- VERSION = "1.5.2"
4
+ VERSION = "1.5.4"
5
5
 
6
6
  # Supported for Naxto:
7
7
  NAXTO_VERSION = '2024R0'
@@ -137,7 +137,7 @@ class N2PLog(ABC):
137
137
  @staticmethod
138
138
  def D101(path) -> None:
139
139
  """Method that shows the location of the VizzerClasses library found"""
140
- message = f"VizzerClasses founded at: {path}"
140
+ message = f"VizzerClasses found at: {path}"
141
141
  N2PLog._N2PLog__logger.debug(message)
142
142
 
143
143
  @staticmethod
@@ -152,6 +152,40 @@ class N2PLog(ABC):
152
152
  message = f"The parallel processing has been set to {parallel}"
153
153
  N2PLog._N2PLog__logger.debug(message)
154
154
 
155
+ @staticmethod
156
+ def D500(current_time,tinit) -> None:
157
+ """ Information given for the extraction time.
158
+ """
159
+ message = f"D500: Extraction time: {current_time-tinit} s"
160
+ N2PLog._N2PLog__logger.info(message)
161
+
162
+ @staticmethod
163
+ def D501(current_time,tinit) -> None:
164
+ """ Information given for computation time of elastic modulus.
165
+ """
166
+ message = f"D501: Elastic modulus calculation time: {current_time-tinit} s"
167
+ N2PLog._N2PLog__logger.info(message)
168
+
169
+ @staticmethod
170
+ def D502(current_time,tinit) -> None:
171
+ """ Information given for computation time of set intersection
172
+ """
173
+ message = f"D502: Set intersection computation time: {current_time-tinit} s"
174
+ N2PLog._N2PLog__logger.info(message)
175
+
176
+ @staticmethod
177
+ def D503(current_time,tinit) -> None:
178
+ """ Information given for computation time of fastener update
179
+ """
180
+ message = f"D503: Fastener update computation time: {current_time-tinit} s"
181
+ N2PLog._N2PLog__logger.info(message)
182
+
183
+ @staticmethod
184
+ def D504(current_time,tinit) -> None:
185
+ """ Information given for loading time of the model
186
+ """
187
+ message = f"D504: Model loading time: {current_time-tinit} s"
188
+ N2PLog._N2PLog__logger.info(message)
155
189
  # ------------------------------------------------------------------------------------------------------------------
156
190
 
157
191
  ############################################ INFO ################################################################
@@ -178,6 +212,11 @@ own information message. Use the following structure as a standard message (I +
178
212
 
179
213
  time_date = DateTime.Now
180
214
  licen = LicenseManager()
215
+
216
+ if licen.HasLicense():
217
+ err = LicenseManager.GenerateCommunityLicense()
218
+ licen.HasLicense()
219
+
181
220
  code = licen.GetRunCode(time_date)
182
221
  message = f"I100: The NaxToPy Running with the code: {code}"
183
222
  N2PLog._set_format2(time_date.ToString().split(" ")[1])
@@ -290,6 +329,8 @@ own information message. Use the following structure as a standard message (I +
290
329
  message = f"I203: Executing N2PEnvelope..."
291
330
  N2PLog._N2PLog__logger.info(message)
292
331
 
332
+
333
+
293
334
  # ------------------------------------------------------------------------------------------------------------------
294
335
 
295
336
  ########################################### WARNING ##############################################################
@@ -327,14 +368,14 @@ own information message. Use the following structure as a standard message (I +
327
368
  """ Warning raised when the Windows Register is modified by NaxToPy
328
369
  """
329
370
  message = f"W102: The Windows Register has been modified: CURRENT_USER/SOFTWARE/IDAERO -> Path = {path}" + \
330
- "If NaxTo is installed afterwards, this key must be deleted"
371
+ " If NaxTo is installed afterwards, this key must be deleted"
331
372
  N2PLog._N2PLog__logger.warning(message)
332
373
 
333
374
  @staticmethod
334
375
  def W103() -> None:
335
376
  """ Warning raised when the Windows Register is modified by NaxToPy: The Path value is deleted
336
377
  """
337
- message = f"W103: The Path Value in Windows Register has been deleted: Using installed NaxTo libraries"
378
+ message = f"W103: The Path Value in Windows Register has been deleted."
338
379
  N2PLog._N2PLog__logger.warning(message)
339
380
 
340
381
  @staticmethod
@@ -823,6 +864,13 @@ own information message. Use the following structure as a standard message (I +
823
864
  N2PLog._N2PLog__logger.error(message)
824
865
  # ------------------------------------------------------------------------------------------------------------------
825
866
 
867
+ @staticmethod
868
+ def E311(propID) -> None:
869
+ ''' Error raised when young modulus is not found.
870
+ '''
871
+ message = f"E311: YOUNG MODULUS COULD NOT BE FOUND FOR PROPERTY {propID}"
872
+ N2PLog._N2PLog__logger.error(message)
873
+
826
874
  ########################################### CRITICAL #############################################################
827
875
  class Critical:
828
876
  """Class with all the critical errors.
@@ -942,7 +990,7 @@ own information message. Use the following structure as a standard message (I +
942
990
  """
943
991
  message = f"C112: ERROR RAISED WHEN THERE IS AN ERROR IN THE SA OF ELEMENTS. THIS MAY BE CAUSED BY A MEMORY" \
944
992
  f"LEAK IN THE LOW LEVEL LIBRERIES. A SOLUTION MAY BE CHANGE THE \"initilaize\" method to parallel:" \
945
- f"model = NaxToPy.initialize(path, parallelprocessing=True)"
993
+ f"model = NaxToPy.load_model(path, parallelprocessing=True)"
946
994
  N2PLog._N2PLog__logger.critical(message)
947
995
 
948
996
  @staticmethod
@@ -1108,6 +1108,10 @@ class N2PModelContent:
1108
1108
  # Se añade el case de carga de python a N2PModelContent
1109
1109
  self.__load_cases__.append(py_lc)
1110
1110
 
1111
+ # Se añade al diccionario si este ya existe
1112
+ if self.__LCs_by_ID__:
1113
+ self.__LCs_by_ID__[py_lc.ID] = py_lc
1114
+
1111
1115
  return py_lc
1112
1116
 
1113
1117
  def new_envelope_loadcase(self, name: str, formula: str, criteria: str="ExtremeMax") -> N2PLoadCase:
@@ -1175,6 +1179,10 @@ class N2PModelContent:
1175
1179
  # Se añade el case de carga de python a N2PModelContent
1176
1180
  self.__load_cases__.append(py_lc)
1177
1181
 
1182
+ # Se añade al diccionario si este ya existe
1183
+ if self.__LCs_by_ID__:
1184
+ self.__LCs_by_ID__[py_lc.ID] = py_lc
1185
+
1178
1186
  return py_lc
1179
1187
  # ------------------------------------------------------------------------------------------------------------------
1180
1188
 
@@ -127,7 +127,7 @@ def create_register() -> None:
127
127
  # La ruta que vamos a meter es la de la carpeta en la que esta una carpeta llamada bin. En ella
128
128
  # estan las bibliotecas de NaxTo. Debe funcionar esta carpeta para los ejecutables y para las
129
129
  # versiones de desarrollo. En las salidas normales este path no debe estar.
130
- naxtopy_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
130
+ naxtopy_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..'))
131
131
  winreg.SetValueEx(naxto_key, "Path", 0, winreg.REG_SZ, naxtopy_path + "\\")
132
132
  N2PLog.Warning.W102(naxtopy_path)
133
133
 
@@ -144,9 +144,10 @@ def destroy_register() -> None:
144
144
  """
145
145
  naxto_key = open_idaero_key()
146
146
  try:
147
- winreg.QueryValueEx(naxto_key, "Path")
148
- winreg.DeleteValue(naxto_key, "Path")
149
- N2PLog.Warning.W103()
147
+ naxto_path = winreg.QueryValueEx(naxto_key, "Path")[0]
148
+ if "GIT_REPOSITORIES" not in naxto_path:
149
+ winreg.DeleteValue(naxto_key, "Path")
150
+ N2PLog.Warning.W103()
150
151
  except FileNotFoundError:
151
152
  pass
152
153
  # ----------------------------------------------------------------------------------------------------------------------
@@ -184,13 +185,15 @@ def __reference_finder():
184
185
  # Si se crea un .exe queremos que encuentre unas nuevas librerias distribuibles, que estarán en la carpeta temporal que se
185
186
  # crea cuando se ejecuta el .exe. Tampoco se ejecutan los modulos del reference finder
186
187
  if getattr(sys, 'frozen', False):
188
+ destroy_register()
187
189
  create_register()
188
190
  exe_dir = sys._MEIPASS
189
- vizzer_path = exe_dir + "\\libraries\\VizzerClasses.dll"
191
+ vizzer_path = exe_dir + "\\bin\\VizzerClasses.dll"
190
192
  N2PLog.Info.I107()
191
193
 
192
194
  elif os.path.isfile(developer_vizzer):
193
195
  if VERSION.split(".")[-1][0:3] == "dev":
196
+ destroy_register()
194
197
  create_register()
195
198
 
196
199
  vizzer_path = developer_vizzer