mercoledì, gennaio 08, 2014

View Depth Override Polar Distance - External Command




Ho cambiato del tutto approccio al problema e ho riscritto per intero il comando.
Stavolta la sostituzione grafica non è più limitata ai grigi 128 e 192, ma è un vero e proprio gradiente funzione della distanza tra gli oggetti e l'origine della vista.
Così facendo è possibile applicare praticamente lo stesso codice sia alle viste 2D sia alle prospettive.
Questa versione del comando è molto semplice, leggera e veloce nell'esecuzione ed anche più elegante nel codice.
I comandi sono 3:
  • View Depth Override - Polar Distance per le viste 2D attive
  • View Depth Override 3D - Write List per scrivere il file sul desktop con l'elenco delle viste di prospettiva
  • View Depth Override 3D - Read List per eseguire il view depth override sulle viste elencate nel file (si può editare manualmente il contenuto del file per decidere su quali viste 3D eseguire il comando che andrà lanciato da una qualsiasi altra vista)
Quando si edita il file di testo si deve mantenere il nome e il percorso sul desktop.

Una cosa importante è settare la profondità della vista poiché rappresenta la massima distanza entro cui viene calcolato il gradiente della sostituzione grafica.
Si tratta ancora di un work in progress ed esistono delle casistiche che possono portare ad un overflow (una specie di ciclo infinito), per questo nel codice ho inserito dei punti in cui le eventuali eccezioni al funzionamento riporteranno dei messaggi, nel caso prego chi intenda fare uso di questo comando di segnalarmele nei commenti.

Questo il codice sorgente, qui invece il file DLL e l'ADDIN che vanno copiati qui:

C:\ProgramData\Autodesk\Revit\Addins\2014

Potrebbe essere utile anche consultare questo articolo per sbloccare i file .dll

Ecco una dimostrazione della funzionalità, prossimamente il comando su viste 2D considererà la distanza dal piano della vista così da evitare  gradienti indesiderati su oggetti che appartengono allo stesso piano.

If you are happy with my code you can show me some gratitude paying what you want on PayPal:



puntorevit@gmail.com

4 commenti: