Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Datenbankverknüpfung mit MAP verwenden

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
  
PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
Autor Thema:  Datenbankverknüpfung mit MAP verwenden (1838 mal gelesen)
autogis
Mitglied
Dr.-Ing. E-Technik


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

Beiträge: 185
Registriert: 09.02.2001

BricsCAD V18
Spatial Manager
MapGuide Open Source
PostGIS

erstellt am: 15. Jan. 2004 10:06    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

Hallöle liebe Gemeinde,

gerade lese ich die Koordinaten von Polylinien in eine ASCII-Datei aus. Kein Problem. Dabei handelt es sich um die Achsen von Strassen. Nun aber das Problem.

In Map sind diese Achsen mit einer MS-ACCESS-Tabelle mit denStraßennemen etc. verknüpft. Nur, wie kommt man aus VBA an das jeweils verknüpfte Element ran???? Es wäre nämlich überaus hilfreich, diese mit exportieren zu können.

Für Eure Bemühungen herzlichen Dank im Voraus - Peter

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

harryk
Mitglied
Projektleiter


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

Beiträge: 124
Registriert: 19.08.2003

erstellt am: 16. Jan. 2004 06:14    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 autogis 10 Unities + Antwort hilfreich

Hallo,
irgenwie muss zwischen den Zeichnungsobjekten und den Datenbank Eintägen eine Beziehung bestehen. Dazu müsste man jetzt aber erstmal wissen wie die Datenbank aufgebaut ist.

Zur Referenzierung könnte die Objekt ID verwendet worden sein oder Dein Programm schreibt XData in die Objekte. Die Verbindung zu einer Access Datenbank ist unter DAO oder besser, ADO recht gut beschrieben.

Gruss,
Harry

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

autogis
Mitglied
Dr.-Ing. E-Technik


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

Beiträge: 185
Registriert: 09.02.2001

BricsCAD V18
Spatial Manager
MapGuide Open Source
PostGIS

erstellt am: 16. Jan. 2004 08:52    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 Harry,

zunächst mal herzlichen Dank und 10 Punkte dafür, daß sich jemand dieses Themas überhaupt annimmt.

Die verknüpfte Tabelle ist sturzeinfach aufgebaut:

Straßen-ID (Long Integer)
Straßenname (Klartext)
Ort-ID
Ortsteil-ID
PLZ (ASCII)

Dabei sind in der ACAD-Verknüpfungsvorlage die Straßen-ID und der Straßenname angegeben.

Die Werte sind seitens ACAD in EED's gespeichert. Dabei, und das erstaunt mich bereits, ist die Anzahl der EED's unterschiedlich. In allen Fällen ist der EED-Name in meinem Beispiel

Registered Application Name: DCO15

Es folgen ebenfalls in jedem Fall zwei Gruppencodes 1071, die bei allen untersuchten Elementen den geleichen Wert haben und entweder beide 1 oder 2 sind. Es folgt

Code 1000, ASCII string: strassennamen

Wobei "strassenname" die Bezeichnung der Verknüpfungsvorlage ist.

Was nun kommt, ist das vermutlich spannende Element

Code 1004, Binary data not printed.

????? Irgendwie merkwürdig. Aber der Weg scheint richtig zu sein.

Übrigens hab ich mich mittlerweile mit der VB-gesteuerten Verknüpfung von ACAD beschäftigt und denke darüber nach, die Strassen-ID als EED an das jeweilige ACAD-Element zu hängen. Auf diese Weise hätte man die Steuerung selbst in der Hand. Hat nur einige Nachteile.

Am gravierendsten ist, daß die MAP-Bereinigungsfünktionen selbst erstellte X-Daten entfernen, wogegen die ACAD-gesteuerte DB-Verknüpfung erhalten bleiben.

Also, noch mal vielen Dank, aber weitere Ideen sind gefragt.

Viele Grüße - Peter

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

harryk
Mitglied
Projektleiter


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

Beiträge: 124
Registriert: 19.08.2003

erstellt am: 17. Jan. 2004 03:56    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 autogis 10 Unities + Antwort hilfreich

Hi,
ok, kannst Du mal ne Beispiel dwg schicken und nen paar Datensätze?
Hast Du schon mit ADO gearbeitet?

Unter ..\Sample\ActiveX\Facility findest Du nen kompletten Beispielcode der es u.a ermöglicht Autocad Elemente zu einem Datensatz anzeigen zu lassen, leider benötigst Du dazu VB. Die Verknüpfung dort geschieht allerdings über das Autocad Objekt Handle.

Gruss,
Harry

[Diese Nachricht wurde von harryk am 17. Jan. 2004 editiert.]

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

autogis
Mitglied
Dr.-Ing. E-Technik


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

Beiträge: 185
Registriert: 09.02.2001

BricsCAD V18
Spatial Manager
MapGuide Open Source
PostGIS

erstellt am: 20. Jan. 2004 10:42    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


testgebiet.zip

 
Hallo harryk,

gerne nehme ich Deoin Angebot wahr und schicke Dir in der Anlage ein Testgebiet.

Die Polylinien der DWG sind mit der Tabelle TRACK_STRA in der MDB verknüpft. Allerdings nur teilweise. Meist kann man es daran erkennen, daß die Polylinien beschriftet sind.

Für Deine Mithilfe bedanke ich mich im Voraus.

Herzliche Grüße - Peter

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

harryk
Mitglied
Projektleiter


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

Beiträge: 124
Registriert: 19.08.2003

erstellt am: 21. Jan. 2004 10: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 autogis 10 Unities + Antwort hilfreich

spinnt die Antwortfuntion oder hab ich nen Dejavue??

Egal, dann halt nochmal:

Sub GetLinkID()
Dim RegObj As AcadEntity
Dim RegObjPt

ThisDrawing.Utility.GetEntity RegObj, RegObjPt, "select item"

Dim xdataOut As Variant
Dim xtypeOut As Variant
RegObj.GetXData "", xtypeOut, xdataOut
     For i = LBound(xdataOut) To UBound(xdataOut)
        If xtypeOut(i) = 1004 Then
            Debug.Print xtypeOut(i) & " : " & xdataOut(i)
           
            Debug.Print "Link_ID= " & Asc(left(xdataOut(i), 1))
           
            For j = 1 To Len(xdataOut(i))
                Debug.Print Asc(Mid(xdataOut(i), j, 1))
            Next
            Exit For
        End If
    Next
End Sub

Das gibt Dir den Link_ID zurück und es passt auch mit Deinen Beispieldaten. Teste aber bitte mal mit Link ID's die grösser als 255 sind.

Gruss,
Harry

[Diese Nachricht wurde von harryk am 21. Jan. 2004 editiert.]

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

Dexta
Mitglied



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

Beiträge: 38
Registriert: 23.02.2005

erstellt am: 07. Mrz. 2005 11: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 autogis 10 Unities + Antwort hilfreich

Hi Leute,
habe fast das selbe Problem.
Habe eine hinterlegte Datenbank auf dem Server, dessen Datensätze mit Objekten verknüpft werden. Nur, wie kann ich mir in excel oder access nur die Datensätze anzeigen lassen, die eine verknüpfung mit einem Objekt besitzen?? (vba-befehl)

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