Tenha uma nova experiência ao navegar no Fórum pelo computador de forma integrada ao portal principal. Acesse o seguinte link: https://www.autolisp.com.br/board/. Entretanto para dispositivos móveis recomendamos acessar este outro link: https://www.autolisp.com.br/forum/

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 » Qui 31 Ago 2006 1:38:38 pm

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 » Qui 31 Ago 2006 3:34:26 pm

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 » Sáb 02 Set 2006 10:14:41 pm

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