- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Denunciar
mirror objects over arc
Is it possible to mirror objects over arc or circle (I want to mirror the objects from inside to outside the circle)
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Denunciar
Hi,
no, butween is regular, or?
it's easy to create by using ARRAY or ARRAYCLASSIC
Sebastian
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Denunciar
Might want to take a look at @Kent1Cooper suggestion here:
Use APPLOAD to load the attached LSP, then type MAO - see sample:
Please select the "Accept as Solution" button if my post solves your issue or answers your question.
Emilio Valentin
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Denunciar
i also tried to change Lee Macs Quick Mirror to do that
;; Original code by Lee Mac: https://www.lee-mac.com/quickmirror.html
;;
;; Changed to try mirroring objects along a curve
;; Mirror SelectionSet about selected object
(defun c:QM nil (QuickMirror nil nil))
(defun QuickMirror ( single delete / *error* _StartUndo _EndUndo doc ent ss sscount sel p1 p2 o ) (vl-load-com)
;; © Lee Mac 2011
(defun *error* ( msg )
(if doc (_EndUndo doc))
(or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
(princ (strcat "\n** Error: " msg " **")))
(princ)
)
(defun _StartUndo ( doc ) (_EndUndo doc)
(vla-StartUndoMark doc)
)
(defun _EndUndo ( doc )
(if (= 8 (logand 8 (getvar 'UNDOCTL)))
(vla-EndUndoMark doc)
)
)
(setq sscount 0)
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
(if (or single (setq ss (ssget "_:L" '((0 . "INSERT")))))
(progn
(while (not ent)
(setq ent (car (setq sel (entsel "\nSelect Mirror Object: "))))
)
(while (< sscount (sslength ss))
(cond
(
(and sel
(not
(vl-catch-all-error-p
(setq p1
(vl-catch-all-apply 'vlax-curve-getClosestPointto
(list (car sel) (trans (cdr (assoc 10 (entget (ssname ss sscount)))) 1 0))
)
)
)
)
)
(setq p2
(polar p1
(angle '(0. 0. 0.)
(vlax-curve-getFirstDeriv (car sel)
(vlax-curve-getParamatPoint (car sel) p1)
)
)
1.
)
)
(setq p1 (vlax-3D-point p1) p2 (vlax-3D-point p2))
(_StartUndo doc)
(if ss
(progn
(vla-mirror (setq o (vlax-ename->vla-object (ssname ss sscount))) p1 p2)
(if delete (vla-delete o))
)
(progn
(vla-mirror (setq o (vlax-ename->vla-object (car sel))) p1 p2)
(if delete (vla-delete o))
)
)
(setq sscount (1+ sscount))
(_EndUndo doc)
)
)
)
)
)
(princ)
)
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Denunciar
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Denunciar
It can be done with ease, if you redraw them this way:
Create a block with one of these arrow-things. The attachment point of the arrow are 0.0 coordinates in the block.
The arrow should face up or down.
Place the block along the circle with DIVIDE - select block (and write the name of the block) - allign yes - type in the amount of arrows you want.
Now you can change the direction of the arrows by opening the block and rotate all by 180°.
(Just be careful if you have this setting multiple times. Rotating the arrows this way will affect all circles.)
EDIT: oh...if the arrows (or whatever objects you drew in the block) are not symmetrical, you might need to mirror them in the block, not rotate.