mercoledì, marzo 19, 2014

RVT Links into RFA Families




Just fooling around with groups... no actual use comes to mind, yet interesting though :)

giovedì, marzo 13, 2014

Any ideas what has just happen to my ribbon bar?


Sometimes Revit bites you... I couldn't complete the editing of the floor, any ideas?

domenica, marzo 09, 2014

Auto Floor Maker 2 - External Command





Con questo external command ho raggruppato le funzionalità di tutti i miei lavori sulla creazione automatica dei pavimenti. Ora da una semplice selezione di locali e porte è possibile associare anche il tipo di pavimento che si desidera in un apposito form.



Da ora in avanti proverò a distribuire le add-in gratuitamente e con la formula  pay what you want (paga ciò che vuoi).

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

puntorevit@gmail.com


Se ritenete che le mie add-in siano di una qualche utilità e volete che continui con il mio lavoro potete dimostrarlo pagando quello che volete tramite PayPal:

puntorevit@gmail.com

Questo il file DLL e questa l'ADDIN (da sbloccare con il tasto destro) da copiare qui:

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


sabato, marzo 08, 2014

Door Threshold External Command - Update


Questo il file DLL da sostituire a quello precedente, qui invece il codice sorgente.

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

puntorevit@gmail.com

Grazie in modo particolare a Luca Vocella che ha contribuito con la sua esperienza a farmi ragionare su questo problema permettendomi di leggere il suo codice.
In effetti ho poi preferito prendere una strada diversa.
In particolare ho applicato il suo suggerimento per quanto riguarda l'estrapolazione degli Edge utilizzando la possibilità di RollBack delle transaction (ossia il poter eseguire dei comandi che modificano il database senza poi effettivamente finalizzarli, quindi usando il RollBack in luogo del Commit).
Quello che svolge il comando è semplice: l'utente deve selezionare le porte con una finestra di selezione e poi assegnare il tipo di pavimento nel form successivo.
Per ciascuna porta viene ricavato il muro host il quale viene abbassato di due piedi rispetto al suo livello attuale (potrebbe non funzionare se il punto di inserimento della porta è al di sotto di due piedi rispetto al livello) e vengono create due liste di curve: una contenente le curve corrispondenti agli edge del muro con la porta  (A), e l'altra contenente le curve corrispondenti agli edge del muro senza porta (B).
Questo proprio grazie al metodo di RollBack per cui si può cambiare il valore di offset dal livello di base del muro ed eliminare una porta solo per ricavare le informazioni sulle curve che servono senza di fatto cambiare veramente il modello, geniale non è vero?
La parte "difficile" è stata quella relativa alla restituzione delle curve relative alla sola porta: per ciascuna curva della lista A, si confronta il punto medio con ciascuno dei punti medi delle curve della lista B.
Se da questo confronto non c'è corrispondenza significa che la curva è relativa alla porta che si sta analizzando e se la quota Z del punto medio è uguale a quella del punto di inserimento della porta viene aggiunta alla lista C che verrà ordinata con l'algoritmo di Jeremy Tammik per poi creare il pavimento in una nuova transazione.