Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Selection Set: Blöcke nach Elementen durchsuchen

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
Autor Thema:  Selection Set: Blöcke nach Elementen durchsuchen (2041 mal gelesen)
Soldnerkugel
Mitglied



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

Beiträge: 131
Registriert: 29.01.2010

Win 7, AutoCAD Civil 3D 2015, SketchUp, CarlsonSurvCE

erstellt am: 13. Jun. 2013 17:23    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 zusammen,

ich bräuchte mal wieder eure Hilfe.
Folgendes Problem habe ich dieses Mal

Ich habe in einer Zeichnung diverse Blöcke, in diesen Blöcken sind jeweils mehrere Zeichnungsobjekte (Kreise) enthalten.
Es ist kein Problem die Blöcke mit einem Selection Set auszuwählen.
Nur: wie komme ich an die Kreise in den Blöcken ran, ohne dass ich diese auflösen muss?
Wie kann ich in den durch das Selection Set ausgewählten Blöcken nach den Kreisen suchen (, deren Koordinaten ich benötige)?

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

http://www.stupidedia.org/stupi/Rechter_Winkel

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

AndreasDEU
Mitglied
Ingenieur


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

Beiträge: 15
Registriert: 14.06.2013

erstellt am: 14. Jun. 2013 15:21    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 Soldnerkugel 10 Unities + Antwort hilfreich


Hi,

Das Ergebnis von Explode-Methode von Blöcken befindet sich in einer Tabelle. Der originale Block verbleibt.

Man kann denn über mit einer Schleife Elemente untersuchen ob die Kreise sind.
Nachher kann man die Elemente löschen.

Der Code ist ohne Prüfen geschrieben da ich hier kein AutoCAD habe:

vTab=Block.Explode

For i=Lbound(vTab) To Ubound(vTab)
  If vTab(i).Entitype=7 then 'Kreis
      dP(0)=vTab(i).InsertionPoint(0)
      dP(1)=vTab(i).InsertionPoint(1)
      dP(2)=vTab(i).InsertionPoint(2)
      'hier die Prozedur für Koordinaten von Kreisen
  End if
Next i

For i=Lbound(vTab) To Ubound(vTab)
  vTab(i).Delete
Next i


Die zweite Möglichkeit ist durch alle Elemente in Block zu iterieren:

For Each oEnt  in Block
  If vTab(i).Entitype=7 then
      dP(0)=vTab(i).InsertionPoint(0)
      dP(1)=vTab(i).InsertionPoint(1)
      dP(2)=vTab(i).InsertionPoint(2)
      'hier die Prozedur für Koordinaten von Kreisen
  End if
Next oEnt 

Gruß
Andrzej

Zitat:
Original erstellt von Soldnerkugel:
Hallo zusammen,

ich bräuchte mal wieder eure Hilfe.
Folgendes Problem habe ich dieses Mal

Ich habe in einer Zeichnung diverse Blöcke, in diesen Blöcken sind jeweils mehrere Zeichnungsobjekte (Kreise) enthalten.
Es ist kein Problem die Blöcke mit einem Selection Set auszuwählen.
Nur: wie komme ich an die Kreise in den Blöcken ran, ohne dass ich diese auflösen muss?
Wie kann ich in den durch das Selection Set ausgewählten Blöcken nach den Kreisen suchen (, deren Koordinaten ich benötige)?



Zitat:
Original erstellt von Soldnerkugel:
Hallo zusammen,

ich bräuchte mal wieder eure Hilfe.
Folgendes Problem habe ich dieses Mal

Ich habe in einer Zeichnung diverse Blöcke, in diesen Blöcken sind jeweils mehrere Zeichnungsobjekte (Kreise) enthalten.
Es ist kein Problem die Blöcke mit einem Selection Set auszuwählen.
Nur: wie komme ich an die Kreise in den Blöcken ran, ohne dass ich diese auflösen muss?
Wie kann ich in den durch das Selection Set ausgewählten Blöcken nach den Kreisen suchen (, deren Koordinaten ich benötige)?


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

