Etichette

Visualizzazione post con etichetta Autodesk. Mostra tutti i post
Visualizzazione post con etichetta Autodesk. Mostra tutti i post

martedì 10 dicembre 2013

5th place Autodesk Apphack 2.0 - eVoxGconnect

Rieccomi di ritorno dall'Autodesk University!

5° posto all'autodesk apphack 2.0 superati i 2 round di selezione indenne mi sono fronteggiato con i team americani. Risultato comunque soddisfacente visto che il mio team era composto da me medesimo.

http://adndevblog.typepad.com/autocad/apphack-20-winners.html



domenica 20 ottobre 2013

Your Revit add-in with a new wonderful ribbon tab - template visual studio

In this article I will explain a simple way to build a solution with a customized ribbon tab inside revit.

Let's start opening the basic template here.

Take a look to the code:

The first thing you need to do is to set your application  for creating a new ribbon tab:

 public class Applicationclass : IExternalApplication  
   {  
     #region IExternalApplication Members  
     public Autodesk.Revit.UI.Result OnStartup(UIControlledApplication application)  
     {  
       string path = Assembly.GetExecutingAssembly().Location; //<-----The path of the dll file for your addin  
       //add code here if you want to run functions on Revit Startup  
       //Set the contextual help which show help file pushing "F1"  
       ContextualHelp help = new ContextualHelp(ContextualHelpType.Url, "YOUR URL HERE");  
       //Create a new Ribbon tab  
       application.CreateRibbonTab("THE_TAB_NAME");  
       //Create a new Ribbon Panel inside the ribbon tab  
       RibbonPanel panel = application.CreateRibbonPanel("THE_TAB_NAME", "THE_PANEL_NAME");  
       //Create a new button and insert it into the panel  
       //btn1 = a unique identifier for the button  
       //Name_Button= The name of the button you want to be shown  
       //path = the path of the addin dll file  
       //Classname = the full class name for your command  
       PushButtonData manag = new PushButtonData("btn1", "Name_BUTTON", path, "Revit_AppWithCustomRibbon.YOURCOMMAND");  
       //set the contextual help for your command  
       manag.SetContextualHelp(help);  
       //add the button to the panel  
       panel.AddItem(manag);  
       return Result.Succeeded;  
     }  
     public Autodesk.Revit.UI.Result OnShutdown(UIControlledApplication application)  
     {  
       //Remove events if needed  
       return Result.Succeeded;  
     }  
     #endregion  
   }  

Now you are able to create your commands as I shown here:

   //Add your external commands here or in another file  
   [Autodesk.Revit.Attributes.Transaction(  
   Autodesk.Revit.Attributes.TransactionMode.Manual)]  
   public class YOURCOMMAND : IExternalCommand  
   {  
     public Result Execute(  
   ExternalCommandData commandData,  
   ref string message,  
   ElementSet elements)  
     {  
       TaskDialog.Show("Hello", "Hello world!");  
       return Result.Succeeded;  
     }  
   }  



Here the Code

lunedì 7 ottobre 2013

Quantification dettagliato con Navisworks Quantification

In questo articolo vi spiegherò in modo generico come è possibile creare un computo utilizzando il modulo quantification di Navisworks. In particolare vi mostrerò come poter estrarre quantità dettagliate da un vostro progetto di Revit.

1. Salvataggio e preparazione del vostro modello rvt.

Per questo esempio userò un vecchio modello, abbastanza dettagliato che ci permetterà di capire come preparare il modello per l'estrazione dei dati.

Come prima cosa, dobbiamo selezionare l'intero modello e creare le parti relative a muri, solai e tetti.
Questo ci permetterà di estrarre le quantità relative ai diversi strati che compongono i diversi componenti in modo dettagliato: Selezionamo l'intero progetto e nella scheda "Modify" troverete il tasto "Create Parts"

In corrispondenza dei muri dovreste ottenere un risultato del genere:



Ora salvate il progetto, possibilmente cambiando nome così da mantenere i file separati.

2. Preparate Navisworks

Avviate naviswork, cliccate sulla N in alto a sinistra e cliccate su "Options". Aprite l'albero in corrispondenza di "File readers" e selezionate "Revit"

Impostate la finestra come in figura:


3 Importate il progetto di Revit

Cliccate su "Append" e selezionate il vostro progetto salvato precedentemente. Attendete il caricamento e vedrete il vostro progetto nella viewport.

4 Inizializziamo il computo

Cliccate su "Quantification" e dovrebbe comparirvi la barra "Quantification Workbook".
Cliccate su "Project Setup", selezionate un catalogo a vostro piacere dalla lista o caricatene uno cliccando su "Browse to a catalog" 

Concludete la procedura guidata impostando le unità di misura.Quando avrete finito dovreste ottenere questo risultato:


5 Selezioniamo gli elementi da computare

Per la selezione possiamo procedere in diversi modi:
  1. selezioniamo direttamente dalla viewport
  2. Ricerchiamo cliccando su "Find items" in basso a sinistra
In questo esempio vi mostro come computare gli strati di un muro automaticamente usando il secondo sistema.
Nel mio caso ho cercato tutti gli strati con il materiale lastra e dovrete impostare la ricerca come in figura, sostituendo il materiale che vi interessa.

