Gerar Rotate personalizado. Quem Sabe ?

Dúvidas sobre VB para AutoCAD...

Moderador: Moderadores

Responder
Avatar do usuário
clxramos
Madeira
Madeira
Mensagens: 14
Registrado em: Ter 25 Out 2005 11:00:00 pm

Gerar Rotate personalizado. Quem Sabe ?

Mensagem por clxramos »

Amigos do Fórum, alguém aí tem uma rotina lisp semelhante ao ROTATE do Cad ?

Gerar a ferramenta que captura o ponto de inserção já consegui, porém preciso que o objeto rotacione a medida que eu mova o cursor. Igual o do Cad mesmo porém um personalizado, ok ???

Xavier
Avatar do usuário
FELIXJM
Bronze 3/3
Bronze 3/3
Mensagens: 327
Registrado em: Ter 05 Abr 2005 12:00:00 am

Mensagem por FELIXJM »

Utiliza o PAUSE.

Segue um exemplo onde ENT contem uma entidade e PT o ponto :

(command "ROTATE" ENT "" PT)
(prompt "\nAngulo de Rotação : ")
(command PAUSE)


OK.
Felix Melo - Niteroi - RJ
Avatar do usuário
mcmteca
Concreto
Concreto
Mensagens: 77
Registrado em: Sáb 27 Dez 2003 11:00:00 pm

Lsp Rotação

Mensagem por mcmteca »

Xavier,

Ai vai uma rotina que pode te ajudar em alguma coisa ou alguém interessado.

É so continuar a personalizar.


;;;-------------------------------------------------------------------------
;;; ROTINA PARA ROTACIONAR OBJETOS SELECIONADOS EM ÂNGULOS PRÉ-ESTABELECIDOS
;;; EXEMPLOS:
;;; A) R90 - ROTACIONA O OBJETO A 90° SEM PEDIR A DEFINIÇÃO DO PONTO BASE
;;; B) R90T - ROTACIONA O OBJETO A 90° PEDINDO A DEFINIÇÃO DO PONTO BASE
;;;-------------------------------------------------------------------------
(defun c:r90 ()
(setvar "cmdecho" 0)
(princ "\nSelecione o objeto: ")
(command "rotate" pause "" "@" "90")
(setvar "cmdecho" 1)
(princ)
)

(defun c:r45 ()
(setvar "cmdecho" 0)
(princ "\nSelecione o objeto: ")
(command "rotate" pause "" "@" "45")
(setvar "cmdecho" 1)
(princ)
)

(defun c:r90t (/ ss1)
(setvar "cmdecho" 0)
(princ "\nSelecione os objetos e defina o ponto base: ")
(setq ss1 (ssget))
(command "rotate" SS1 "" pause "90")
(setvar "cmdecho" 1)
(princ)
)

(defun c:r45t (/ ss1)
(setvar "cmdecho" 0)
(princ "\nSelecione os objetos e defina o ponto base: ")
(setq ss1 (ssget))
(command "rotate" SS1 "" pause "120")
(setvar "cmdecho" 1)
(princ)
)

(Princ "\nDigite: R90 (Rotação sem Ponto Base) ou R90T (Rotacão com Ponto Base)")
(Princ)


Márcio
Responder