Sorry for the delay, was a bit busy
You could do something like use the octal formatting with some changes in that one. E.g.:
Code:
(defun AINC:CUSTOM:Octal+2 (num dgt prec / str)
;; Get the normal Octal representation
(setq str (AInc:Num2Base num (assoc "OCT" AInc#Types) prec))
;; Increment each digit by 2 and return
(vl-string-translate "01234567" "23456789" str)
)
There's probably other ways of doing this as well
If you've got this loaded, the settings dialog should show an option in the Custom format's drop-down called OCTAL+2 ... which should then use this function instead. Unfortunately it's not entirely correct, since you get the following list:
("2" "3" "4" "5" "6" "7" "8" "9" "32" "33" "34" "35" "36" "37" "38" "39" "42" "43" "44" "45" "46" "47" "48" "49" "52" "53" "54" "55" "56" "57" "58")
So actually you only want the last digit to be translated to +2 ... thus:
Code:
(defun AINC:CUSTOM:Octal+2Last (num dgt prec / str)
;; Get the normal Octal representation
(setq str (AInc:Num2Base num (assoc "OCT" AInc#Types) prec))
;; Increment last digit by 2 and return
(strcat
(substr str 1 (1- (strlen str)))
(vl-string-translate "01234567" "23456789" (substr str (strlen str)))
)
)
Which gives exactly what you wanted, i.e.
("2" "3" "4" "5" "6" "7" "8" "9" "12" "13" "14" "15" "16" "17" "18" "19" "22" "23" "24" "25" "26" "27" "28" "29" "32" "33" "34" "35" "36" "37" "38")