| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Layertabelle in Access einbinden (636 / mal gelesen)
|
otm Mitglied Bauingenieur
Beiträge: 188 Registriert: 26.08.2009 MS Win 10 AutoCAD Civil 3D 2023.2.1 Update VBA Enabler 2019 MS Access Database Enginge X64 MSO 365 (64bit)
|
erstellt am: 08. Jan. 2020 11:29 <-- editieren / zitieren --> Unities abgeben:
Liebes Forum, ich bin beim Suchen nicht weitergekommen, deshalb hier meine Frage: Gibt es eine Möglichkeit die Layer einer *.DWT-Datei mit allen Eigenschaften(An/Aus, Farbe, …) in MS Access als verknüpfte Tabelle darzustellen? In MS Access reicht ein ReadOnly-Zugriff auf diese Tabelle. Auch schon weiterhelfen würde eine Tabelle in MS Access in der nur die Layernamen stehen, wenn es in ACAD über VBA eine Möglichkeit gibt, einen Layer aus einer *.DWT-Datei anhand seines Layernamens mit allen Eigenschaften in die aktive Zeichnung einzufügen (Quasi über das DC). Kann mir da jemand weiterhelfen? ------------------ Grüße aus München Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 08. Jan. 2020 13:15 <-- editieren / zitieren --> Unities abgeben: Nur für otm
Hallo Christian, Zitat: Gibt es eine Möglichkeit die Layer einer *.DWT-Datei mit allen Eigenschaften(An/Aus, Farbe, …) in MS Access als verknüpfte Tabelle darzustellen?
Dazu ist mir leider nichts bekannt. Ich hatte das damals so gelöst, dass ich mir einen Layerstatus AlleLayer erstellte und diesen als LAS-Datei exportierte. Diese LAS-Datei muß dann noch umgesetzt werden damit jeder Layer in einer Zeile steht (beginnend mit Code " 8"). Also in Notepad alle Zeilenenden durch Tabs ersetzen und danach die " 8" durch Zeilenende" 8". Diese Datei wurde anschließend nach Excel kopiert und die Überschriften ergänzt. Zitat: Auch schon weiterhelfen würde eine Tabelle in MS Access in der nur die Layernamen stehen, wenn es in ACAD über VBA eine Möglichkeit gibt, einen Layer aus einer *.DWT-Datei anhand seines Layernamens mit allen Eigenschaften in die aktive Zeichnung einzufügen (Quasi über das DC).
Prinzipiell hast Du ja sowohl von Autocad einen Zugriff auf Access als auch umgekehrt, somit könnte man die Tabelle erzeugen lassen aber auch fehlende Layer in Autocad ergänzen. Beispiele für den Zugriff sollte es hier genug geben, für konkrete Fragen kannst Du aber auch gerne hier diese stellen. Grüße Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
otm Mitglied Bauingenieur
Beiträge: 188 Registriert: 26.08.2009 MS Win 10 AutoCAD Civil 3D 2023.2.1 Update VBA Enabler 2019 MS Access Database Enginge X64 MSO 365 (64bit)
|
erstellt am: 08. Jan. 2020 13:43 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus, das mit der Textdatei kann ich bereits. Ich wollte meinen Programmablauf gerne dynamisch gestalten und deshalb von Access direkt auf die "Datenbank" der AutoCAD-Zeichnung zugreifen. Da komme ich aber nicht weiter, weil mir da noch Wissen fehlt. Kannst Du mir da vielleicht ein paar Stichpunkte zum Suchen nach den Beispielen nennen?
------------------ Grüße aus München Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 08. Jan. 2020 14:20 <-- editieren / zitieren --> Unities abgeben: Nur für otm
Hallo Christian, Müßt ich mich mal auf die Suche machen aber im Prinzip ist es ganz einfach unter Access VBA Extras - Verweise die Autocad 20xx Type Library aktivieren dann im Programm:
Code:
'Declaring the necessary variables. Dim acadApp As AcadApplication Dim acadDoc As AcadDocument 'Check if AutoCAD is open. On Error Resume Next Set acadApp = GetObject(, "AutoCAD.Application") On Error GoTo 0 If acadApp Is Nothing Then ' Hinweis für den Benutzer Voraussetzungen fürs Programm schaffen MsgBox "Bitte zunächst Autocad mit Zeichnung öffnen", vbCritical, "Fehler Zugriff auf Autocad" ' und Programm beenden Exit Sub End If 'Check if there is an active drawing. On Error Resume Next Set acadDoc = acadApp.ActiveDocument On Error GoTo 0 If acadDoc Is Nothing Then ' Hinweis für den Benutzer Voraussetzungen fürs Programm schaffen MsgBox "Bitte zunächst Autocad mit Zeichnung öffnen", vbCritical, "Fehler Zugriff auf Zeichnung" ' und Programm beenden Exit Sub End If
Jetzt hast Du über AcadDoc den gleichen Zugriff wie in Autocad über ThisDrawing (mit Layern in Acad.vba hast Du ja schon programmiert) Oder Du öffnest über acadApp.Documents eine neue Zeichnung (Deine dwt) Oder .... Grüße Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
otm Mitglied Bauingenieur
Beiträge: 188 Registriert: 26.08.2009 MS Win 10 AutoCAD Civil 3D 2023.2.1 Update VBA Enabler 2019 MS Access Database Enginge X64 MSO 365 (64bit)
|
erstellt am: 08. Jan. 2020 17:12 <-- editieren / zitieren --> Unities abgeben:
|