Esportare info lunghezza da una tavola autocad usando codice Visual Basic

Discussion in 'AutoCAD' started by roberto, May 24, 2006.

  1. roberto

    roberto Guest

    Da ieri mi sono cimentato a programmare in VB per far fare ad Autocad
    ciò che serve veramente a me (AutoLisp è troppo complicato per me!!)
    ma i risultati sono alquanto deludenti. Ecco il mio unico operato:

    Sub sezioni()
    Dim i As Integer
    Dim Lunghezza As Double

    Open "c:\sezioni.txt" For Output As #1
    For i = 0 To ThisDrawing.ModelSpace.Count - 1
    With ThisDrawing.ModelSpace(i)
    If .ObjectName = "AcDbLine" or .ObjectName =
    "AcDbPolyLine" Then
    Lunghezza = .Length
    Print #1, Format(Lunghezza, "0.0000")
    End If
    End With
    Next
    Close #1
    End Sub

    Questo mi esporta tutte le lunghezze delle linee e delle polilinee del
    mio dwg MA a me servirebbe qualcosa di più leggibile qualvolta le
    sezioni siano sparse nel modello ed io invece volessi dare loro un
    ordine!!

    Help me on these topic, please:
    - Come faccio a stabilire un ordine di lettura delle mie polilinee?
    Cioè, se io creo le sezioni in ordine di esportazione queso codice
    funziona, ma se il fiume biforca ed autocad si trova
    con due linee sulla stessa riga e magari io le ho disegnate in ordine
    sparso, il codice mi restituisce un elenco di numeri senza significato
    perchè non sono associabili alla linea corretta!
    Stò cercando di identificare tutte le entità del mo dwg per esempio
    utilizzando UN ATTRIBUTO (come per i blocchi) sulle singole linee o
    polylinee? Questo sarebbe il massimo così potrei esportare in un file
    txt 2 colonne: 1.) Sezione nr°. 2.) Larghezza

    Tutto questo è utopia secondo voi?

    grazie
    Roberto
     
    roberto, May 24, 2006
    #1
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.