Cliccate su "Find all" e nel browser vedrete selezionati gli elementi che vi interessano

6 Estrapoliamo le quantità

Adesso che avete gli elementi selezionati dovrete tornare sulla barra "Quantification Workbook", selezionare la categoria in cui far rientrare gli elementi selezionati e cliccare sul menù a tendina "Model takeoff" selezionando "Take off to new catalog Item"


Se avete fatto tutto correttamente dovreste ottenere questo risultato.


A questo punto potete esportare le quantità in base alle vostre esigenze.

Più avanti vi mostrerò come estrarre quantità utilizzando parametri personalizzati e come impostare le diverse formule.Alla prossima!



Rispondiamo a qualche domanda prima...

In questo articolo cercherò di fornire un'introduzione alle api che Autodesk mette a disposizione per lo sviluppo di componenti aggiuntivi collegati ai propri software. Non mi soffermerò su un software in particolare, ma darò una panoramica generale delle risorse utili a chi si avvicina a questo mondo per la prima volta.
Inizierò rispondendo ad alcune semplici domande che chiunque si farebbe e che mi sarebbero tornate utili quando iniziai :)

- Perchè sviluppare plug-in può rivelarsi utile nel mondo del lavoro?

Le API nascono principalmente per fornire uno strumento utile ai programmatori per creare moduli di collegamento o esportazione dai diversi software Autodesk ai propri. Perchè? Autodesk ha milioni di utenti in tutto il mondo e la creazione di un modulo aggiuntivo può valorizzare meglio il software specifico sviluppato per un determinato settore.
Sviluppare plug-in, tuttavia, può rendersi utile anche a Ingegneri(di tutte le specie), Architetti o designer che vogliono automatizzare il proprio modo di lavorare limitando 1000 operazioni (ad esempio) a un semplice click, risparmiando tempo e fornendo servizi in modo più veloce.

I vantaggi sono molti:
- Maggiore velocità di esecuzione
- Riducete al minimo l'errore umano
- Eliminate lavori monotoni e lunghi
- Automatizzate le procedure del vostro ufficio
- Minor tempo = Denaro (tanto il cliente mica lo viene a sapere :P)
- Possibilità di guadagnare

...e andiamo con gli svantaggi:
- la creazione di add-in, soprattutto per chi è alle prime armi, porta via molto tempo; tempo che probabilmente non abbiamo, o che ci serve per finire i lavori.
- Per chi non è programmatore trovare una risposta nelle API è un pò difficile, ma non impossibile. Munitevi di tanta buona pazienza!

- Da cosa dovrei cominciare per imparare?

Qua c'è da fare una distinzione: c'è chi impara perchè vuole mettersi seriamente nel campo e sviluppare applicazioni innovative (magari da distribuire) e chi invece vuole solo automatizzare delle procedure ripetitive.

Per la prima categoria: Iniziate imparando le basi di un linguaggio a vostra scelta tra C# o VBA. So che sono più complessi ma questo vi servirà a risolvere moltissimi problemi e ad aprirvi un pò la mente sulle possibilità esistenti con la programmazione.
Cercate qualche buon tutorial online, non avete bisogno di capire tutto alla perfezione, ma un' infarinatura generale è sicuramente un buon inizio. Sarete voi stessi a documentarvi meglio su determinati argomenti man mano che avrete problemi da risolvere. 
Capite le basi della programmazione ad oggetti, vi aiuterà a costruire un software con una buona struttura.
Un buon libro su visual studio è consigliato, sicuramente. 
Dovrete assolutamente imparare ad usare il software e a programmare qualche piccola applicazione (niente di complicato, qualche esercizio preliminare).

Per entrambi le categorie: consigliatissimi i tutorial sul sito autodesk, la serie My first plug-in di cui non vi lascio il link per ovvie ragioni; vi basterà cercare "Revit API my first plug-in" e vi comparirà tra i primi risultati.

- API, cosa sono?

Application Programming Interface...non spaventatevi; è semplicemente una porta che ci permette di comunicare con i software, messa a disposizione dei programmatori e contenente delle funzioni proprie per permettere di creare applicazioni che interagiscono tra di loro. Ad oggi i software che vengono distribuiti con le API sono tantissimi, soprattutto tra i "GRANDI". Le API sono fondamentali e permettono lo sviluppo dei diversi software esistenti.


- Costi per sviluppare?

A parte la licenza del software autodesk non ci sono costi ulteriori...visual c# express(il software per programmare) viene distribuito gratuitamente. Le API invece vengono distribuite insieme al programma per cui bisognerà disporre di una licenza.

- Software da utilizzare?

- Revit, Inventor o Autocad...il software su cui volete sviluppare il plug-in
- Visual C# Express o visual studio

- Perchè non vi fornisco Link?

Non voglio condizionarvi...purtroppo il campo della programmazione è vasto e complesso...dovrete trovare la risorsa che meglio risponde alle vostre esigenze cercando tra gli argomenti che vi ho illustrato...vedrete che vi troverete meglio! 

Rimanete collegati! nei prossimi articoli vi spiegherò come procedere alla compilazione del vostro plug-in fornendovi un vero e proprio workflow!