Soldnerkugel
Mitglied



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

Beiträge: 131
Registriert: 29.01.2010

Win 7, AutoCAD Civil 3D 2015, SketchUp, CarlsonSurvCE

erstellt am: 14. Jun. 2013 15:24    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 Andreas,

vielen Dank, das mit der Tabelle hört sich ja schonmal sehr gut an.

was mir allerdings mittlerweile aufgefallen ist: beim explode'n bleibt der originale Block tatsächlich erhalten, aber mit einem anderen Blocknamen. er erhält als suffix noch "_x2" dazu.

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

http://www.stupidedia.org/stupi/Rechter_Winkel

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

AndreasDEU
Mitglied
Ingenieur


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

Beiträge: 15
Registriert: 14.06.2013

erstellt am: 15. Jun. 2013 08:16    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 Soldnerkugel 10 Unities + Antwort hilfreich

Hallo,

Hm. Komisch, bei mir, nach einigen Änderungen, funktioniert ohne bestehende Blöcke zu umbenenen.
Probiere die Datei aus:
http://chomikuj.pl/andrzej_de/Block,2816663066.zip

(Ich kann irgendwie die Datei hier nicht anhängen, bekomme ich "Internal Server Error")

Gruss
AndreasDEU

[Diese Nachricht wurde von AndreasDEU am 15. Jun. 2013 editiert.]

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

Soldnerkugel
Mitglied



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

Beiträge: 131
Registriert: 29.01.2010

Win 7, AutoCAD Civil 3D 2015, SketchUp, CarlsonSurvCE

erstellt am: 17. Jun. 2013 09:35    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

Dzien dobry Andrzej,

also irgendwie klappt das bei mir mit der Tabelle nicht.
In der Tabelle steht bei mir gar nichts.
Meine Blöcke werden selektiert - aber wenn ich die dann auflöse, wird nichts in die Tabelle geschrieben.

Wie hast du den "vTab" definiert? soll das eine Variable vom Typ "Variant" sein? Das kann eigentlich nicht sein, weil dann "vTab.Entitype" keinen Sinn macht.

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

http://www.stupidedia.org/stupi/Rechter_Winkel

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

AndreasDEU
Mitglied
Ingenieur


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

Beiträge: 15
Registriert: 14.06.2013

erstellt am: 17. Jun. 2013 10:25    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 Soldnerkugel 10 Unities + Antwort hilfreich

Dzien dobry, Moin moin!

Die Variable vTab ist bei mir als Variant definiert.
Dast ist eine Tabelle (Array) und Ihre Elemente sind AutoCAD-Objekte.
Also vTab.Entitype würde nich funktionieren, aber vTab(i).Entitype schon.

Das Makro funktioniert bei mir ohne Probleme.
Was für AutoCAD-Version hast Du?

Versuch mal VBA neu zu instalieren (VBA-Enabler)...
Sonnst habe ich keine Ideen...

Schöne Grüße
AndreasDEU

Zitat:
Original erstellt von Soldnerkugel:
Dzien dobry Andrzej,

also irgendwie klappt das bei mir mit der Tabelle nicht.
In der Tabelle steht bei mir gar nichts.
Meine Blöcke werden selektiert - aber wenn ich die dann auflöse, wird nichts in die Tabelle geschrieben.

Wie hast du den "vTab" definiert? soll das eine Variable vom Typ "Variant" sein? Das kann eigentlich nicht sein, weil dann "vTab.Entitype" keinen Sinn macht.


[Diese Nachricht wurde von AndreasDEU am 17. Jun. 2013 editiert.]

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

Soldnerkugel
Mitglied



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

Beiträge: 131
Registriert: 29.01.2010

