TuttoCAD Forum

TuttoCAD Forum
[ Home | Registrati | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Album Fotografico | Download | | Cerca | FAQ ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 1 - TuttoCAD Software
 AutoLISP
 Copiare dimensioni oggetto OLE e IMAGE

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Faccine
Felice [:)] Davvero Felice [:D] Caldo [8D] Imbarazzato [:I]
Goloso [:P] Diavoletto [):] Occhiolino [;)] Clown [:o)]
Occhio Nero [B)] Palla Otto [8] Infelice [:(] Compiaciuto [8)]
Scioccato [:0] Arrabbiato [:(!] Morto [xx(] Assonnato [|)]
Bacio [:X] Approvazione [^] Disapprovazione [V] Domanda [?]
Seleziona altre faccine

    
 
   

V I S U A L I Z Z A    D I S C U S S I O N E
arri Inserito il - 05 marzo 2014 : 11:19:51
spesso capita di inserire più oggetti ole o immagini e di avere la necessità di ridimensionarle allo stesso modo.
Si può fare tramite la finestra proprietà,
ma sarebbe meglio con un lisp che chiedesse di selezionare l'OLE di riferimento e successivamente gli OLE da ridimensionare

Purtroppo non sono ancora riuscito a trovare nulla in rete
3   U L T I M E    R I S P O S T E    (in alto le più recenti)
GP Inserito il - 05 marzo 2014 : 19:07:53
Prego

Se gli oggetti OLE da scalare hanno il rapporto L/H bloccato vengono aggiornati in base alla larghezza.
arri Inserito il - 05 marzo 2014 : 15:11:14
Messaggio inserito da GP

Prova questo:

(defun c:OLEsc ( / OLErif OLEtot *y* *x* OLE)
    (command "_.undo" "_begin")
    (if (and
            (setq OLErif (vlax-ename->vla-object (car (entsel "Oggetto OLE di riferimento"))))
            (princ "\nOggetti OLE da scalare")
            (setq OLEtot  (ssget '((0 . "OLE*"))))
            (setq *y* (vlax-get OLErif 'ScaleHeight))
            (setq *x* (vlax-get OLErif 'ScaleWidth))            
        )
        (repeat (setq n (sslength OLEtot))
            (setq OLE (vlax-ename->vla-object (ssname OLEtot (setq n (1- n)))))
            (vlax-put OLE 'ScaleHeight *y*)
            (vlax-put OLE 'ScaleWidth *x*)
        )
    )
    (command "_.undo" "_end")
)


Nota: vengono aggiornate % scala larghezza e % scala altezza mantenendo il punto d'inserimento che per default è in alto a sinistra.


è un capolavoro !!!!

Grazie mille GP

GP Inserito il - 05 marzo 2014 : 15:03:57
Prova questo:

(defun c:OLEsc ( / OLErif OLEtot *y* *x* OLE)
    (command "_.undo" "_begin")
    (if (and
            (setq OLErif (vlax-ename->vla-object (car (entsel "Oggetto OLE di riferimento"))))
            (princ "\nOggetti OLE da scalare")
            (setq OLEtot  (ssget '((0 . "OLE*"))))
            (setq *y* (vlax-get OLErif 'ScaleHeight))
            (setq *x* (vlax-get OLErif 'ScaleWidth))            
        )
        (repeat (setq n (sslength OLEtot))
            (setq OLE (vlax-ename->vla-object (ssname OLEtot (setq n (1- n)))))
            (vlax-put OLE 'ScaleHeight *y*)
            (vlax-put OLE 'ScaleWidth *x*)
        )
    )
    (command "_.undo" "_end")
)


Nota: vengono aggiornate % scala larghezza e % scala altezza mantenendo il punto d'inserimento che per default è in alto a sinistra.

TuttoCAD Forum © 2001-2010 CADLandia Torna all'inizio della Pagina
Pagina generata in 0,76 secondi.