>> Hi, >> >> I'm pretty new to pythonocc and am impressed by it. Thanks for your work! >> >> After I ran across splines the other day I am now trying to use >> opencascade and pythonocc for curve definitions and anaylsis. But I >> could not figure out how to concat two splines into one. The mailing >> list and searching the internet only showed examples on how to do it in >> C++, and I can not adopt it to python! The function I'd like to use is >> GeomConvert().ConcatG1(), but I can't figure out how to declare the >> third parameter of type Handle_TColGeom_HArray1OfBSplineCurve. I always >> get a constructor or type error. See the listing of my little sample >> programm. >> >> #Line >> L2 = GC_MakeSegment(L1.Lin(),0,8) >> L3 = Geom_TrimmedCurve(L1.GetHandle(),0,8) >> L3_S = >> >> GeomConvert().CurveToBSplineCurve(L3.GetHandle(),Convert.Convert_TgtThetaOver2 >> ) >> >> #Circle >> P2 = gp_Pnt(2,8,0) >> N = gp_Dir(0,0,-1) >> C1 = Geom_Circle(gp.gp_Ax2(P2,N),2) >> C3 = Geom_TrimmedCurve(C1.GetHandle(),0,math.pi/2) >> C3_S = >> >> GeomConvert().CurveToBSplineCurve(C3.GetHandle(),Convert.Convert_TgtThetaOver2 >> ) >> >> #concat >> curves = TColGeom_Array1OfBSplineCurve(0,1) >> curves.SetValue(0,L3_S) >> curves.SetValue(1,C3_S) >> print curves.Length() >> tol = TColStd_Array1OfReal(0,0) >> tol.SetValue(0,0.0) >> >> newCurve = Handle_TColGeom_HArray1OfBSplineCurve() >> GeomConvert().ConcatG1(curves, tol, newCurve, False, 0.0) >> >> Regards, >> Nathan >>
> Hi Nathan, > > I don't see any error in your code. Can you provide the traceback > and/or a sample script so that we can help you to figure out what's > wrong? > > Regards, > > Thomas Hi Thomas Thanks for the quick answer. The following traceback is printed Traceback (most recent call last): File "example.py", line 35, in <module> GeomConvert().ConcatG1(curves, tol, newCurve, False, 0.0) File "/usr/lib/python2.5/site-packages/OCC/GeomConvert.py", line 266, in ConcatG1 return _GeomConvert.GeomConvert_ConcatG1(*args) RuntimeError: Standard_ConstructionError And here the sample program: #!/usr/bin/env python from OCC.gp import * from OCC.Geom import * from OCC.GeomConvert import * from OCC.TColStd import * from OCC.TColGeom import * from OCC.GC import * import math #Line P1 = gp_Pnt(0,0,0) D = gp_Dir(0,1,0) L1 = Geom_Line(P1,D) L2 = GC_MakeSegment(L1.Lin(),0,8) L3 = Geom_TrimmedCurve(L1.GetHandle(),0,8) L3_S = GeomConvert().CurveToBSplineCurve(L3.GetHandle(),Convert.Convert_TgtThetaOver2) #Circle P2 = gp_Pnt(2,8,0) N = gp_Dir(0,0,-1) C1 = Geom_Circle(gp.gp_Ax2(P2,N),2) C3 = Geom_TrimmedCurve(C1.GetHandle(),0,math.pi/2) C3_S =GeomConvert().CurveToBSplineCurve(C3.GetHandle(),Convert.Convert_TgtThetaOver2) #concat curves = TColGeom_Array1OfBSplineCurve(0,1) curves.SetValue(0,L3_S) curves.SetValue(1,C3_S) tol = TColStd_Array1OfReal(0,0) tol.SetValue(0,0.0) newCurve = Handle_TColGeom_HArray1OfBSplineCurve() GeomConvert().ConcatG1(curves, tol, newCurve, False, 0.0) Regards, Nathan -- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 _______________________________________________ Pythonocc-users mailing list Pythonocc-users@gna.org https://mail.gna.org/listinfo/pythonocc-users