I wrote a little something to create flanges with just a few questions. The code is simple enough, but the holes on the bolt circle are always arrayed from a center point which is a hole radius away from the diameter center. Confused ? Good. Here's the code, try it out. It's french, but most of you shouldn't have a problem with that. And yes, Bride means flange. Thanx Dr Fleau ;;; Bride.lsp ;;; Dessine une bride avec quelques questions ;;; Trace les centres des cercles avant de faire un array (DEFUN c:bride (/ out in bc num trou cen cen1 cir1 cir2 cir3) (SETQ out (GETREAL "Donne le diamètre EXTÉRIEUR : ") in (GETREAL "Donne le diamètre INTÉRIEUR :") bc (GETREAL "Donne le diamètre de perçage : ") num (GETINT "Combien de trous : ") trou (GETREAL "Quel diamètre de trou : ") cen (GETPOINT "Point d'insertion : ") ) ;_ end of setq (IF (NOT (AND (TBLSEARCH "layer" "Axe") (TBLSEARCH "layer" "Pièce") ) ;_ END and ) ;_ END not (PROGN (COMMAND "layer" "m" "Axe" "c" "Red" "" "l" "center" "" "") ;_ END COMMAND (COMMAND "layer" "m" "Pièce" "c" "Magenta" "" "l" "continuous" "" "") ;_ END COMMAND ) ;_ END progn ) (SETVAR "OSMODE" 0) (setvar "CLAYER" "Pièce") (COMMAND "_.circle" cen "D" out) (COMMAND "_.circle" cen "D" in) (SETQ cen1 (POLAR cen (/ PI 2) (/ bc 2))) (COMMAND "_.circle" cen1 "D" trou) (setq cir1 (entlast)) (setvar "CLAYER" "AXE") (command "_.line" (polar cen1 (/ pi 2) (/ trou 2)) (polar cen1 (/ pi -2) (/ trou 2)) "") (setq cir2 (entlast)) (command "_.line" (polar cen1 pi (/ trou 2)) (polar cen1 0.0 (/ trou 2)) "") (setq cir3 (entlast)) (setvar "OSMODE" 0) (command "_.regen") (COMMAND "_.array" cir1 cir2 cir3 "" "P" cen num 360 "N") (setvar "CLAYER" "Pièce") (SETVAR "OSMODE" 183) (PRINC) ) ;_ end of defun