>> 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
[email protected]
https://mail.gna.org/listinfo/pythonocc-users