Newsgroup: it.comp.software.cad
Titolo: VBA e CAD

Salve a tutti,
c'è qualcuno che può dare info sulla programmazione in ambiente autocad
tramite il Visual Basic ?
grazie, Bradipo
--------------------------------
Inviato via 
http://usenet.libero.it

tramite il Visual Basic ?
Prova a fare domande, e vediamo.
Saluti, Aniello
-- 
Aniello Annunziata
Content Director Manager
www.cadlandia.com
aniello.a...@cadlandia.com
Per rispondermi in privato, togli NOGARBAGE dall'indirizzo

 ha scritto:

Intanto grazie per la risposta,
è qualche mese che attendo.....
Per cominciare ti posso dire che conosco AutoLisp (da 1 a 10 mi do 6), e
sono appassionato programmatore del vecchio QB45. Da un pò di tempo sto
cercando di convertire i miei programmi da Dos a Visual Basic 6, ho una
discreta conoscenza di VBA x Excel quindi la logica conseguenza era quella
di poter smanettare in Autocad con il VBA e viste le innumerovoli
possibilità che da il Lisp il VBA x CAD sembrerebbe ampliarle a dismisura.
  Questo incipit era solo per informarti che non ho una domanda su uno
specifico problema ma avrei intenzione di imparare la programmazione per Cad
e non ho trovato ancora nessun manuale in italiano. Da quello che ho potuto
vedere nell'help di autocad ci sono molteplici "passi" per poter disegnare,
per esempio, una linea mentre in lisp
(command "_.LINE" punto1 punto2 "")
Sarebbe gia molto vedere un semplice programma in lisp e l'equivalente in
VBA.
Ciao, Roberto


VBA.
Beh, ho capito i tuoi dubbi. Effettivamente c'è da fare questa
considerazione, l'AutoLISP è un linguaggio nato insieme ad AutoCAD.
Anche se ciò non è vero (venne introdotto senza documentazione nella
vesione 2.17 sotto il nome di "Variables and Expressions"), AutoLISP è
un linguaggio che si è assoggettato compeltamente ad AutoCAD.
Ne è un esempio proprio la funzione (command) che hai citato
nell'esempio.
L'AutoLISP oltre ad interagire con il database del disegno (tramite le
funzioni (ssget), (entget) e così via, permette di interagire con la
riga di comando di AutoCAD, quindi col runtime, per inviare comandi
specifici di AutoCAD.
Questa interazione così stretta non è possibile tramite il VBA, ed
anche la semplice creazione di una nuova entità, non si traduce, come
in AutoLISP, col chiedere al runtime di eseguire il comando di
creazione dell'entità, ma in un accesso al database del disegno,
all'agigunta dell'entità e dei suoi parametri ed all'agigornamento
della visualizzazione del database.
Il VBA è un linguaggio ad oggetti, e l'integrazione con AutoCAD è
avvenuta mediante la fornitura di un modello ad oggetti ad albero ed
alle API (application programming interface) per agire su di esso
(metodi, eventi e proprietà).
Dunque ciò che bisogna studiare è il modello ad oggetti di AutoCAD.
Attraverso la sua esatta conoscenza è possibile effettuare operazioni
ben più complicate rispetto al LISP, potendosi avvalere anche delle
maschere che è più facile creare in VBA.
Personalmente non vedo l'esigenza di tradurre le funzioni fatte in
AutoLISP in VBA, ma spesso mi trovo a scegliere o l'uno o l'altro
linguaggio di programmazione valutando quale dei due porta ad una più
immediata soluzione del problema.


 ha scritto nel messaggio
news:81Z75Z119Z189Y1...@usenet.libero.it...
