Pre ha chiesto in Computer e InternetSoftware · 10 anni fa

auto cad: programmazzione VBA?

ciao a tutti.

stò costruendo un programmino (una routine VBA) che legge i dati da un foglio Excel e li utilizza per costruire un disegno in AutoCad.

Il programma è abbastanza semplice da compilare fino a quando posso sfruttare i comandi tastiera di AutoCad. Il problema viene qualdi AutoCad richiede l'immissione di dati col mouse (ad esempio selezionare un oggetto o un'area). Siccome mi piacerebbe creare un disegno 3D trovo sia indispensabile usare il mouse in certi comandi 8ad esempio "premie e trascina".

Detto questo qualcuno sa dirmi come tradurre in VBA la selezione con il mouse??

...mi rendo conto che la spiegazione è un pò contorta...ma è il meglio che sono riuscito a fare...

1 risposta

Classificazione
  • 10 anni fa
    Migliore risposta

    Devi usare la libreria Utility, es. metti un pulsante cmdSeleziona nella form e all'evento click assegni la sub seguente. Al termine della selezione la variabile string handleObj conterrà l'identificatore univoco dell'oggetto, per recuperare quell'oggetto basterà scrivere:

    Set objAcad = Thisdrawing.HandleToObject(handleObj)

    Potrai poi usare i metodi per spostare l'oggetto es. objAcad.move(ptIniziale, ptFinale)

    Private Sub cmdSeleziona_Click()

    'Nascondo la form

    Me.hide

    Dim returnObj As AcadObject

    Dim basePnt As Variant

    dim handleObj as string

    On Error GoTo msgError

    Thisdrawing.Utility.GetEntity retObj, basePnt, "Seleziona un oggetto"

    handleObj = retObj.Handle

    Me.Show

    Exit Sub

    msgError:

    Err.Clear

    MsgBox "Programma terminato", , "Esempio di selezione oggetto"

    Me.Show

    End Sub

    • Accedi per rispondere alle risposte
Altre domande? Fai una domanda e ottieni le risposte che cerchi.