X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM_SWIG%2Fbatchmode_geompy.py;h=9d45b34ac52fda9215b29c978c90187767266ee3;hb=6c588d710b400618048ea2978f41d6f3cd242668;hp=374a2b411562b5e6d920e9b0d80ebba4048fe3f2;hpb=cb3b49a350e44631ced1494f2913b7d0df22d768;p=modules%2Fgeom.git diff --git a/src/GEOM_SWIG/batchmode_geompy.py b/src/GEOM_SWIG/batchmode_geompy.py index 374a2b411..9d45b34ac 100644 --- a/src/GEOM_SWIG/batchmode_geompy.py +++ b/src/GEOM_SWIG/batchmode_geompy.py @@ -1,449 +1,31 @@ -#============================================================================== -# File : geompy.py -# Created : sam nov 10 00:49:10 CET 2001 -# Author : Paul RASCLE, EDF -# Project : SALOME -# Copyright : EDF 2001 +# -*- coding: iso-8859-1 -*- +# Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +# +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +# GEOM GEOM_SWIG : binding of C++ omplementaion with Python +# File : batchmode_geompy.py +# Author : Paul RASCLE, EDF +# Module : GEOM # $Header$ -#============================================================================== - -#-------------------------------------------------------------------------- - -from batchmode_salome import * - -#-------------------------------------------------------------------------- -modulecatalog = naming_service.Resolve("/Kernel/ModulCatalog") - -geom = lcc.FindOrLoadComponent("FactoryServer", "GEOM") -geom.GetCurrentStudy(myStudyId) -myBuilder = myStudy.NewBuilder() - -father = myStudy.FindComponent("GEOM") -if father is None: - father = myBuilder.NewComponent("GEOM") - A1 = myBuilder.FindOrCreateAttribute(father, "AttributeName"); - FName = A1._narrow(SALOMEDS.AttributeName) -# FName.SetValue("Geometry") - - Comp = modulecatalog.GetComponent( "GEOM" ) - FName.SetValue( Comp._get_componentusername() ) - - A2 = myBuilder.FindOrCreateAttribute(father, "AttributePixMap"); - aPixmap = A2._narrow(SALOMEDS.AttributePixMap); - aPixmap.SetPixMap( "ICON_OBJBROWSER_Geometry" ); - myBuilder.DefineComponentInstance(father,geom) - - -# ----------------------------------------------------------------------------- -# add To Study -# ----------------------------------------------------------------------------- - -def SubShapeName(aSubId, aMainId): -# index = gg.getIndexTopology(aSubId, aMainId) -# print index -# name = gg.getShapeTypeString(aSubId) + "_%d"%(index) - name = "Shape" - print name - return name - -def addArguments(aShape): - ListIOR = [] - ListIOR = geom.GetReferencedObjects(aShape) - - if aShape._get_StudyShapeId()!="": - father = IDToSObject(aShape._get_StudyShapeId()) - - myBuilder.NewCommand() - if len(ListIOR) > 0: - Arg = myBuilder.NewObject(father) - A1 = myBuilder.FindOrCreateAttribute(Arg, "AttributeName"); - ArgName = A1._narrow(SALOMEDS.AttributeName) - ArgName.SetValue("Arguments") - A2 = myBuilder.FindOrCreateAttribute(Arg, "AttributeSelectable"); - SelAttr = A2._narrow(SALOMEDS.AttributeSelectable); - SelAttr.SetSelectable(0); - - OneObject = 0 - for anIOR in ListIOR: - Shape = orb.string_to_object(anIOR) - if Shape is not None: - if Shape._get_StudyShapeId()!="": - Obj = IDToSObject(Shape._get_StudyShapeId()) - if Obj is not None: - Obj1 = myBuilder.NewObject(Arg) - myBuilder.Addreference(Obj1,Obj) - OneObject = 1 - - if OneObject == 0: - myBuilder.RemoveObject(Arg) - - myBuilder.CommitCommand() - return 1 - -def addToStudy(aShape, aName): - try: - myBuilder.NewCommand() - newObj = myBuilder.NewObject(father) - ior = orb.object_to_string(aShape) - A1 = myBuilder.FindOrCreateAttribute(newObj, "AttributeIOR"); - ObjIOR = A1._narrow(SALOMEDS.AttributeIOR) - ObjIOR.SetValue(ior) - A2 = myBuilder.FindOrCreateAttribute(newObj, "AttributeName"); - ObjName = A2._narrow(SALOMEDS.AttributeName) - ObjName.SetValue(aName) - id = newObj.GetID() - aShape._set_StudyShapeId(id) - myBuilder.CommitCommand() - - addArguments( aShape ) - - except: - return None - return id - -def addToStudyInFather(aFather, aShape, aName): - myBuilder.NewCommand() - newObj = myBuilder.NewObject( IDToSObject(aFather._get_StudyShapeId()) ) - ior = orb.object_to_string(aShape) - A1 = myBuilder.FindOrCreateAttribute(newObj, "AttributeIOR"); - ObjIOR = A1._narrow(SALOMEDS.AttributeIOR) - ObjIOR.SetValue(ior) - A2 = myBuilder.FindOrCreateAttribute(newObj, "AttributeName"); - ObjName = A2._narrow(SALOMEDS.AttributeName) - ObjName.SetValue(aName) - id = newObj.GetID() - aShape._set_StudyShapeId(id) - myBuilder.CommitCommand() - addArguments( aShape ) - return id - -# ----------------------------------------------------------------------------- -# Create Geometry 2D -# ----------------------------------------------------------------------------- - -def MakeVertex(x,y,z): - anObj = geom.MakeVertex(x,y,z) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeVector(p1,p2): - anObj = geom.MakeVector(p1,p2) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeLine(p1,d1): - anObj = geom.MakeLine(p1,d1) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeArc(p1,p2,p3): - anObj = geom.MakeArc(p1,p2,p3) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeCircle(p1,d1,radius): - anObj = geom.MakeCircle(p1,d1,radius) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakePlane(p1,d1,trimsize): - anObj = geom.MakePlane(p1,d1,trimsize) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -# ----------------------------------------------------------------------------- -# Create Geometry 3D -# ----------------------------------------------------------------------------- - -def MakeBox(x1,y1,z1,x2,y2,z2): - anObj = geom.MakeBox(x1,y1,z1,x2,y2,z2) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeCylinder(p1,d1,radius,height): - anObj = geom.MakeCylinder(p1,d1,radius,height) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeSphere(x,y,z,radius): - anObj = geom.MakeSphere(x,y,z,radius) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeCone(p1,d1,radius1,radius2,height): - anObj = geom.MakeCone(p1,d1,radius1,radius2,height) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeTorus(p1,d1,major_radius,minor_radius): - anObj = geom.MakeTorus(p1,d1,major_radius,minor_radius) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -# ----------------------------------------------------------------------------- -# Create base objects -# ----------------------------------------------------------------------------- - -def MakeEdge(p1,p2): - anObj = geom.MakeEdge(p1,p2) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeWire(ListShape): - anObj = geom.MakeWire(ListShape) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeFace(aShapeWire,WantPlanarFace): - anObj = geom.MakeFace(aShapeWire,WantPlanarFace) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeCompound(ListShape): - anObj = geom.MakeCompound(ListShape) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -# ----------------------------------------------------------------------------- -# Create advanced objects -# ----------------------------------------------------------------------------- - -def MakeCopy(aShape): - anObj = geom.MakeCopy(aShape) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakePrism(baseShape,p1,p2): - anObj = geom.MakePrism(baseShape,p1,p2) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeRevolution(aShape,axis,angle): - anObj = geom.MakeRevolution(aShape,axis,angle) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeFilling(aShape,mindeg,maxdeg,tol3d,tol2d,nbiter): - anObj = geom.MakeFilling(aShape,mindeg,maxdeg,tol3d,tol2d,nbiter) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakePipe(pathShape,baseShape): - anObj = geom.MakePipe(pathShape,baseShape) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeSewing(ListShape,precision): - anObj = geom.MakeSewing(ListShape,precision) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -# ----------------------------------------------------------------------------- -# Boolean (Common, Cut, Fuse, Section) -# ----------------------------------------------------------------------------- - -def MakeBoolean(shape1,shape2,operation): - anObj = geom.MakeBoolean(shape1,shape2,operation) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -# ----------------------------------------------------------------------------- -# Transform objects -# ----------------------------------------------------------------------------- - -def MakeTranslation(aShape,x,y,z): - anObj = geom.MakeTranslation(aShape,x,y,z) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeRotation(aShape,axis,angle): - anObj = geom.MakeRotation(aShape,axis,angle) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeScaleTransform(aShape,theCenterofScale,factor): - anObj = geom.MakeScaleTransform(aShape,theCenterofScale,factor) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeMirrorByPlane(aShape,aPlane): - anObj = geom.MakeMirrorByPlane(aShape,aPlane) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def OrientationChange(aShape): - anObj = geom.OrientationChange(aShape) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeFillet(aShape,radius,ShapeType,ListShape): - anObj = geom.MakeFillet(aShape,radius,ShapeType,ListShape) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeChamfer(aShape,d1,d2,ShapeType,ListShape): - anObj = geom.MakeChamfer(aShape,d1,d2,ShapeType,ListShape) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -# ----------------------------------------------------------------------------- -# Decompose objects -# ----------------------------------------------------------------------------- - -def SubShape(aShape,type,ListOfId): - anObj = geom.SubShape(aShape,type, ListOfId) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def SubShapeAll(aShape,type): - ListObj = geom.SubShapeAll(aShape,type) - for anObj in ListObj : - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return ListObj - -def SubShapeSorted(aShape,type,ListOfId): - anObj = geom.SubShapeSorted(aShape,type, ListOfId) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def SubShapeAllSorted(aShape,type): - ListObj = geom.SubShapeAllSorted(aShape,type) - for anObj in ListObj : - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return ListObj - -# -- enumeration ShapeType as a dictionary -- -ShapeType = {"COMPOUND":0, "COMPSOLID":1, "SOLID":2, "SHELL":3, "FACE":4, "WIRE":5, "EDGE":6, "VERTEX":7, "SHAPE":8} - -def Partition(ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=[], Limit=ShapeType["SHAPE"]): - anObj = geom.Partition(ListShapes, ListTools, ListKeepInside, ListRemoveInside, Limit); - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def SuppressFaces(aShape,ListOfId): - anObj = geom.SuppressFaces(aShape,ListOfId) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def SuppressHole(aShape,ListOfFace,ListOfWire,ListOfEndFace): - anObj = geom.SuppressHole(aShape,ListOfFace,ListOfWire,ListOfEndFace) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -# ----------------------------------------------------------------------------- -# Patterns -# ----------------------------------------------------------------------------- - -def MakeMultiTranslation1D(aShape,aDir,aStep,aNbTimes): - anObj = geom.MakeMultiTranslation1D(aShape,aDir,aStep,aNbTimes) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeMultiTranslation2D(aShape,d1,step1,nbtimes1,d2,step2,nbtimes2): - anObj = geom.MakeMultiTranslation2D(aShape,d1,step1,nbtimes1,d2,step2,nbtimes2) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeMultiRotation1D(aShape,aDir,aPoint,aNbTimes): - anObj = geom.MakeMultiRotation1D(aShape,aDir,aPoint,aNbTimes) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def MakeMultiRotation2D(aShape,aDir,aPoint,anAngle,nbtimes1,aStep,nbtimes2): - anObj = geom.MakeMultiRotation2D(aShape,aDir,aPoint,anAngle,nbtimes1,aStep,nbtimes2) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -# ----------------------------------------------------------------------------- -# Import objects -# ----------------------------------------------------------------------------- - -def ImportBREP(filename): - anObj = geom.ImportBREP(filename) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def ImportIGES(filename): - anObj = geom.ImportIGES(filename) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def ImportSTEP(filename): - anObj = geom.ImportSTEP(filename) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -# ----------------------------------------------------------------------------- -# Export objects -# ----------------------------------------------------------------------------- -def ExportBREP(filename,aShape): - geom.ExportBREP(filename,aShape) - -def ExportIGES(filename,aShape): - geom.ExportIGES(filename,aShape) - -def ExportSTEP(filename,aShape): - geom.ExportSTEP(filename,aShape) - -# ----------------------------------------------------------------------------- -# Information objects -# ----------------------------------------------------------------------------- - -def MakeCDG(aShape): - anObj = geom.MakeCDG(aShape) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def Archimede(aShape,weight,WaterDensity,MeshingDeflection): - anObj = geom.Archimede(aShape,weight,WaterDensity,MeshingDeflection) - ior = orb.object_to_string(anObj) - anObj._set_Name(ior) - return anObj - -def CheckShape(aShape): - Status = geom.CheckShape(aShape) - return Status +# From Salome version 3.2.0 geompy package suits for work in batch mode +# +from geompy import *