Basically "leDefineMPPTemplate" and "rodCreatePath" command's syntax are similar ;*********************************** Syntax of "leDefineMPPTemplate" ******************** tech=techGetTechFile(geGetEditCellView()) leDefineMPPTemplate( ?techId tech ?name Multipartpath_Name ; it should be a string ?layer list("prBoundary" "drawing") ; Master layer name normally set it to prBoundary ?width MPP_Width ?choppable t ?endType "flush" ?beginExt 0.000000 ?endExt 0.000000 ?justification "center" ?offset 0.000000 ?offsetSubPath offsetSubPath_list ?subRect SubRect_list ) ; end of leDefineMPPTemplate ;******************************** Syntax of "rodCreatePath" ****************************** layername=list("prBoundary" "drawing") Points=list(list of points) rodCreatePath( ?name MPP_Name ; it should be a string ?layer layer_name ; this is the master layer name ?pts Points ?width layer_Width ; master layer width ?justification "center" ?cvId cv ?offsetSubPath offsetSubPath_list ?subRect SubRect_list ) ;end rodCreatePath only difference in "rodCreatePath" is you have to pass the Points of the MPP to the ?pts field, which is done by enterPath() function. I hope this will solve your problem. please refer "sklayoutref.pdf" to learn more about these commands