|
It could be made more sophisticated if you weren't using Lite, with AutoLISP functions, but yes, you can do that with a macro. This will require the User to pick 1) the Block [I assume that's what you mean by "symbol"], 2) its insertion point as the basis for both the Copy and Rotate parts, 3) the new location for the copy, and 4) the rotation of the copy. It will do it repeatedly as many times as you want, but will require selecting one to Copy each time [with AutoLISP it would be able to automatically re-select the first one].
*^C^CCOPY \ INS file://%5C%5CROTATE" rel="nofollow - \\ROTATE L ;@ \
If the Blocks you would do this with do not contain anything in them that has its own insertion point [such as Text or nested Blocks], you can have it automatically get the insertion point for you, and save you a step:
*^C^CCOPY \ INS @ \ROTATE L ;@ \
But if they do contain anything nested that has an insertion point, when you pick the Block on that nested part, it will find the nested part's insertion point, rather than the overall Block's insertion point [or even if you pick it on some other part but the nested part is within Object-Snap range and its insertion point is closer than the overall Block's]. So either use the first macro with its extra step, or be careful about where you pick the Block.
Also note that the rotation of the copy will start the same as that of the one selected to Copy, and the Rotate operation will go from there, not from the Block's own zero rotation. So you'd do best by having one at zero rotation that you can select repeatedly to make multiple copies, rather than [for example] each time selecting the last copy you made.
They both depend on the User successfully selecting something, and on its being a Block [actually, it would work with other object types, but might have unexpected results for things that don't have insertion points], and on its not being on a locked Layer. AutoLISP would be able to make allowance for the possibility that you might miss, or pick the wrong kind of object, or pick something on a locked Layer.
|