|
发表于 2022-7-6 15:52:23
|
显示全部楼层
this might work, after switching to c3d, i had to rewrite the retired land desktop command "continuous copy". i finally got around to doing it friday.
you are more than welcome to it if it's what you need.
[code];;; ------------------------------------------------------------------------;;; ContinuousCopy.lsp;;;;;; Copyright© 03.06.09;;; Alan J. Thompson (alanjt);;;;;; Permission to use, copy, modify, and distribute this software;;; for any purpose and without fee is hereby granted, provided;;; that the above copyright notice appears in all copies and;;; that both that copyright notice and the limited warranty and;;; restricted rights notice below appear in all supporting;;; documentation.;;;;;; Modeled after the Land Desktop 'retired' "Continuous Copy" command;;; (some coding borrowed from original Land Desktop routine).;;; User is able to continuously copy selected object(s) along a;;; defined angle & distance. Distance may be changed at any time.;;;;;; ------------------------------------------------------------------------(defun c:CC () (c:ContinuousCopy))(defun c:ContinuousCopy (/ *error* #OldCmdecho #CopyGroup #Angle #Dist #Temp #Ent);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SUBROUTINES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;error handler (defun *error* (msg) (if #OldCmdecho (setvar "cmdecho" #OldCmdecho) ) ) ;_ defun;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MAIN ROUTINE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq #OldCmdecho (getvar "cmdecho")) (setvar "cmdecho" 0) (prompt "\nContinuous Copy") (if (and (setq #CopyGroup (ssget ":L")) (setq #Angle (getangle "\nAngle for copy: ")) (setq #Dist (getdist "\nDistance to copy: ")) (setq #Temp (strcat "@" (rtos #Dist 2 6) " |
|