31 Δεκ 2010

Μπορώ να συνδέσω το Excel με το Autocad ;

Γενικά ΝΑΙ !

Αρχικά θα πρέπει να εξασφαλίσουμε ότι έχει γίνει πλήρης εγκατάσταση και στο Excel και στο Autocad. Στη συνέχεια , και με δεδομένο ότι έχουμε τουλάχιστον 1GB RAM στον υπολογιστή μας , θα πρέπει να φτιάξουμε κάποια μακροεντολή στη VBA του Excel ή οποία ανοίγει κανάλι επικοινωνίας με το Autocad το οποίο θα πρέπει να είναι ανοικτό ώστε να μην παρατηρηθούν δυσλειτουργίες και κολλήματα !

Στην VBA του Excel θα πρέπει να φτιάξουμε νέα μακροεντολή και να την "συνδέσουμε" με κάποιο κουμπί το οποίο πατώντας το , θα υλοποιείται η σύνδεση.








Η σύνδεση υλοποιείται με τον παρακάτω κώδικα :


Sub AcadConnect()


On Error Resume Next


Set AcadApp = GetObject(, "Autocad.Application")
If Err Then
    Err.Clear
    Set AcadApp = CreateObject("Autocad.Application")
    AcadApp.Visible = True
    If Err Then
        MsgBox Err.Description
        Exit Sub
    End If
End If


End Sub


Εξυπακούεται ότι το Autocad είναι ανοικτό σε κενό έγγραφο.


Ο παρακάτω κώδικας στέλνει αυτόματα κείμενο στο Autocad.



Sub AcadText(xp, yp, h, Angle,txt)
    Dim pp(0 To 2) As Double
    
    pp(0) = xp: pp(1) = yp: pp(2) = 0#
    Set TextObj = AcadApp.ActiveDocument.ModelSpace.AddText(txt, pp, h)
    TextObj.Rotation = Angle
    
End Sub


Ενώ ο παρακάτω κώδικας αναλαμβάνει να στείλει αυτόματα στο Autocad ευθύγραμμο τμήμα που ξεκινά από το σημείο xe,ye και τελειώνει στο σημείο xe,ye.




Sub AcadLine(xs As Double, ys As Double, xe As Double, ye As Double)
    Dim sp(0 To 2) As Double
    Dim ep(0 To 2) As Double
    
    sp(0) = xs
    sp(1) = ys
    sp(2) = 0#
    ep(0) = xe
    ep(1) = ye
    ep(2) = 0#
    
    Set LineObj = AcadApp.ActiveDocument.ModelSpace.AddLine(sp, ep)
    
    
End Sub


Η σύνδεση γενικά βοηθά όταν πρέπει να "στείλουμε" δεδομένα τα οποία ζητάμε να σχεδιαστούν αυτόματα στο Autocad. Τα δεδομένα αυτά θα είναι οργανωμένα σε γραμμές και στήλες σε κάποιοι φύλλο εργασίας του Excel και με κάποιο "κουμπί" , τα δεδομένα που διαβάστηκαν θα σχεδιάζονται στο περιβάλλον του Autocad.

Σύντομα θα υπάρξουν αναλυτικά παραδείγματα.