Not sure where I got it and when, I may have stripped out the authors name in the past.

A great time saver when your working with a lot of parts.

;###########################################################################;# #;# Rotate Reference Designator Text on Silkscreen and Assembly Layers #;# #;# This routine rotates Silkscreen and Assembly Reference Designators #;# such that they are all "rightward reading". This means that all RDs #;# will read left to right if they are horizontal, or bottom to top if #;# they are vertical. #;# #;# Additionally, any Assy RD will automatically be moved to the component #;# origin. #;# #;# #;# Usage: rotate_silkassy (from within Allegro) #;###########################################################################

;##########################;# Register Program Name #;##########################

axlCmdRegister("rotate_silkassy" 'RotateSilkAssyRD)

;#############################;# MAIN Program Starts Here. #;#############################

(defun RotateSilkAssyRD ()

; ==== Initialize Global Variables ====

Layer_List = nil Text_List = nil Layer_List = nil justify = ""

LRBT = t ; Left to Right, Bottom to Top LRTB = nil ; Left to Right, Top to Bottom RLBT = nil ; Right to Left, Bottom to Top RLTB = nil ; Right to Left, Top to Bottom

I will double test the code later, since there are some symols which are not fixed/locked, the code can not move the silkscreen to the component center.But when I choose ignore fixed property, the all silkscreen can be adjust well.

I suspect there are any worry members has been excluded in the text list.

Has anyone tried running this in 16.5? I am new to Cadence and trying to speed up the process on our designs. We have a plethora of components so rotating silkscreen on by one is very painful. I tried running the skill and this is what I get.

Skill > load("/Cadence/test_area/RotateSilkAssyRD.il")

function RotateSilkAssyRD redefined

function doRotateSilkAssy redefined

function rotateSilkAssy redefined

function createTextBlock_RD redefined

function rotateRDForm_Action redefined

function createRotateRDForm redefined

t

It does not look like it does anything else. No silk was rotated on the design. Is all it doing is setting variables?