For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings


Need to speed up your development?
Have a look at our:

Samples & Tools


Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

Build 3D ogive model from list of points

Eduardo Firvida's picture

Hi, I already have this function that give me the profile of a ogive nose shape as described in wikipedia, and I want to create a 3D model with tath, but the pythonocc documentation an examples are poor so I don't know who to do it. I think that the best way to do this is making a revolution araund the x axes, but how to do that?

def ogive_nose(l,r):
    rn = 1./5. * r

    rho = (r**2+l**2)/(2*r)
    x = np.linspace(0,l,20)[2:]
    y = np.sqrt(rho**2-(l-x)**2)+r-rho

    x_0 = l-sqrt((rho-rn)**2-(rho-r)**2)
    y_t = rn*(rho-r)/(rho-rn)
    x_t = x_0 - np.sqrt(rn**2-y_t**2)
    x_a = x_0 - rn

    arc = arc2points_np((x_0,0),(x_a,0),(x_t,y_t),resolution=5)
    arc = arc.tolist()
    nose = arc+zip(x,y)+[[l,i] for i in np.linspace(0,r,5,endpoint=False)]

    return nose