Win 7, AutoCAD Civil 3D 2015, SketchUp, CarlsonSurvCE

erstellt am: 17. Jun. 2013 10:49    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

hm. ok, also do Variant.
Also ich benutze Civil 3D 2011.

hier mal mein Code-Schnipsel:

Code:

Dim oSSBlcks as AcadSelection Set
Dim oEntity2 as AcadBlockReference
Dim intdxfCodes(5) as integer
Dim varDXFValues(5) as Variant
Dim lngElemente as long
Dim mode as string
dblCCoords(0 t0 2) as double
Dim varTab as Variant
[...]
' SelectionSet definieren
    intDxfCodes(0) = 0: varDxfValues(0) = "INSERT"
    intDxfCodes(1) = -4: varDxfValues(1) = "<OR"
    intDxfCodes(2) = 2: varDxfValues(2) = Blockname
    intDxfCodes(3) = 2: varDxfValues(3) = Blockname2
    intDxfCodes(4) = -4: varDxfValues(4) = "OR>"
    intDxfCodes(5) = 410: varDxfValues(5) = "Model"            'nur Modellbereich
    ThisDrawing.SelectionSets.Item("SSInsert").Delete          ' evtl. vorhandenes SelectionSet löschen


[...]

mode = acSelectionSetAll
oSSBlcks.Select mode, , , intDxfCodes, varDxfValues
lngElemente = oSSBlcks.Count
ThisDrawing.Utility.Prompt "Anzahl der Objekte: " & CStr(lngElemente)
' Blöcke auflösen
For i = 0 To lngElemente
    oSSBlcks.Explode
    For Each oEntity2 In oSSBlcks
        If varTab(i).Entitype = 7 Then
          dblCCoords(0) = varTab(i).InsertionPoint(0)
          dblCCoords(1) = varTab(i).InsertionPoint(1)
          dblCCoords(2) = varTab(i).InsertionPoint(2)
        End If
    Next
Next


Das ist doch eigentlich nicht wirklich was anderes als in deinem beispiel, oder?

P.S. es befinden sich tatsächlich Kreise in den Blöcken - nicht dass hier da jemand jetzt noch nachfragen will, ob in den Blöcken tatsächlich Kreise vorhanden sind...

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

http://www.stupidedia.org/stupi/Rechter_Winkel

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

AndreasDEU
Mitglied
Ingenieur


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

Beiträge: 15
Registriert: 14.06.2013

erstellt am: 17. Jun. 2013 11:13    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 Soldnerkugel 10 Unities + Antwort hilfreich

Hallo,

Dein Code ist nicht ganz richtig...

mode = acSelectionSetAll
oSSBlcks.Select mode, , , intdxfCodes, varDXFValues
lngElemente = oSSBlcks.Count
ThisDrawing.Utility.Prompt "Anzahl der Objekte: " & CStr(lngElemente)
' Blöcke auflösen

For Each oEntity2 In oSSBlcks
    varTab = oSSBlcks(i).Explode
    For i = LBound(varTab) To UBound(varTab)
        If varTab(i).Entitype = 8 Then
        dblCCoords(0) = varTab(i).InsertionPoint(0)
        dblCCoords(1) = varTab(i).InsertionPoint(1)
        dblCCoords(2) = varTab(i).InsertionPoint(2)
        End If
    Next
Next

Gruß
AndreasDEU

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

Soldnerkugel
Mitglied



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

Beiträge: 131
Registriert: 29.01.2010

Win 7, AutoCAD Civil 3D 2015, SketchUp, CarlsonSurvCE

erstellt am: 17. Jun. 2013 11:17    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

ale jaja...
ich hab grad auf eine andere Art versucht Blöcke zu durchsuchen und da ist mir auch grad aufgefallen, dass beim explodieren nichts übergeben wird.
Mal schauen, ob es daran liegt.
Herzlichen Dank schonmal 

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

