From: mpv Date: Wed, 2 Oct 2019 10:04:46 +0000 (+0300) Subject: Merge remote-tracking branch 'origin/ngo/Lot5' X-Git-Tag: V9_4_0a2~7 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=749e980caeebfe4d16441703b7028dbbb1f1d91a;p=modules%2Fshaper.git Merge remote-tracking branch 'origin/ngo/Lot5' --- 749e980caeebfe4d16441703b7028dbbb1f1d91a diff --cc src/PythonAddons/macros/compoundVertices/feature.py index 000000000,bf5ce564b..492594c4a mode 000000,100644..100644 --- a/src/PythonAddons/macros/compoundVertices/feature.py +++ b/src/PythonAddons/macros/compoundVertices/feature.py @@@ -1,0 -1,105 +1,105 @@@ + """compound of vertices Feature + Author: Nathalie Gore + """ + + from qtsalome import QMessageBox + from salome.shaper import model + from salome.shaper import geom + import ModelAPI + + class compoundVertices(model.Feature): + """Import of Construction points + """ + + # Feature initializations + + def __init__(self): + """x.__init__(...) initializes x; see x.__class__.__doc__ for signature""" + model.Feature.__init__(self) + + @staticmethod + def ID(): + """Return Id of the Feature.""" + return "compoundVertices" + + @staticmethod + def FILE_ID(): + """Returns ID of the file select parameter.""" + return "file_path" + + @staticmethod + def SEPARATOR_ID(): + """Returns ID of the separator parameter.""" + return "separator" + + def getKind(self): + """Override Feature.getKind()""" + return compoundVertices.ID() + + + # Initialization of the dialog panel + + def initAttributes(self): + """Override Feature.initAttributes()""" + # Creating the input argument of the feature + self.data().addAttribute(self.FILE_ID(), ModelAPI.ModelAPI_AttributeString_typeId()) + self.data().addAttribute(self.SEPARATOR_ID(), ModelAPI.ModelAPI_AttributeString_typeId()) + + self.lfeatures = [] + self.folder = None + self.separator = " " + + # Execution of the Import + + def execute(self): + """F.execute() -- execute the Feature""" + # Retrieving the user input + apath = self.string(self.FILE_ID()) + aseparator = self.string(self.SEPARATOR_ID()).value() + if aseparator: + self.separator = aseparator + + filepath = apath.value() + if filepath != "" : - part = model.activeDocument() ++ part = model.activeDocument() + if self.lfeatures : + for feature in self.lfeatures: + part.removeFeature(feature.feature()) + self.lfeatures = [] + model.removeFolder(self.folder) + + from os.path import basename + filename = basename(filepath) + nameRes = "Points_" + filename + + # Creating the construction points in the current document + lVertices = [] + + with open(filepath) as file: + for line in file: + coord = line.split(self.separator) + if len(coord) != 3: + #QMessageBox.warning( self, 'Error!', '3D coords waited!' ) + return + x = float(coord[0]); y = float(coord[1]); z = float(coord[2]); + point = model.addPoint(part, x,y,z); point.execute(True); self.lfeatures.append(point) + vertex = model.addVertex(part, [point.result()]); vertex.execute(True); self.lfeatures.append(vertex) + lVertices.append(vertex.result()) + file.close() + compound = model.addCompound(part, lVertices) + compound.execute(True); self.lfeatures.append(compound) + compound.result().setName(nameRes) + self.folder = model.addFolder(part, self.lfeatures[0], compound) + self.folder.setName(nameRes) + return - ++ + setError("The file does not exist") + + def isMacro(self): + """Override Feature.initAttributes(). + F.isMacro() -> True + + compoundVertices feature is macro: removes itself on the creation transaction + finish. + """ + return False diff --cc src/PythonAddons/macros/compoundVertices/widget.xml index 000000000,75e5a6c21..c33e845dd mode 000000,100644..100644 --- a/src/PythonAddons/macros/compoundVertices/widget.xml +++ b/src/PythonAddons/macros/compoundVertices/widget.xml @@@ -1,0 -1,19 +1,17 @@@ - - - - - - - - - - - - - - ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --cc src/PythonAddons/macros/importParameters/feature.py index 000000000,6abd0ddf3..72111d75b mode 000000,100644..100644 --- a/src/PythonAddons/macros/importParameters/feature.py +++ b/src/PythonAddons/macros/importParameters/feature.py @@@ -1,0 -1,73 +1,71 @@@ + """importParameters + Author: Nathalie Gore + """ + + from salome.shaper import model + from salome.shaper import geom + import ModelAPI + + class importParameters(model.Feature): + """Import of Construction points + """ + + # Feature initializations + + def __init__(self): + """x.__init__(...) initializes x; see x.__class__.__doc__ for signature""" + model.Feature.__init__(self) + + @staticmethod + def ID(): + """Return Id of the Feature.""" + return "importParameters" + + @staticmethod + def FILE_ID(): + """Returns ID of the file select parameter.""" + return "file_path" + + def getKind(self): + """Override Feature.getKind()""" + return importParameters.ID() + + + # Initialization of the dialog panel + + def initAttributes(self): + """Override Feature.initAttributes()""" + # Creating the input argument of the feature + self.data().addAttribute(self.FILE_ID(), ModelAPI.ModelAPI_AttributeString_typeId()) + + # Execution of the Import + + def execute(self): + """F.execute() -- execute the Feature""" + # Retrieving the user input + apath = self.string(self.FILE_ID()) + filepath = apath.value() + #print("filepath : ", filepath) + if filepath != "" : + + # Creating the parameters in the current document + part = model.activeDocument() + + with open(filepath) as file: + for line in file: + defParameters = line.replace("\n","").split(' ') + if len(defParameters) == 2 : + model.addParameter(part, defParameters[0], defParameters[1]) + file.close() + return - ++ + setError("The file does not exist") + + def isMacro(self): + """Override Feature.initAttributes(). + F.isMacro() -> True + + importParameters feature is macro: removes itself on the creation transaction + finish. + """ + return True - - diff --cc src/PythonAddons/macros/importParameters/widget.xml index 000000000,086571993..37e0208d7 mode 000000,100644..100644 --- a/src/PythonAddons/macros/importParameters/widget.xml +++ b/src/PythonAddons/macros/importParameters/widget.xml @@@ -1,0 -1,16 +1,14 @@@ - - - - - - - - - - - - ++ ++ ++ ++ ++ ++ ++ ++ ++ ++