>> 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

Reply via email to