sabato 4 giugno 2011

VB.net: problemi tra OLEDB.4.0 e Windows 7 64 bit

Se si cambia sistema operativo e si passa a Windows 7 64 bit è possibile riscontrare un errore nella lettura dei database con Microsoft.Jet.OLEDB.4.0. Infatti il VB.net genera il seguente messaggio di errore:
"The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
L’errore è abbastanza misterioso se si pensa che Windows 7 dovrebbe essere più performante dei vecchi sistemi operativi a 32 bit. E’ comunque possibile risolverlo chiedendo al compilatore di compilare il programma in modilità x86. Per fare ciò bisogna cercare nel browser di Visual Studio la voce My Project, andare nella scheda Compilazione, cliccare su Opzioni di compilazioni avanzate e forzare la CPU di destinazione a x86.

sabato 19 febbraio 2011

SetXData in Vb.Net

Nel passaggio dalla programmazione in VBA a quella in Vb.Net è possibile incontrare un errore in questa istruzione:

Object.SetXData(Tipo, Codice)

se la variabile Tipo è dichiarata Integer.
Cambiando la definizione della variabile Tipo ad Int16 l’errore scompare. Questo accade perché nel passaggio tra VBA e .Net, come è noto, le variabili Integer passano dai 16 bit ai 32 del .Net e nella riscrittura della classe SetXData si sono probabilmente dimenticati di questo passaggio.

venerdì 7 gennaio 2011

VB.net: Creare la variabile thisdrawing con i suoi eventi

Nel passaggio dal VBA al VB.NET per Autocad è fondamentale ricreare la variabile “thisdrawing” con tutti i suoi eventi (tipo EndCommand, Activate ecc.).
Ecco un modo per farlo:
 
Imports Autodesk.AutoCAD.Interop
Imports Autodesk.AutoCAD.Interop.Common
 
Public Class Esempio
Dim AcadApp As Autodesk.AutoCAD.Interop.AcadApplication = GetObject_
(, "Autocad.Application")
Public WithEvents ThisDrawing As_
Autodesk.AutoCAD.Interop.AcadDocument = AcadApp.ActiveDocument

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As_
System.EventArgs) Handles Button1.Click
 Dim pt As Object
 Dim pt1 As Object
 Me.Visible = False
 pt = ThisDrawing.Utility.GetPoint(, "Seleziona il primo punto:")
 pt1 = ThisDrawing.Utility.GetPoint(pt, "Seleziona il secondo punto:")
 ThisDrawing.ModelSpace.AddLine(pt, pt1)
 MessageBox.Show("Linea disegnata")
 Me.Visible = True
End Sub
Private Sub ThisDrawing_EndCommand(ByVal CommandName As String)_
Handles ThisDrawing.EndCommand
 MessageBox.Show("Fine comando")
 End Sub
End Class

domenica 14 novembre 2010

Istruzioni di montaggio Picocad carpenteria

Dopo le necessarie prove su “strada” del lavoro svolto e le relative correzioni, è tempo di compilare le istruzioni di montaggio del sistema di soppalchi monopiano Picocad carpenteria. Realizzate tramite Inventor 2010, queste hanno il compito di guidare gli operai verso il corretto montaggio dell’impalcato. In particolare illustrano l’esatto impiego della viteria in tutte le combinazioni possibili dei nodi trave-trave, trave-montante, trave-controventi di falda, montanti-controventi verticali e travi-balaustra.   

domenica 22 agosto 2010

Messa in tavola automatica degli oggetti 3D di un progetto autocad

Lavoro concluso. L’applicativo VBA che permette di progettare e preventivare un soppalco in carpenteria è terminato. Una volta ultimato il progetto, con la scelta dei profili dall’applicativo Picocad marchiati con un numero progressivo, è possibile eseguire la messa in tavola automatica di tutti i profili inseriti nel disegno 3D con un semplice clic del mouse. Il programma crea delle tavole 2d per ogni tipo di profilo ed è in grado di riconoscere gli oggetti uguali, con le stesse forature e lavorazioni, da raggruppare nella stessa tavola. Ecco il componente marchiato 1 e quello marchiato 2. Inoltre scorpora tutta la ferramenta necessaria per il montaggio raggruppandola in un unico collo o “lista di prelievo”. E’ anche possibile eseguire una lista del materiale e delle lavorazioni per la richiesta preventivo dal fornitore.
Cliccando i collegamenti (e l’immagine) è possibile vedere un piccolo esempio di una semplice campata progettata ed il risultato della messa in tavola.