Try using the ARRAY command.
First post on this forum. I've just switched to 2008 from many years of Generic Cadd (yeah, I'm an old guy) and I'm struggling with some basic stuff.
I need to draw 15 links of chain, each is 5.5" pitch. I select the single link I've drawn, pick the base point, move cursor to the right slightly, enter 5.5" and click enter. 2 links are now shown correctly, but to copy the remaining 13 links, the only way I've found is to keep adding 5.5" increments ( 11, 16.5, 22, etc) with corresponding mouse movements and clicks. That's a lotta typing! For reference, Generic Cadd simply asked for the number of copies after you selected a reference point and offset. I can do this in my head for 5.5" increments, but I hope I never have to draw 3.4317" pitch chain.
Please, someone tell me there's a simpler way.
Try using the ARRAY command.
Freelance Digital Artist
Personal Website: ( Updated 03/21/2014 ) ---> http://www.rdeweese.com/
"Work Smart, Not Hard"
Thanks for the fast answer, CAD64. Yes, I've used the array command, but I thought it was only rectangular and polar. But I see your point, rectangular could be thought of as linear. I'll check it right now.
Yessir, that worked! Thanks very much! Back to work for me, I've got chain to draw.
Registered forum members do not see this ad.
it's the multiple option after you select the object and state the offset distance (in offset)
m (for multiple)
just start left clicking the mouse the side you want to offset on.
wait, you said copy, yeah, array is your best option. sadly, if you had land desktop, there is an AWESOME command (that they retired for some retarded reason) called continuous copy, it would do exactly what you want. select the object, enter/pick distance, enter/pick angle and you are off (you can even change distance mid copying).
here is a very useful one charles alan butler (brilliant man) wrote for arraying and here is one i wrote using his as an example. his will copy a specific distance based on an exterior picked distance, mine will copy a distance based on a specified amount of copies with a picked overall distance (i use it for placing quick parking spaces in an area when it's not for design purposes and i know there are x amount, but not concerned with them being 9 feet spaces).
here are both:
Code:;;; FUNCTION ArrayUCS.lsp ;;; Variation of the Array command, user picks the direction and distance ;;; to fill then enters or picks the object offset distance ;;; Offset direction is the angle of picked points ;;; ;;; ARGUMENTS ;;; none ;;; ;;; USAGE ;;; aUCS ;;; ;;; PLATFORMS ;;; 2000+ ;;; ;;; AUTHOR ;;; Copyright© 2004 Charles Alan Butler ;;; ab2draft@TampaBay.rr.com ;;; ;;; VERSION ;;; 1.0 Oct. 01, 2004 ;;; ;;; YOU MAY USE THIS CODE ONLY FOR *NON-COMMERCIAL* ;;; PURPOSES AND ONLY IF YOU RETAIN ;;; THIS HEADER COMPLETE AND UNALTERED ;;; you must contact me if you want to use it commercially ;;; ;(defun c:aucs (/ p1 p2 ss dist inc step) (defun c:DV (/ p1 p2 ss dist inc step) ;; set ucs to picked angle (defun usc_set (p1 p2 / p3) (setq p3 (polar p1 (+ (* pi 0.5) (angle p1 p2)) 60.0)) (command "UCS" "3" p1 p2 p3) ) ;;================================== ;; Start Routine ;;================================== (setq usercmd (getvar "CMDECHO")) (setvar "CMDECHO" 0) ; (setq useros (getvar "osmode")) ; (setvar "osmode" 175) (prompt "\nSelect objects to offset.") (if (setq ss (ssget)) (progn (prompt "\nPick Direction and Distance of offsets.") (if (setq p1 (getpoint "\n*-* Pick Starting point *-*")) (if (setq p2 (getpoint p1 "\n*-* Pick End point *-*")) (progn (setq step (getdist "\nEnter offset distance. [ENTER=9] ")) (setq step (cond (step) (9))); set to default (setq dist (distance p1 p2) ang (angle p1 p2) inc (1+ (fix (/ dist step))) ) (usc_set p1 p2) (command "_.array" ss "" "R" "" inc step) (command "_ucs" "_p") ) ; end progn ) ; endif ) ; endif ) ; end progn ) ; endif ;;========== Exit Sequence ============ ; (setvar "osmode" useros) (setvar "CMDECHO" usercmd) (princ) ) ; end defun ;(prompt "\nArray UCS Loaded. Enter aUCS to run.") (princ)
Code:;parking space creator ;will array selected objects to create parking spaces (or whatever you want to array along a line) based on ;a picked distance and an entered amount of spaces ;subroutine (ucs_set) and idea borrowed from Charles Alan Butler ;created by: alan thompson 4.15.08 (defun c:PP(/ ss p1 p2 dist space_num space_inc space_dist) ;;set ucs to picked angle (defun ucs_set (p1 p2 / p3) (setq p3 (polar p1 (+ (* pi 0.5) (angle p1 p2)) 60.0)) (command "UCS" "3" p1 p2 p3) ) (setvar "CMDECHO" 0) (prompt "\nSelect objects to offset.") (if (setq ss (ssget)) (progn (prompt "\nPick Direction and Distance of offsets.") (if (setq p1 (getpoint "\n*-* Pick Starting point *-*")) (if (setq p2 (getpoint p1 "\n*-* Pick End point *-*")) (progn (setq dist (distance p1 p2)) (setq space_num (getdist "\nNumber of parking spaces: ")) (if space_num (progn (command "undo" "begin") (setq space_inc (rtos (+ 1 space_num) 2 0)) (setq space_dist (rtos (/ dist space_num))) (ucs_set p1 p2) (command "_.array" ss "" "R" "" space_inc space_dist) (command "_ucs" "_p") (command "erase" "l" "");added to erase last created line, take out of you want to keep it (command "undo" "end") );progn );if space_num );progn );if );if );progn );if (princ) );defun