pako80
09-01-2017, 14:18
Ciao ragazzi, ho creato una macro con excel per farmi generare un file di script che poi utilizzo con autocad per farmi delle stampe di più fogli. Questo tutto ok, solo che sto provando ad integrare la cosa direttamente in autocad senza passare per excel.
Il problema che ho al momento è l'utilizzo della funzione "SetWindowToPlot" che ho utilizzato seguendo l'esempio riportato qui (http://adndevblog.typepad.com/autocad/2016/05/plot-to-window-extents-using-vba.html).
Quello che vorrei fare è modificare i valori dei punti da plottare (aggiungendo delle costanti) chiamati nell'esempio point1DCS e point2DCS, aggiungendo una cosa del tipo:
Dim point1_DCS As Variant
Dim x_basso, x_basso_new, As Double
Dim prova1(), prova2() As Variant
x_basso = point1DCS(0)
x_basso_new = x_basso + orizzontale
prova1(0) = x_basso_new
ThisDrawing.ActiveLayout.SetWindowToPlot prova1, point2_DCS
Nell'esempio ho provato a modificare solo una coordinata, ma ricevo l'errore:
"Errore di runtime '5'. Chiamata di routine o argomenti non validi"
La variabile setwindowtoplot c'è scritto che richiede parametri del tipo "Type: Variant (two-element array of doubles)"
Ho provato vari modi di dichiarare la mia variabile prova1, ma non ho capito come fare, funziona solo se utilizzo la funzione GetPoint, ma io voglio prendere i punti solo una prima volta e poi spostarli man mano di una costante. Non so se mi sono spiegato bene.
Qualche consiglio? Dove sbaglio?
Grazie
Il problema che ho al momento è l'utilizzo della funzione "SetWindowToPlot" che ho utilizzato seguendo l'esempio riportato qui (http://adndevblog.typepad.com/autocad/2016/05/plot-to-window-extents-using-vba.html).
Quello che vorrei fare è modificare i valori dei punti da plottare (aggiungendo delle costanti) chiamati nell'esempio point1DCS e point2DCS, aggiungendo una cosa del tipo:
Dim point1_DCS As Variant
Dim x_basso, x_basso_new, As Double
Dim prova1(), prova2() As Variant
x_basso = point1DCS(0)
x_basso_new = x_basso + orizzontale
prova1(0) = x_basso_new
ThisDrawing.ActiveLayout.SetWindowToPlot prova1, point2_DCS
Nell'esempio ho provato a modificare solo una coordinata, ma ricevo l'errore:
"Errore di runtime '5'. Chiamata di routine o argomenti non validi"
La variabile setwindowtoplot c'è scritto che richiede parametri del tipo "Type: Variant (two-element array of doubles)"
Ho provato vari modi di dichiarare la mia variabile prova1, ma non ho capito come fare, funziona solo se utilizzo la funzione GetPoint, ma io voglio prendere i punti solo una prima volta e poi spostarli man mano di una costante. Non so se mi sono spiegato bene.
Qualche consiglio? Dove sbaglio?
Grazie