Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Koordinatenerfassung

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
Autor Thema:  Koordinatenerfassung (1481 mal gelesen)
InesP
Mitglied



Sehen Sie sich das Profil von InesP an!   Senden Sie eine Private Message an InesP  Schreiben Sie einen Gästebucheintrag für InesP

Beiträge: 66
Registriert: 23.08.2004

Win XP
AutoCAD 2004
Office 2000

erstellt am: 08. Mrz. 2005 11:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Leute,
ich fange gerade an mich mit VBA zu beschäftigen und habe da eine für Euch sicherlich lächerlich einfache Frage: Ich habe in meiner Zeichnung eine Linie gezeichnet mit der Länge X und möchte nun die Start- und Endkoordinaten dieser Linie auslesen, um diese Koordinaten in einem weiteren Schritt verändern zu können.
Danke für Eure Hilfe.
Gruß Ines

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 08. Mrz. 2005 12:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für InesP 10 Unities + Antwort hilfreich

Hallo Ines,

für eine Linie kannst Du die Koordinaten mit folgendem Code auslesen.
Einfach in ein Modul kopieren und ausführen. Das DebugFenster mit 'Strg+g' öffnen - falls es nicht schon offen ist.

Code:
Sub test()

    'Variablendeklaration
    Dim AcObject As Object
    Dim AcPline As AcadLine
    Dim ArrStartofLine() As Double
    Dim ArrEndofLine() As Double
   
    For Each AcObject In ThisDrawing.ModelSpace
        'Ist das Object vom Typ Linie?
        If TypeName(AcObject) = "IAcadLine" Then
            'Weise das Object dem richtigen Typ zu
            Set AcPline = AcObject
            'Übergib die Koordinatenpaare in das Array
            ArrStartofLine = AcPline.StartPoint()
            ArrEndofLine = AcPline.EndPoint()
            'Ausgabe der Koordinaten im Debug-Fenster
            Debug.Print "Start X/Y/Z", ArrStartofLine(0), ArrStartofLine(1), ArrStartofLine(2)
            Debug.Print "Ende  X/Y/Z", ArrEndofLine(0), ArrEndofLine(1), ArrEndofLine(2)
           
        End If
    Next AcObject
   
    'lösche die Objecte wieder
    Set AcObject = Nothing
    Set AcPline = Nothing

End Sub


Wenn es nicht funktionieren sollte, dann ist deine Linie wahrscheinlich von einem anderen Typ, dann musst Du 'Dim AcPline As AcadLine' und 'If TypeName(AcObject) = "IAcadLine" Then' anpassen.

Gruss TP

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Huebi
Mitglied
Vermessungsing.


Sehen Sie sich das Profil von Huebi an!   Senden Sie eine Private Message an Huebi  Schreiben Sie einen Gästebucheintrag für Huebi

Beiträge: 107
Registriert: 08.01.2004

Intel Core Duo E6750@2.66GHz
NVIDIA GeForce 8600 GT
AutoCAD 2004, 2007, 2008
AcadMAP 2004 und 2007
Civil 3D 2008
ADT 2009

erstellt am: 08. Mrz. 2005 12:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für InesP 10 Unities + Antwort hilfreich

Hallo Ines,

und willkommen im VBA-Forum.
Wenn Du Dich ein bischen mit VBA für AutoCAD beschäftigst, wirst Du sehen, daß in der Hilfe dazu sehr gute Beispiele sind, die sehr gut die Möglichkeiten veranschaulichen.
Zu Deiner Frage zu Start- und Endpunkt einer Linie hab ich Dir mal als Demo ein paar Zeilen gebastelt. Geh sie mal in Einzelschritten durch und guck, wie sich die Variablen verändern.
Wenn Du eine Linie deklariert hast, kannst Du sehr einfach auf Start- und Endpunkt zugreifen.

Code:

Sub Linienbeispiel()
Dim Linie As AcadLine
Dim Pickedpoint As Variant
Dim Start, Ende As Variant

ThisDrawing.Utility.GetEntity Linie, Pickedpoint, "Linie wählen:"
Start = Linie.StartPoint
Ende = Linie.EndPoint

End Sub


Viel Spaß mit VBA wünscht
Hübi

------------------
Schaun ma mal, dann seng ma scho.... 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

TomiProg
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von TomiProg an!   Senden Sie eine Private Message an TomiProg  Schreiben Sie einen Gästebucheintrag für TomiProg

Beiträge: 51
Registriert: 29.04.2004

WinNT4.0(SP6) + AutoCAD 14.01, P3/400MHz(gääähn),256MB,Graphtec KD4620, ATI 3D Rage Pro(8MB)

erstellt am: 08. Mrz. 2005 12:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für InesP 10 Unities + Antwort hilfreich

Jetzt wollt ich auch mal was schreiben, da waren doch tatsächlich die zwei Jungs wieder mal schneller als irgendjemand sonst 
Hier nochmal ne kleine Einführung und mein kleines Prog.
Öffne durch Eingabe von VBAIDE in der Befehlszeile den VBA-Editor.
Dort kannst du in einem Modulfenster den Code eingeben.
Nach der Eingabe entweder im Testbetrieb über den VBAIDE oder zurück zur ACAD-Befehlszeile und durch VBARUN das Programm starten:

Sub LinienKoord()
    Dim LineObj As AcadLine, Startpunkt(2) As Double, Endpunkt(2) As Double
   
    'Setzen von Start- und Endkoordinaten
    Startpunkt(0) = 0: Startpunkt(1) = 0: Startpunkt(2) = 0
    Endpunkt(0) = 50: Endpunkt(1) = 50: Endpunkt(2) = 0
   
    'Erzeugen einer Linie und einem Objekt zuweisen (Set LineObj)
    Set LineObj = ThisDrawing.Modelspace.AddLine(Startpunkt, Endpunkt)
    LineObj.Update
    ThisDrawing.ActiveViewport.ZoomAll
   
    MsgBox "OK für Weiter!", vbOKOnly, "TestDialog Linie"
   
    'Neue Start- und Endkoordinaten zuweisen
    Startpunkt(0) = 0: Startpunkt(1) = 50: Startpunkt(2) = 0
    Endpunkt(0) = 50: Endpunkt(1) = 0: Endpunkt(2) = 0
   
    'LinienObjekt ändern
    LineObj.startPoint = Startpunkt
    LineObj.endPoint = Endpunkt
    LineObj.Update
End Sub

Ups. Mein Fehler. Natürlich hast du schon eine Linie gezeichnet, die mit ThisDrawing.Utility.GetEntity LineObj, Startpunkt, "Linie wählen" auszuwählen wäre, so, wie es Huebi geschrieben hat. Sorry nochmal.

[Diese Nachricht wurde von TomiProg am 08. Mrz. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

InesP
Mitglied



Sehen Sie sich das Profil von InesP an!   Senden Sie eine Private Message an InesP  Schreiben Sie einen Gästebucheintrag für InesP

Beiträge: 66
Registriert: 23.08.2004

Win XP
AutoCAD 2004
Office 2000

erstellt am: 08. Mrz. 2005 13:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank an alle,
ich werde mir jetzt erstmal Eure Prog's zu Gemüte ziehen und melde mich wieder, wenn Fragen auftauchen.
Bis später, Ines

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz