Newsgroup: it.comp.lang.visual-basic
Titolo: ActiveX in AutoCAD

Qualcuno sa dove posso trovare informazioni sugli oggetti ActiveX
incorporati in AutoCAD? Sul sito dell'autodesk ho trovato solo un file PDF
che rappresentava lo schema globale, ma senza indicazioni di metodi,
proprietą ed eventi.
Nessuno poi sa dirmi se in AutoCAD LT gli oggetti ActiveX sono presenti (lo
so che LT non ha l'interfaccia VBA, ma non penso che abbiano scritto due
volte il programma, quindi ritengo che i controlli ActiveX esistano comunque
all'interno dell' LT, ma non ne so nulla di preciso).
Ciao e grazie.

 all'interno dell' LT, ma non ne so nulla di preciso).
io credo che siano proprio programmi diversi (o cmq la versione 'in rosso'
con molti moduli in meno); ACAD LT non supporta l'automazione (dalla
versione 3 alla 2000, le altre non so ma non penso proprio).
digressione: con la LT 98 (mai capito perchè hanno saltato la 99, cmq..) si
poteva caricare il Lisp con un OCX prodotto da non so quale ditta giapponese
(e concesso mi pare a 500$ *a licenza* [...]), cosa prontamente bloccata
nell'ultima versione dalla AutoDesk    :):)
(se t'interessa posso informarmi su questo OCX, ce l'ha un mio amico)
gli unici modi per fare automazione con l'ACAD LT sono:
- SendKeys (grezzo grezzo)
- DDE (ebbene si, almeno questo lo supporta!  :D)
- Script
- Personalizzazione dei file mnu
riguardo all'ACAD 'grosso', oltre ai metodi sopraelencati sono disponibili
(con grande gioia degli sviluppatori):
- Lisp
- VBA
- ARX
per grosse elaborazioni (su diversi blocchi e/o layer) il VBA risulta
decisamente lento rispetto al Lisp (verificato fino alla versione 14, con la
2000 non ho provato ma immagino che non ci siano grandi differenze)
gli ARX sono 'estensioni' di ACAD scritti in C (tipo plug-in, aggiungono
funzionalità)
hth
Faber

 Faber
Andrea

Quindi secondo voi non è assolutamente possibile eseguire operazioni di
editing degli attributi in AutoCAD LT con Visual basic?
Qualcuno mi sa dire cos'è Send Keys?

- Personalizzazione dei file mnu
Scusa, cos'è il DDE

 con una sola chiamata VBA
cioè, fammi capire... io faccio una DLL ActiveX in VB, poi con una chiamata
Lisp accedo al VBA che, a sua volta, carica la DLL? non mi sembra granché
performante...
io sono dell'opinione che se non ti servono cose particolari (come gestione
delle finestre del disegno) la cosa ideale sia il Lisp; per le maschere puoi
fare delle DCL, e l'accesso al DB del disegno è sicuramente più veloce in
Lisp che in VBA
il discorso 'comodità' è un'altra cosa... cmq con il Visual Lisp si sono
fatti grossi passi avanti in questo senso
Ciao
Faber

 Qualcuno mi sa dire cos'è Send Keys?
SendKeys è una funzione di VB che permette di mandare una sequenza di tasti
all'applicazione in primo piano. nel caso in questione risulta utile per
mandare comandi ad AutoCAD.
per maggiori informazioni su questa funzione puoi consultare l'help di VB,
oppure fare una ricerca su MSDN OnLine (
http://msdn.microsoft.com
)
Ciao
Faber

So cos'è il DDE, ma non so come inviare messaggi DDE ad AutoCAD da Excel.
Riguardo al DDE ho visto le impostazioni nelle opzioni per i tipi di file,
con cui vengono definite le azioni da eseguire sui file DWG (open e plot)
per default. Ma come posso mandare un nuovo messaggio DDE (cioè un messaggio
mio nuovo).
Ciao e grazie.

 So cos'è il DDE, ma non so come inviare messaggi DDE ad AutoCAD da
Excel.
Non l'ho mai fatto, ma Autocad ha un ambiente con vba all'interno, ti
converra' sicuramente agire di li' e non con il DDE, che personalmente
non
uso dai tempi di Windows 3.1, ma che e' stato "soppiantato" dall'avvento
di OLE.

 di OLE.
stiamo parlando di ACAD LT, che non ha VBA
Faber