mercoledì, marzo 19, 2014
giovedì, marzo 13, 2014
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
C:\ProgramData\Autodesk\Revit\Addins\2014
Etichette:
API,
auto floor maker,
BIM Manager,
door threshold,
Revit
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.
Etichette:
API,
door threshold,
external commands,
Revit
Iscriviti a:
Post (Atom)