http://www.stupidedia.org/stupi/Rechter_Winkel

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

AndreasDEU
Mitglied
Ingenieur


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

Beiträge: 15
Registriert: 14.06.2013

erstellt am: 17. Jun. 2013 11:27    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 Soldnerkugel 10 Unities + Antwort hilfreich

... mir ist noch ein Fehler aufgefallen:

For Each oEntity2 In oSSBlcks
    varTab = oEntity2 .Explode
    For i = LBound(varTab) To UBound(varTab)
        If varTab(i).Entitype = 8 Then
        dblCCoords(0) = varTab(i).InsertionPoint(0)
        dblCCoords(1) = varTab(i).InsertionPoint(1)
        dblCCoords(2) = varTab(i).InsertionPoint(2)
        End If
    Next
Next

Gruß
AndreasDEU

[Diese Nachricht wurde von AndreasDEU am 17. Jun. 2013 editiert.]

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

Soldnerkugel
Mitglied



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

Beiträge: 131
Registriert: 29.01.2010

Win 7, AutoCAD Civil 3D 2015, SketchUp, CarlsonSurvCE

erstellt am: 17. Jun. 2013 12:24    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

klappt immer noch nicht ganz 
Code:
For i = 0 To oSSBlcks.Count - 1
        varTab = oSSBlcks(i).Explode
        For j = LBound(varTab) To UBound(varTab)
            If varTab(j).Entitype = 8 Then
                dblCCoords(0) = varTab(j).InsertionPoint(0)
                dblCCoords(1) = varTab(j).InsertionPoint(1)
                dblCCoords(2) = varTab(j).InsertionPoint(2)
            End If
        Next
    Next

mit diesem Code werden die Blöcke richtig selektiert.
Die Anzahl der Elementein den Blöcken wird auch richtig erkannt.
allerdings werden die Koordinaten der Kreise nicht auf dblCCoords(0 to 2) übertragen.


varTab(j).InsertionPoint(0)
varTab(j).InsertionPoint(1)
varTab(j).InsertionPoint(2)
sind immer = "0"

kann das sein, dass varTab(j).Entitype da irgendwie nicht funktioniert?

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

http://www.stupidedia.org/stupi/Rechter_Winkel

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

AndreasDEU
Mitglied
Ingenieur


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

Beiträge: 15
Registriert: 14.06.2013

erstellt am: 17. Jun. 2013 12:35    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 Soldnerkugel 10 Unities + Antwort hilfreich

Hallo,

Schon wieder mein Fehler

Der Objekt "Kreis" unterstützt die Metode InsertionPoint nicht.
Der Code soll so aussehen:

dblCCoords(0) = varTab(j).Center(0)
dblCCoords(1) = varTab(j).Center(1)
dblCCoords(2) = varTab(j).Center(2)
 
Gruß
AndreasDEU

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

Soldnerkugel
Mitglied



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

Beiträge: 131
Registriert: 29.01.2010

Win 7, AutoCAD Civil 3D 2015, SketchUp, CarlsonSurvCE

erstellt am: 17. Jun. 2013 14:50    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

mist, das klappt auch nicht.
Gibt es denn irgendwo eine Übersicht wie die Tabelle aussieht, in die die Elemente aus dem Block geschrieben werden?
ich finde online leider nichts.

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

http://www.stupidedia.org/stupi/Rechter_Winkel

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

AndreasDEU
Mitglied
Ingenieur


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

Beiträge: 15
Registriert: 14.06.2013

erstellt am: 17. Jun. 2013 16:18    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 Soldnerkugel 10 Unities + Antwort hilfreich

Hi,

Das kann nicht sein...
Kommentiere die Linie mit "On Error" aus.
Dann prüfe wo genau der Fehler passiert.

Die Struktur der Variable kannst Du im Überwachungsfenster angucken.

Gruß
AndreasDEU

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)2023 CAD.de | Impressum | Datenschutz