Newsgroup: it.comp.lang.visual-basic
Titolo: apertura di cad e disegni da vb5

ciao a tutti,
sono riuscito ad aprire autocad da vb5 ma non riesco a disegnarci da vb!
cioč, con il seguente listato associato alla form INIZIO apro il file
autocadr14  SCHMA.DWG  (uno cosi per provare) :
Private Sub Form_Load()
inizio.Width = Screen.Width
inizio.Height = Screen.Height
inizio.Show
inizio.Top = 0
inizio.Left = 0
lanciacad
End Sub
Public Sub lanciacad()
Dim CADObject As Object
Set CADObject = GetObject("C:\SCHEMA.dwg")
CADObject.Width = inizio.Width / 2
End Sub
quando provo ad inserire perň disegni o testo nel file di cad aperto
con il metodo indicato nella guida in linea di vb5 (alla voce getobject)
mi da errore, cioč con le seguenti linee di codice
CADObject.line (0,0)-(1000,1000)
sto facendo una castroneria?
sono ai primi approcci con vb5 quindi non so!!!

 sono ai primi approcci con vb5 quindi non so!!!
Ciao,
sono contento che tu sua partito, ma la strada è ancora lunga.
Vai nell'Help di Autocad, --->Manuali in linea ---> Manuali Cad --->
Guida di riferimento Automazione ActiveX
Li dentro trovi il modello ad oggetti. Ti mando uno stralcio dell'Help
per fare una linea:
Sub Example_AddLine()
    ' This example adds a line in model space
 
    Dim lineObj As AcadLine
    Dim startPoint(0 To 2) As Double
    Dim endPoint(0 To 2) As Double
 
    ' Define the start and end points for the line
    startPoint(0) = 1#: startPoint(1) = 1#: startPoint(2) = 0#
    endPoint(0) = 5#: endPoint(1) = 5#: endPoint(2) = 0#
 
    ' Create the line in model space
    Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
    ThisDrawing.ActiveViewport.ZoomAll
 
End Sub 
Nota: ThisDrawing è il Document, in VBA è un oggetto di sistema.
Leonardo
-- 
-------------------------------------------------------------------
        ///
       / ^ \
      ( o-o )
--oOOO--(_)--OOOo--------------------------------------------------
                 Leonardo Tagliavini 
                 Via del Navile 1/3
                 40131 Bologna Italy
                 Tel. 051-6344416
 
    oooO
   (   )   Oooo. e-mail:  mailto:
lta...@iol.it
----\ (----(   ----------------------------------------------------
     \_)    ) /
           (_/
------ ``This message is printed on 100% recycled electrons.''-----
-------------------------------------------------------------------

 
Non è questione propriamente del codice, la puoi risolvere in 2 modi:
O nelli "riferimenti" del tuo progetto aggiungi il riferimento
all'Automation Autocad (se AutoCad è installato lo trovi in elenco, ma
non mi ricordo esattamente come si chiama) e allora ogni volta che fai
un Dim ti trovi in elenco tutti gli oggetti di AutoCad e con F2 l'object
browser ti mostra anche le librie suddette
oppure
 
dichiari lineObj come Object
Il vantaggio della prima soluzione è che è molto facile lavorare dui
metodi e le proprierà degli oggetti, lo svantaggio è che col compilato
potresti avere dei casini a seconda delle versioni e release
dell'Autocad


 
Io ho cercato di cavarmela con l'help e gli esempi. Guarda e studiati il
VBA, è più antipatico  ma l'ActiveX è lo stesso, per cui sostanzialmente
i programmi VBA si adattano al VB.
Cerca il VBA nell'help, fai partire l'IDE VBA e caricati un esempio, ti
illuminerai.
Leo
