Skip to content

Commit ec30af2

Browse files
committed
compatibility with ipy
1 parent e8221b8 commit ec30af2

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

src/compas_occ/geometry/curves/nurbs.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
from math import sqrt
22

33
from typing import Dict, List
4-
from compas.geometry import Point, Vector
4+
from compas.geometry import Point
5+
from compas.geometry import Vector
6+
# from compas.geometry import Line
57
from compas.geometry import Transformation
68
from compas.geometry import Frame
79
from compas.geometry import Circle
@@ -36,7 +38,7 @@
3638
from OCC.Core.TopoDS import topods_Edge
3739
from OCC.Core.TopoDS import TopoDS_Shape
3840
from OCC.Core.TopoDS import TopoDS_Edge
39-
from OCC.Core.BRep import BRep_Tool_Curve
41+
# from OCC.Core.BRep import BRep_Tool_Curve
4042
from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakeEdge
4143
from OCC.Core.TColgp import TColgp_Array1OfPnt
4244
from OCC.Core.TColStd import TColStd_Array1OfReal
@@ -46,7 +48,6 @@
4648
from OCC.Core.STEPControl import STEPControl_Writer
4749
from OCC.Core.STEPControl import STEPControl_AsIs
4850

49-
5051
Point.from_occ = classmethod(compas_point_from_occ_point)
5152
Point.to_occ = compas_point_to_occ_point
5253
Vector.from_occ = classmethod(compas_vector_from_occ_vector)
@@ -114,7 +115,7 @@ def JSONSCHEMANAME(self):
114115
raise NotImplementedError
115116

116117
def __init__(self, name=None) -> None:
117-
super().__init__(name=name)
118+
super(OCCNurbsCurve, self).__init__(name=name)
118119
self.occ_curve = None
119120

120121
def __eq__(self, other: 'OCCNurbsCurve') -> bool:
@@ -282,10 +283,18 @@ def from_step(cls, filepath: str) -> 'OCCNurbsCurve':
282283
@classmethod
283284
def from_edge(cls, edge: TopoDS_Edge) -> 'OCCNurbsCurve':
284285
"""Construct a NURBS curve from an existing OCC TopoDS_Edge."""
285-
res = BRep_Tool_Curve(edge)
286-
if len(res) != 3:
287-
return
288-
return cls.from_occ(res[0])
286+
from compas_occ.brep import BRepEdge
287+
# res = BRep_Tool_Curve(edge)
288+
# if len(res) != 3:
289+
# return
290+
# curve = GeomAdaptor_Curve(res[0])
291+
# ctype = curve.GetType()
292+
# if ctype == 0:
293+
# return cls.from_line()
294+
brepedge = BRepEdge(edge)
295+
if brepedge.is_line:
296+
line = brepedge.to_line()
297+
return cls.from_line(line)
289298

290299
@classmethod
291300
def from_arc(cls, arc, degree, pointcount=None):

src/compas_occ/geometry/surfaces/nurbs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ def JSONSCHEMANAME(self):
144144
raise NotImplementedError
145145

146146
def __init__(self, name: str = None) -> None:
147-
super().__init__(name=name)
147+
super(OCCNurbsSurface, self).__init__(name=name)
148148
self.occ_surface = None
149149
self._points = None
150150

0 commit comments

Comments
 (0)