SketchSegment是一个抽象类,需要确定特殊实体:


let PrintSketchSegmentInfo (skSeg : SketchSegment) =
    match enum<swSketchSegments_e>(skSeg.GetType()) with
    | swSketchSegments_e.swSketchARC ->
        let swSkArc = skSeg :?> SketchArc
        stringify swSkArc
        
    | swSketchSegments_e.swSketchELLIPSE ->
        let swSkEllipse = skSeg :?> SketchEllipse
        stringify swSkEllipse
        
    | swSketchSegments_e.swSketchLINE ->
        let swSkLine = skSeg :?> SketchLine
        stringify swSkLine
            
    | swSketchSegments_e.swSketchPARABOLA ->
        let swSkParabola = skSeg :?> SketchParabola
        stringify swSkParabola
        
    | swSketchSegments_e.swSketchSPLINE ->
        let swSkSpline = skSeg :?> SketchSpline
        stringify swSkSpline
        
    | swSketchSegments_e.swSketchTEXT ->
        let swSkText = skSeg :?> SketchText
        stringify swSkText

    | _ ->
        raise(ArgumentOutOfRangeException("Unsupported sketch segment"))