Condividi:        

script per autocad

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

script per autocad

Postdi federicob » 23/10/17 15:06

Salve
vorrei sapere come creare un file script per importare dei testi su autocad in un punto predeterminato.
federicob
Newbie
 
Post: 2
Iscritto il: 21/10/17 14:39

Sponsor
 

Re: script per autocad

Postdi alfrimpa » 23/10/17 15:19

federicob ha scritto:Salve
vorrei sapere come creare un file script per importare dei testi su autocad in un punto predeterminato.


Perdonami forse non capisco ma cosa c'entra Autocad con Office?
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: script per autocad

Postdi wallace&gromit » 23/10/17 15:49

c'entra, c'entra...
in excel si possono preparare script che permettono di posizionare gli oggetti voluti alle coordinate che si trovano in una tabella.
È necessario creare una macro e per fare ciò serve la struttura dei dati, se alleghi un file di esempio, corrispondente però in modo fedele al tuo caso reale posso compilarla.

Questa è una parte di codice che ho creato per tracciare dei cerchi e mettervi del testo accanto, per mie esigenze creavo delle formule nel foglio excel (questo spiega l'uso di formulalocal, di per sé non necessaria):
Codice: Seleziona tutto
DimCerchio = 5
UROut = Range("AV" & Rows.Count).End(xlUp).Row
If Range("AV" & UROut) = "_pline" Then
Range("AV" & UROut).Clear
Else:
Range("AV" & UROut).FormulaLocal = Range("AV" & UROut) & " "
End If
Range("AV" & UROut + 1) = "_circle"
Range("AV" & UROut + 2).FormulaLocal = Range("AT" & UROut - U + Rif + 1) & "," & Range("AU" & UROut - U + Rif + 1)
Range("AV" & UROut + 3) = DimCerchio
Range("AV" & UROut + 4) = "_point"
Range("AV" & UROut + 5).FormulaLocal = Range("AT" & UROut - U + Rif + 1) & "," & Range("AU" & UROut - U + Rif + 1)
Range("AV" & UROut + 6) = "_text"
Range("AV" & UROut + 7).FormulaLocal = "'@" & DimCerchio * 1.5 & "," & -DimCerchio / 2
Range("AV" & UROut + 8) = DimCerchio
Range("AV" & UROut + 9) = 0
Range("AV" & UROut + 10).FormulaLocal = Round(AzimutStr, 0) & "/" & Round(InclStr, 0)
End If
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: script per autocad

Postdi alfrimpa » 23/10/17 15:51

wallace&gromit ha scritto:c'entra, c'entra...


Chiedo scusa a Federicob e a Wallace per l'ignoranza.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: script per autocad

Postdi wallace&gromit » 23/10/17 16:07

Non si finisce mai di imparare, io faccio il grande ma è una cosa che ho scoperto solo tre settimane fa!
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: script per autocad

Postdi federicob » 23/10/17 16:51

ciao Wallace
praticamente lavoro su 4 colonne:
nella prima ci sono dei testi
nella seconda coordinata est
nella terza coordinata nord
e nella quarta la quota del punto
mi piacerebbe con uno script o macro importare il tutto in autocad e far comparire insieme hai punti il loro nome.

esempio:
1 1000 2000 100
2 3526 5698 125
3 4569 2365 123
etc....

grazie dell'aiuto
federicob
Newbie
 
Post: 2
Iscritto il: 21/10/17 14:39

Re: script per autocad

Postdi wallace&gromit » 24/10/17 08:05

Ecco le macro che creano un cerchio alle coordinate volute con un testo che si trova accanto al cerchio.
Nella colonna A c'è il testo, in B,C,D le coordinate x,y,z. In J2 si specifica la dimensione del cerchio e in J4 la dimensione del testo.
L'output è in colonna F
Codice: Seleziona tutto
Sub CompilaProiezioni()
URIn = Range("A" & Rows.Count).End(xlUp).Row
UROut = Range("F" & Rows.Count).End(xlUp).Row
If UROut = 1 Then
UROut = 2
End If
Range("F" & 2, "F" & UROut).Clear

For i = 2 To URIn
UROut = Range("F" & Rows.Count).End(xlUp).Row
DimCerchio = Range("J2")
DimTesto = Range("J4")
Range("F" & UROut + 1) = "_circle"
Range("F" & UROut + 2).FormulaLocal = Range("B" & i) & "," & Range("C" & i) & "," & Range("D" & i)
Range("F" & UROut + 3) = DimCerchio
Range("F" & UROut + 4) = "_point"
Range("F" & UROut + 5).FormulaLocal = Range("B" & i) & "," & Range("C" & i) & "," & Range("D" & i)
Range("F" & UROut + 6) = "_text"
Range("F" & UROut + 7).FormulaLocal = "'@" & DimCerchio * 1.5 & "," & -DimTesto / 2
Range("F" & UROut + 8) = DimTesto
Range("F" & UROut + 9) = 0
Range("F" & UROut + 10).FormulaLocal = Range("A" & i)
Next i

Call CreaScript

End Sub

Sub CreaScript()
    ScriptName = Application.GetSaveAsFilename("", fileFilter:="File di Testo (*.scr), *.scr")
    On Local Error Resume Next
    Kill ScriptName
    On Error GoTo 0
   
    Open ScriptName For Output As 1
        i = 2
        Do Until Range("F" & i) = ""
                    Print #1, Range("F" & i).Text
            i = i + 1
        Loop
    Close 1
    Range("F2").Select

End Sub


Qui trovi un file d'esempio
http://www.filedropper.com/scriptcoordinateconcerchi
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21


Torna a Applicazioni Office Windows


Topic correlati a "script per autocad":

Script batteria < 30%
Autore: GiuCi
Forum: Software Windows
Risposte: 7

Chi c’è in linea

Visitano il forum: Nessuno e 121 ospiti