diff --git a/OCCUtils/Common.py b/OCCUtils/Common.py index 62597a6..357580c 100644 --- a/OCCUtils/Common.py +++ b/OCCUtils/Common.py @@ -19,30 +19,30 @@ import random -from OCC.Core.Bnd import Bnd_Box -from OCC.Core.BRepBndLib import brepbndlib_Add -from OCC.Core.TColgp import (TColgp_HArray1OfPnt, +from OCC.Bnd import Bnd_Box +from OCC.BRepBndLib import brepbndlib_Add +from OCC.TColgp import (TColgp_HArray1OfPnt, TColgp_Array1OfPnt, TColgp_Array1OfPnt2d, TColgp_Array1OfVec) -from OCC.Core.TColStd import TColStd_HArray1OfBoolean -from OCC.Core.BRepAdaptor import (BRepAdaptor_Curve, BRepAdaptor_HCurve, +from OCC.TColStd import TColStd_HArray1OfBoolean +from OCC.BRepAdaptor import (BRepAdaptor_Curve, BRepAdaptor_HCurve, BRepAdaptor_CompCurve, BRepAdaptor_HCompCurve) -from OCC.Core.GeomAPI import (GeomAPI_Interpolate, GeomAPI_PointsToBSpline, +from OCC.GeomAPI import (GeomAPI_Interpolate, GeomAPI_PointsToBSpline, GeomAPI_ProjectPointOnCurve) -from OCC.Core.gp import gp_Pnt, gp_Vec, gp_Trsf -from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_Transform -from OCC.Core.TopoDS import TopoDS_Edge, TopoDS_Shape, TopoDS_Wire, TopoDS_Vertex -from OCC.Core.Quantity import Quantity_Color, Quantity_TOC_RGB -from OCC.Core.GProp import GProp_GProps -from OCC.Core.GeomAbs import GeomAbs_C1, GeomAbs_C2, GeomAbs_C3 -from OCC.Core.BRepGProp import (brepgprop_LinearProperties, +from OCC.gp import gp_Pnt, gp_Vec, gp_Trsf +from OCC.BRepBuilderAPI import BRepBuilderAPI_Transform +from OCC.TopoDS import TopoDS_Edge, TopoDS_Shape, TopoDS_Wire, TopoDS_Vertex +from OCC.Quantity import Quantity_Color, Quantity_TOC_RGB +from OCC.GProp import GProp_GProps +from OCC.GeomAbs import GeomAbs_C1, GeomAbs_C2, GeomAbs_C3 +from OCC.BRepGProp import (brepgprop_LinearProperties, brepgprop_SurfaceProperties, brepgprop_VolumeProperties) -from OCC.Core.GeomAdaptor import GeomAdaptor_Curve -from OCC.Core.Geom import Geom_Curve +from OCC.GeomAdaptor import GeomAdaptor_Curve +from OCC.Geom import Geom_Curve -from OCC.Core import Graphic3d +from OCC import Graphic3d #=========================================================================== # No PythonOCC dependencies... @@ -286,7 +286,7 @@ def random_color(): def common_vertex(edg1, edg2): - from OCC.Core.TopExp import topexp_CommonVertex + from OCC.TopExp import topexp_CommonVertex vert = TopoDS_Vertex() if topexp_CommonVertex(edg1, edg2, vert): return vert @@ -339,8 +339,8 @@ def point_in_solid(solid, pnt, tolerance=1e-5): Returns: bool """ - from OCC.Core.BRepClass3d import BRepClass3d_SolidClassifier - from OCC.Core.TopAbs import TopAbs_ON, TopAbs_OUT, TopAbs_IN + from OCC.BRepClass3d import BRepClass3d_SolidClassifier + from OCC.TopAbs import TopAbs_ON, TopAbs_OUT, TopAbs_IN _in_solid = BRepClass3d_SolidClassifier(solid, pnt, tolerance) print("State", _in_solid.State()) if _in_solid.State() == TopAbs_ON: @@ -512,7 +512,7 @@ def minimum_distance(shp1, shp2): def vertex2pnt(vertex): '''returns a gp_Pnt from a TopoDS_Vertex ''' - from OCC.Core.BRep import BRep_Tool + from OCC.BRep import BRep_Tool return BRep_Tool.Pnt(vertex) diff --git a/OCCUtils/Construct.py b/OCCUtils/Construct.py index b3e0ba3..5096741 100644 --- a/OCCUtils/Construct.py +++ b/OCCUtils/Construct.py @@ -27,13 +27,13 @@ import operator import math -from OCC.Core.BRep import BRep_Tool -from OCC.Core.BRepAdaptor import BRepAdaptor_HCurve -from OCC.Core.BRepOffset import BRepOffset_Skin +from OCC.BRep import BRep_Tool +from OCC.BRepAdaptor import BRepAdaptor_HCurve +from OCC.BRepOffset import BRepOffset_Skin from OCC.Geom import Geom_TrimmedCurve from OCC.GeomConvert import GeomConvert_ApproxCurve from OCC.GeomLProp import GeomLProp_SLProps -from OCC.Core.BRepBuilderAPI import (BRepBuilderAPI_MakeFace, +from OCC.BRepBuilderAPI import (BRepBuilderAPI_MakeFace, BRepBuilderAPI_Transform, BRepBuilderAPI_Sewing, BRepBuilderAPI_MakePolygon, @@ -44,13 +44,13 @@ BRepBuilderAPI_MakeEdge, BRepBuilderAPI_MakeVertex, BRepBuilderAPI_FindPlane) -from OCC.Core.BRepPrimAPI import (BRepPrimAPI_MakeBox, BRepPrimAPI_MakePrism) -from OCC.Core.BRepOffsetAPI import BRepOffsetAPI_MakeEvolved +from OCC.BRepPrimAPI import (BRepPrimAPI_MakeBox, BRepPrimAPI_MakePrism) +from OCC.BRepOffsetAPI import BRepOffsetAPI_MakeEvolved from OCC.GeomAbs import (GeomAbs_Arc, GeomAbs_C2, GeomAbs_C0, GeomAbs_Tangent, GeomAbs_Intersection, GeomAbs_G1, GeomAbs_G2, GeomAbs_C1) -from OCC.Core.TopAbs import TopAbs_REVERSED -from OCC.Core.TopoDS import (TopoDS_Wire, TopoDS_Solid, TopoDS_Vertex, TopoDS_Shape, +from OCC.TopAbs import TopAbs_REVERSED +from OCC.TopoDS import (TopoDS_Wire, TopoDS_Solid, TopoDS_Vertex, TopoDS_Shape, TopoDS_Builder, TopoDS_Compound) from OCC.TColgp import TColgp_SequenceOfVec, TColgp_HArray1OfPnt from OCC.gp import (gp_Vec, gp_Pnt, gp_Dir, gp_Trsf, gp_Ax1, gp_Quaternion, @@ -336,7 +336,7 @@ def make_evolved(spine, profile): def make_pipe(spine, profile): - from OCC.Core.BRepOffsetAPI import BRepOffsetAPI_MakePipe + from OCC.BRepOffsetAPI import BRepOffsetAPI_MakePipe pipe = BRepOffsetAPI_MakePipe(spine, profile) with assert_isdone(pipe, 'failed building pipe'): pipe.Build() @@ -360,7 +360,7 @@ def make_offset_shape(shapeToOffset, offsetDistance, tolerance=TOLERANCE, builds an offsetted shell from a shape construct an offsetted version of the shape ''' - from OCC.Core.BRepOffsetAPI import BRepOffsetAPI_MakeOffsetShape + from OCC.BRepOffsetAPI import BRepOffsetAPI_MakeOffsetShape try: offset = BRepOffsetAPI_MakeOffsetShape(shapeToOffset, offsetDistance, @@ -392,7 +392,7 @@ def make_offset(wire_or_face, offsetDistance, altitude=0, joinType=GeomAbs_Arc): note: a shape that has a negative offsetDistance will return a sharp corner ''' - from OCC.Core.BRepOffsetAPI import BRepOffsetAPI_MakeOffset + from OCC.BRepOffsetAPI import BRepOffsetAPI_MakeOffset _joints = [GeomAbs_Arc, GeomAbs_Tangent, GeomAbs_Intersection] assert joinType in _joints, '%s is not one of %s' % (joinType, _joints) try: @@ -407,7 +407,7 @@ def make_offset(wire_or_face, offsetDistance, altitude=0, joinType=GeomAbs_Arc): def make_loft(elements, ruled=False, tolerance=TOLERANCE, continuity=GeomAbs_C2, check_compatibility=True): - from OCC.Core.BRepOffsetAPI import BRepOffsetAPI_ThruSections + from OCC.BRepOffsetAPI import BRepOffsetAPI_ThruSections sections = BRepOffsetAPI_ThruSections(False, ruled, tolerance) for i in elements: if isinstance(i, TopoDS_Wire): @@ -427,7 +427,7 @@ def make_loft(elements, ruled=False, tolerance=TOLERANCE, continuity=GeomAbs_C2, def make_ruled(edgeA, edgeB): - from OCC.Core.BRepFill import brepfill_Face + from OCC.BRepFill import brepfill_Face return brepfill_Face(edgeA, edgeB) @@ -461,7 +461,7 @@ def make_oriented_box(v_corner, v_x, v_y, v_z): :param v_z: gp_Vec that describes the Z-axis :return: TopoDS_Solid """ - from OCC.Core.BRepOffsetAPI import BRepOffsetAPI_MakePipe + from OCC.BRepOffsetAPI import BRepOffsetAPI_MakePipe verts = map(lambda x: x.as_pnt(), [v_corner, v_corner+v_x, v_corner+v_x+v_y, v_corner+v_y]) p = make_polygon(verts, closed=True) li = make_line(v_corner.as_pnt(), (v_corner+v_z).as_pnt()) @@ -508,7 +508,7 @@ def make_n_sided(edges, points, continuity=GeomAbs_C0): :param continuity: GeomAbs_0, 1, 2 :return: TopoDS_Face """ - from OCC.Core.BRepFill import BRepFill_Filling + from OCC.BRepFill import BRepFill_Filling n_sided = BRepFill_Filling() for edg in edges: n_sided.Add(edg, continuity) @@ -520,8 +520,8 @@ def make_n_sided(edges, points, continuity=GeomAbs_C0): def make_n_sections(edges): - from OCC.Core.TopTools import TopTools_SequenceOfShape - from OCC.Core.BRepFill import BRepFill_NSections + from OCC.TopTools import TopTools_SequenceOfShape + from OCC.BRepFill import BRepFill_NSections seq = TopTools_SequenceOfShape() for i in edges: seq.Append(i) @@ -550,7 +550,7 @@ def make_constrained_surface_from_edges(edges): DOESNT RESPECT BOUNDARIES ''' from OCC.GeomPlate import GeomPlate_MakeApprox, GeomPlate_BuildPlateSurface - from OCC.Core.BRepFill import BRepFill_CurveConstraint + from OCC.BRepFill import BRepFill_CurveConstraint bpSrf = GeomPlate_BuildPlateSurface(3, 15, 2) for edg in edges: c = BRepAdaptor_HCurve() @@ -606,7 +606,7 @@ def sew_shapes(shapes, tolerance=0.001): def boolean_cut(shapeToCutFrom, cuttingShape): - from OCC.Core.BRepAlgoAPI import BRepAlgoAPI_Cut + from OCC.BRepAlgoAPI import BRepAlgoAPI_Cut try: cut = BRepAlgoAPI_Cut(shapeToCutFrom, cuttingShape) print("Can work?", cut.BuilderCanWork()) @@ -631,7 +631,7 @@ def boolean_cut(shapeToCutFrom, cuttingShape): def boolean_fuse(shapeToCutFrom, joiningShape): - from OCC.Core.BRepAlgoAPI import BRepAlgoAPI_Fuse + from OCC.BRepAlgoAPI import BRepAlgoAPI_Fuse join = BRepAlgoAPI_Fuse(shapeToCutFrom, joiningShape) join.RefineEdges() join.FuseEdges() @@ -766,7 +766,7 @@ def rotate(brep, axe, degree, copy=False): def face_normal(face): - from OCC.Core.BRepTools import breptools_UVBounds + from OCC.BRepTools import breptools_UVBounds umin, umax, vmin, vmax = breptools_UVBounds(face) surf = BRep_Tool().Surface(face) props = GeomLProp_SLProps(surf, (umin+umax)/2., (vmin+vmax)/2., 1, TOLERANCE) diff --git a/OCCUtils/Topology.py b/OCCUtils/Topology.py index 72affeb..7a20b0f 100644 --- a/OCCUtils/Topology.py +++ b/OCCUtils/Topology.py @@ -21,17 +21,17 @@ __all__ = ['Topo', 'WireExplorer', 'dumpTopology'] -from OCC.Core.BRep import BRep_Tool +from OCC.BRep import BRep_Tool -from OCC.Core.BRepTools import BRepTools_WireExplorer -from OCC.Core.TopAbs import (TopAbs_VERTEX, TopAbs_EDGE, TopAbs_FACE, TopAbs_WIRE, +from OCC.BRepTools import BRepTools_WireExplorer +from OCC.TopAbs import (TopAbs_VERTEX, TopAbs_EDGE, TopAbs_FACE, TopAbs_WIRE, TopAbs_SHELL, TopAbs_SOLID, TopAbs_COMPOUND, TopAbs_COMPSOLID) -from OCC.Core.TopExp import TopExp_Explorer, topexp_MapShapesAndAncestors -from OCC.Core.TopTools import (TopTools_ListOfShape, +from OCC.TopExp import TopExp_Explorer, topexp_MapShapesAndAncestors +from OCC.TopTools import (TopTools_ListOfShape, TopTools_ListIteratorOfListOfShape, TopTools_IndexedDataMapOfShapeListOfShape) -from OCC.Core.TopoDS import (topods, TopoDS_Wire, TopoDS_Vertex, TopoDS_Edge, +from OCC.TopoDS import (topods, TopoDS_Wire, TopoDS_Vertex, TopoDS_Edge, TopoDS_Face, TopoDS_Shell, TopoDS_Solid, TopoDS_Compound, TopoDS_CompSolid, topods_Edge, topods_Vertex, TopoDS_Iterator) diff --git a/OCCUtils/base.py b/OCCUtils/base.py index 896dc6a..e63d139 100644 --- a/OCCUtils/base.py +++ b/OCCUtils/base.py @@ -37,11 +37,11 @@ import functools -from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_Copy -from OCC.Core.BRepGProp import (brepgprop_VolumeProperties, +from OCC.BRepBuilderAPI import BRepBuilderAPI_Copy +from OCC.BRepGProp import (brepgprop_VolumeProperties, brepgprop_LinearProperties, brepgprop_SurfaceProperties) -from OCC.Core.BRepCheck import (BRepCheck_Vertex, BRepCheck_Edge, BRepCheck_Wire, +from OCC.BRepCheck import (BRepCheck_Vertex, BRepCheck_Edge, BRepCheck_Wire, BRepCheck_Face, BRepCheck_Shell, BRepCheck_Analyzer) from OCC.GProp import GProp_GProps from OCC.Display.SimpleGui import init_display diff --git a/OCCUtils/edge.py b/OCCUtils/edge.py index 13f3c3b..825976f 100644 --- a/OCCUtils/edge.py +++ b/OCCUtils/edge.py @@ -15,20 +15,20 @@ ##You should have received a copy of the GNU Lesser General Public License ##along with pythonOCC. If not, see -from OCC.Core.BRepAdaptor import BRepAdaptor_Curve, BRepAdaptor_HCurve +from OCC.BRepAdaptor import BRepAdaptor_Curve, BRepAdaptor_HCurve from OCC.GCPnts import GCPnts_UniformAbscissa from OCC.Geom import Geom_OffsetCurve, Geom_TrimmedCurve -from OCC.Core.TopExp import topexp -from OCC.Core.TopoDS import TopoDS_Edge, TopoDS_Vertex, TopoDS_Face +from OCC.TopExp import topexp +from OCC.TopoDS import TopoDS_Edge, TopoDS_Vertex, TopoDS_Face from OCC.gp import gp_Vec, gp_Dir, gp_Pnt from OCC.GeomLProp import GeomLProp_CurveTool -from OCC.Core.BRepLProp import BRepLProp_CLProps +from OCC.BRepLProp import BRepLProp_CLProps from OCC.GeomLib import geomlib from OCC.GCPnts import GCPnts_AbscissaPoint from OCC.GeomAPI import GeomAPI_ProjectPointOnCurve from OCC.ShapeAnalysis import ShapeAnalysis_Edge -from OCC.Core.BRep import BRep_Tool, BRep_Tool_Continuity -from OCC.Core.BRepIntCurveSurface import BRepIntCurveSurface_Inter +from OCC.BRep import BRep_Tool, BRep_Tool_Continuity +from OCC.BRepIntCurveSurface import BRepIntCurveSurface_Inter # high-level from OCCUtils.Common import vertex2pnt, minimum_distance, assert_isdone, fix_continuity @@ -457,7 +457,7 @@ def show(self): if __name__ == '__main__': - from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox + from OCC.BRepPrimAPI import BRepPrimAPI_MakeBox from OCCUtils.Topology import Topo b = BRepPrimAPI_MakeBox(10, 20, 30).Shape() t = Topo(b) diff --git a/OCCUtils/face.py b/OCCUtils/face.py index 9c8571f..7449910 100644 --- a/OCCUtils/face.py +++ b/OCCUtils/face.py @@ -15,17 +15,17 @@ ##You should have received a copy of the GNU Lesser General Public License ##along with pythonOCC. If not, see -from OCC.Core.BRep import BRep_Tool_Surface, BRep_Tool -from OCC.Core.BRepTopAdaptor import BRepTopAdaptor_FClass2d +from OCC.BRep import BRep_Tool_Surface, BRep_Tool +from OCC.BRepTopAdaptor import BRepTopAdaptor_FClass2d from OCC.Geom import Geom_Curve from OCC.GeomAPI import GeomAPI_ProjectPointOnSurf from OCC.GeomLib import GeomLib_IsPlanarSurface -from OCC.Core.TopAbs import TopAbs_IN -from OCC.Core.TopExp import topexp -from OCC.Core.TopoDS import TopoDS_Vertex, TopoDS_Face, TopoDS_Edge +from OCC.TopAbs import TopAbs_IN, TopAbs_ON, TopAbs_OUT +from OCC.TopExp import topexp +from OCC.TopoDS import TopoDS_Vertex, TopoDS_Face, TopoDS_Edge from OCC.GeomLProp import GeomLProp_SLProps -from OCC.Core.BRepTools import breptools_UVBounds -from OCC.Core.BRepAdaptor import BRepAdaptor_Surface, BRepAdaptor_HSurface +from OCC.BRepTools import breptools_UVBounds +from OCC.BRepAdaptor import BRepAdaptor_Surface, BRepAdaptor_HSurface from OCC.ShapeAnalysis import ShapeAnalysis_Surface from OCC.GeomProjLib import geomprojlib from OCC.Adaptor3d import Adaptor3d_IsoCurve @@ -283,9 +283,9 @@ def on_trimmed(self, u, v): '''tests whether the surface at the u,v parameter has been trimmed ''' if self._classify_uv is None: - self._classify_uv = BRepTopAdaptor_FClass2d(self, 1e-9) + self._classify_uv = BRepTopAdaptor_FClass2d(self, 1e-9)##1e-9 uv = gp_Pnt2d(u, v) - if self._classify_uv.Perform(uv) == TopAbs_IN: + if self._classify_uv.Perform(uv) == TopAbs_IN:#IN return True else: return False @@ -379,7 +379,7 @@ def __str__(self): return self.__repr__() if __name__ == "__main__": - from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeSphere + from OCC.BRepPrimAPI import BRepPrimAPI_MakeSphere sph = BRepPrimAPI_MakeSphere(1, 1).Face() fc = Face(sph) print(fc.is_trimmed()) diff --git a/OCCUtils/shell.py b/OCCUtils/shell.py index 99434c3..78ac7f4 100644 --- a/OCCUtils/shell.py +++ b/OCCUtils/shell.py @@ -15,7 +15,7 @@ ##You should have received a copy of the GNU Lesser General Public License ##along with pythonOCC. If not, see -from OCC.Core.TopoDS import TopoDS_Shell +from OCC.TopoDS import TopoDS_Shell from OCC.ShapeAnalysis import ShapeAnalysis_Shell from OCCUtils.Topology import Topo diff --git a/OCCUtils/solid.py b/OCCUtils/solid.py index d80df0a..bf4605e 100644 --- a/OCCUtils/solid.py +++ b/OCCUtils/solid.py @@ -15,7 +15,7 @@ ##You should have received a copy of the GNU Lesser General Public License ##along with pythonOCC. If not, see -from OCC.Core.TopoDS import TopoDS_Solid +from OCC.TopoDS import TopoDS_Solid from OCCUtils.Topology import Topo from OCCUtils.base import GlobalProperties, BaseObject diff --git a/OCCUtils/types_lut.py b/OCCUtils/types_lut.py index 4541bd3..394abd7 100644 --- a/OCCUtils/types_lut.py +++ b/OCCUtils/types_lut.py @@ -15,11 +15,11 @@ ##You should have received a copy of the GNU Lesser General Public License ##along with pythonOCC. If not, see -from OCC.Core.BRepCheck import * +from OCC.BRepCheck import * from OCC.GeomAbs import * -from OCC.Core.TopoDS import topods, TopoDS_Shape -from OCC.Core.BRep import BRep_Tool_Surface -from OCC.Core.TopAbs import * +from OCC.TopoDS import topods, TopoDS_Shape +from OCC.BRep import BRep_Tool_Surface +from OCC.TopAbs import * from OCC.Geom import Handle_Geom_CylindricalSurface, Handle_Geom_Plane diff --git a/OCCUtils/vertex.py b/OCCUtils/vertex.py index edfd053..953a5db 100644 --- a/OCCUtils/vertex.py +++ b/OCCUtils/vertex.py @@ -16,7 +16,7 @@ ##along with pythonOCC. If not, see from OCC.gp import gp_Pnt, gp_Vec, gp_Dir, gp_XYZ, gp_Pnt2d -from OCC.Core.TopoDS import TopoDS_Vertex +from OCC.TopoDS import TopoDS_Vertex from OCC.ShapeBuild import ShapeBuild_ReShape from OCCUtils.base import BaseObject diff --git a/OCCUtils/wire.py b/OCCUtils/wire.py index 20ed5ca..49ffdda 100644 --- a/OCCUtils/wire.py +++ b/OCCUtils/wire.py @@ -17,7 +17,7 @@ ##You should have received a copy of the GNU Lesser General Public License ##along with pythonOCC. If not, see -from OCC.Core.TopoDS import TopoDS_Wire +from OCC.TopoDS import TopoDS_Wire from OCCUtils.base import BaseObject