@@ -1815,31 +1815,25 @@ def fillet_between_edges(edge_1, edge_2, radius):
1815
1815
# assuming edges are in a plane
1816
1816
# extracting vertices
1817
1817
try :
1818
- from OCC .Core import ChFi2d
1819
- from OCC import Core
1818
+ from Part import ChFi2d
1820
1819
except ImportError :
1821
- App .Console .PrintWarning ("python-occ not available" )
1822
- App .Console .PrintWarning ("2d fillets not yet possible" )
1820
+ App .Console .PrintWarning ("Your freecad version has no python bindings for 2d-fillets" )
1823
1821
return [edge_1 , edge_2 ]
1824
1822
1825
- api = ChFi2d .ChFi2d_FilletAPI ()
1826
- p1 = np . array ([ * edge_1 .valueAt (edge_1 .FirstParameter )] )
1827
- p2 = np . array ([ * edge_1 .valueAt (edge_1 .LastParameter )] )
1828
- p3 = np . array ([ * edge_2 .valueAt (edge_2 .FirstParameter )] )
1829
- p4 = np . array ([ * edge_2 .valueAt (edge_2 .LastParameter )] )
1823
+ api = ChFi2d .FilletAPI ()
1824
+ p1 = edge_1 .valueAt (edge_1 .FirstParameter )
1825
+ p2 = edge_1 .valueAt (edge_1 .LastParameter )
1826
+ p3 = edge_2 .valueAt (edge_2 .FirstParameter )
1827
+ p4 = edge_2 .valueAt (edge_2 .LastParameter )
1830
1828
t1 = p2 - p1
1831
1829
t2 = p4 - p3
1832
- n = np .cross (t1 , t2 )
1833
- pln = Core .gp .gp_Pln (Core .gp .gp_Pnt (* p1 ), Core .gp .gp_Dir (* n ))
1834
- occ_e1 = Core .TopoDS .topods_Edge (Part .__toPythonOCC__ (edge_1 ))
1835
- occ_e2 = Core .TopoDS .topods_Edge (Part .__toPythonOCC__ (edge_2 ))
1836
- api .Init (occ_e1 , occ_e2 , pln )
1837
- if api .Perform (radius ) > 0 :
1838
- occ_p0 = Core .gp .gp_Pnt (* ((p2 + p3 ) / 2 ))
1839
- occ_arc = api .Result (occ_p0 , occ_e1 , occ_e2 )
1840
- return Part .Wire ([Part .__fromPythonOCC__ (occ_e1 ),
1841
- Part .__fromPythonOCC__ (occ_arc ),
1842
- Part .__fromPythonOCC__ (occ_e2 )]).Edges
1830
+ n = t1 .cross (t2 )
1831
+ pln = Part .Plane (edge_1 .valueAt (edge_1 .FirstParameter ), n )
1832
+ api .init (edge_1 , edge_2 , pln )
1833
+ if api .perform (radius ) > 0 :
1834
+ p0 = (p2 + p3 ) / 2
1835
+ fillet , e1 , e2 = api .result (p0 )
1836
+ return Part .Wire ([e1 , fillet , e2 ]).Edges
1843
1837
else :
1844
1838
return None
1845
1839
0 commit comments