How to compute the length of a spline using the Python API

import s4l_v1.model as model
import XCoreModeling

def get_spline_length(spline):
    wire = XCoreModeling.GetWires(spline)[0]
    target_curve = wire.GetGeometry(transform_to_model_space=True)
    target_path = target_curve.GetLaw()
    target_path_start = target_curve.ParameterRange.Start
    target_path_end = target_curve.ParameterRange.End
    return target_path_end - target_path_start

  
# usage example
s = model.AllEntities()['Spline 1']
s_length = get_spline_length(s)
print 'Length of spline {} is: {}'.format(s.Name, s_length)

Works perfectly, thanks!

Edit,
I think you could also get away with:

import s4l_v1.model as model
import XCoreModeling

def get_spline_length(spline):
	wire = XCoreModeling.GetWires(spline)[0]           
        return wire.GetLength()
Log in to reply