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

Vorrei sapere:
E' possibile che una macro in VBA legga dati da un file e passi i
conseguenti comandi di disegno ad autocad; disegno fatto di primitive
2D e 3D ?
Se si dove posso trovare un tutorial sui comandi da passare (conosco
già il visual basic) ?
Grazie,
Tommaso

www.afralisp.net
 

 
www.afralisp.net
non ho trovato i riferimenti ai comandi di Autocad; forse sono io che
non riesco a trovarli nel sito che mi hai indicato.
Puoi darmi altre indicazioni?
Gtazie
Tommaso

 2D Parametric for 2000-2008 <
(strcat "I like " (substr (ver) 8 4) "!")
--

Cioa Tommaso
Se vuoi ti mando un manuale in pdf dell'autodesk che davano sul cd di 
autocad sino alla versione 2000. Dovrebbe esserti sufficiente per fare ciò 
che ti serve, sono 430 pagine in inglese e spazia dalla gestione input alla 
creazione e modifica delle entità.
Fammi sapere se vuoi che te lo spedisco e se la tua casella e-mail e 
sufficiente. Sono 4.17 mega zippato.
Ciao Gattaccio 

Guida ad Visual Basic for Application per AutoCAD.
http://www.emicad.it/EmiCAD/manuali/index.asp
http://www.emicad.it/EmiCAD/manuali/vbadev.zip
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

gią il visual basic) ?
Quello che vuoi fare lo puoi fare con gli script
Si tratta di file di testo dove dai i comandi e le opzioni dei comandi
proprio come li daresti a tastiera da AutoCAD, il file lo devi poi
salvare cone stensione SCR e caricare in AutoCAD.

 salvare cone stensione SCR e caricare in AutoCAD.
Bentornato!
G.B.Francesconi 


te ne sarei grato, grazie
studiost...@libero.it

 salvare cone stensione SCR e caricare in AutoCAD.
Mi interessa molto quello che dici.
Sto valutando tutte le possibilità di realizzazione di questo mio
software.
Potresti darmi maggiori indicazioni e link per la realizzazione dei
files SCR?
Grazie

Spedito.
Ciao Gattaccio 



Se mi fai capire bene le tue esigenze, è possibile che troviamo la
soluzione migliore.
Tu vuoi scrivere una macro VBA di AutoCAD che legge dei dati presi da
un file e compia azioni in AutoCAD. Ma questi dati su quest'altro
file, come vengono creati? Leggendo le tue risposte al thread mi è
sembrato di capire che hai una routine VB, e perchè tramite VB + VBA
non piloti direttamente AutoCAD dalla tua routine? Perchè fare ricorso
ad un file "di mezzo"?


wrote:

In un mio software (VB) io mi ritrovo ad archiviare elementi
costruttivi 3D che costituiscono un edificio.
Durante l'input, se lo ritengo necessario, voglio vedere il modello
solido per verificare se tutto procede secondo progetto e, nel caso
volessi, potrei modificare qualcosa richiamando il record da
modificare o eliminandolo per seguire la mia idea di progetto.
La parte di visualizzazione del modello solido io l'ho provata in
diversi modi ma con risultati poco soddisfacenti:
 - con   la grafica diretta (funzioni 2D e routine per le viste 3D
(ivi comprese le routines per divisione in traingoli, z buffer,
matrici, ecc)   in questo caso il PC lavora molto e poi non so come
fare ad inserire un vuoto porta o finestra , l'ho fatto solo per muro
a parallelepipedo e 1 sola porta o finestra, altrimenti il discorso si
complica di molto);
- costruendo un file DXF e passandolo ad Autocad, ma per fare questo,
poichè posso farlo solo con i DXF 2D, devo sempre ricondurmi ai
triangoli; per i DXF 3D non riesco a capire come si costruisce, anche
se in autocad vi sono molte indicazioni.
- costruendo un file POV del PovRay, vabene ma il PvRay non è
vettoriale e siccome successivamente dovrei passare alla stampa con le
dimensioni, testi ed altro, non si può realizzate tutto
- ho pensato ai file STEP, da passare al modellatore, ma non ho
trovato indicazioni sufficienti
- ho pensato ai file SCRIPT (SCR) che mi sembra possano andare meglio,
ma devo trovare come passare alcuni comandi di Autocad (in particolare
come selezionare una entità geometrica già introdotta per modificarla)
- Ho pensato al VB sia per utilizzare librerie grafiche (direct o
OpenGL), ma non ho concretizzato la prova che mi sembra alquanto
complicato perché non sono previste le operazioni booleane
- Ho visto che con il C++ potrei utilizzare le librerie grafiche
SgCore che mi sembrano molto buone e complete, perché non mi va di
studiare il C++
In conclusione penso che la via migliore sia quella del file di
interscambio, ma quale?
Spero di essere stato chiaro
Ti ho annoiato con i miei problemi, in ogni caso grazie
dell'attenzione


se sei capace di programmare in VB il sistema migliore è quello di
scrivere direttamente le primitive in Autocad con VB.
dopo aver attivato il riferimento alla libreria Autocad 2006 Type
Library o quella che hai,
con autocad aperto ed un disegno nuovo aperto, basta collegarsi con
un'istruzione del tipo:
Set AutoCAD = GetObject(, "AutoCAD.Application.16.2")
dove il 16.2 è per autocad 2006 e dipende dalla versione
poi bisogna sapere che primitive che devi usare, ce ne sono molte le
prime che mi vengono in mente sono, le linee, gli archi, e le facce 3d
che essendo piene, con il comando "NASCONDI", ti nascondono le linee
nascoste.
Le istruzioni VB, o VBA che sono uguali sono:
Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
Set arcObj = ThisDrawing.ModelSpace.AddArc(centerPoint, radius,
startAngleInRadian, endAngleInRadian)
Set faceObj = ThisDrawing.ModelSpace.Add3DFace(point1, point2, point3,
point4)
ecc...
i punti sono del tipo
Dim point1(0 To 2) As Double
tutte le informazioni ci sono nell'help in linea di autocad.
se ha bisogno di altre informazioni  fammi sapere.
ciao da jonny


OK,OK,OK  siamo sualla via giusta
(mi sembra di avere capito come se dovessi disegnare dalla linea dei
comandi anzicchè utilizzare i menu a
tendina e il mouse e passarli tutti via VB)
se è così dove posso trovare tutti i comandi di autocad?
grazie ancora
Tommaso

se č cosě dove posso trovare tutti i comandi di autocad?
E' estatamente cosě, in pratica tu collegi il VB ad AutoCAD, e poi
piloti AutoCAD mediante l'albero ad oggetti di AutoCAD, come in uno
script VBA.
Le informazioni sui modi di creare le primitive, di selezionarle e
mantenerle memorizzate lo trovi sull'help in linea di AutoCAD, vedendo
la guida sviluppatori e particolarmente quella al VBA. C'č l'Object
Model che i fa vedere le gerarchie di oggetti e quindi i metori che
puoi utilizzare.
Altre informazioni le trovi sul sito 
http://www.afralisp.net/

 Altre informazioni le trovi sul sitohttp://
www.afralisp.net/
Vi ringrazio tutti, siete stati di grande aiuto.
Ciao