Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  dxf Speichern

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:  dxf Speichern (1509 / mal gelesen)
Lupu101
Mitglied



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

Beiträge: 20
Registriert: 21.09.2011

erstellt am: 02. Feb. 2016 20: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

Hallo Leute

Kann sich Jemand mein Problem ansehen ich möchte dxf Exportieren und bekomme die Fehlermeldung von Inv das Dokument, das Sie speichern möchten, ist kein Zeichnungsdokument.

  Private Function SaveAsDXF(ByVal DrawingDoc As Inventor.DrawingDocument, ByVal Filename As String) As Boolean
        Try
            Dim invApp As Inventor.Application = DrawingDoc.Parent

            ' PDF Übersetzer Add-In.
            Dim DXFAddIn As Inventor.TranslatorAddIn
            DXFAddIn = invApp.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}")

            Dim Context As Inventor.TranslationContext
            Context = invApp.TransientObjects.CreateTranslationContext
            Context.Type = Inventor.IOMechanismEnum.kFileBrowseIOMechanism

            ' Erstelle Name
            Dim Options As Inventor.NameValueMap
            Options = invApp.TransientObjects.CreateNameValueMap

            ' Erstelle Medium
            Dim DataMedium As Inventor.DataMedium
            DataMedium = invApp.TransientObjects.CreateDataMedium
            Dim oReferencedDoc As Document
            oReferencedDoc = DrawingDoc.ReferencedDocuments.Item(1)
            Dim customPropSet As PropertySet
            customPropSet = DrawingDoc.PropertySets.Item("Inventor User Defined Properties")
            Dim ZnNr As [Property]
            ZnNr = customPropSet.Item("Zeichnungsnummer")

            'Zieldateinamen
            DataMedium.FileName = ZnNr.Value

            'Dokument veröffentlichen.
            Call DXFAddIn.SaveCopyAs(DrawingDoc, Context, Options, DataMedium)

            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function

LG

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

RolandD
Mitglied



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

Beiträge: 533
Registriert: 07.01.2005

i7-9700k
32GB DDR4-RAM
Nvidia RTX 2060
SSD 970 m.2
Win10-64 (21H2)
AIP 2020.3
Dell U3417W

erstellt am: 03. Feb. 2016 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 Lupu101 10 Unities + Antwort hilfreich

Hallo Lupu101,

was passiert denn im Debugger, wenn du schrittweise bis vor die Ausgabe des DXF gehst?
Stimmt dein DXF-Dateiname?

änder mal

Code:
'Zieldateinamen
DataMedium.FileName = ZnNr.Value

in
Code:
'Zieldateinamen
DataMedium.FileName = "D:\" & ZnNr.Value & ".dxf"

------------------
Gruß Roland

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

Chris 31
Mitglied
Konstrukteur und Mädchen für alles


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

Beiträge: 575
Registriert: 23.04.2013

Inventor 2013/2015
Windows 7 64 bit
16GB RAM
nVidia Quadro 600

erstellt am: 03. Feb. 2016 14:38    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 Lupu101 10 Unities + Antwort hilfreich

Bis auf den Fehler, den Roland schon geschrieben hat, kann ich auch keinen Weiteren finden.

Aber die Lösung von Roland sollte den Fehler auch schon beheben.
Falls du einen bestimmten Speicherpfad nutzen möchtest gehört der natürlich da hin:

Code:
DataMedium.FileName = "DER PFAD IN DEM DU SPEICHERN MÖCHTEST\" & ZnNr.Value & ".dxf"

------------------
MFG

Chris

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

Lupu101
Mitglied



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

Beiträge: 20
Registriert: 21.09.2011

erstellt am: 03. Feb. 2016 16:51    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


dxf.txt

 
Danke RolandD
Danke Chris 31
Datei Pfad und satfix es klappt.
Ich habe noch Fragen das ganze Programm ist wie folgt aus:
Man öffnet einen Ordne und alle darin enthaltenen idw werden geöffnet und in dxf gespeichert.
Wie kann man nur den aktuell eingestellten Project Pfad öffnen? (erspart ein paar Klicks)
Und zum Speichern: Es sollte ein Ordner namens DXF erstellt werden (falls noch nicht vorhanden) in gleichen Verzeichnis wo sich die idw befindet und dort speichern.
LB

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

RolandD
Mitglied



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

Beiträge: 533
Registriert: 07.01.2005

i7-9700k
32GB DDR4-RAM
Nvidia RTX 2060
SSD 970 m.2
Win10-64 (21H2)
AIP 2020.3
Dell U3417W

erstellt am: 03. Feb. 2016 17: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 Nur für Lupu101 10 Unities + Antwort hilfreich

Hallo Lupu101,

du musst nur den Namen des DXF mit allen Ordnern angeben, dann wird das entsprechend erstellt.

Zitat:
Es sollte ein Ordner namens DXF erstellt werden (falls noch nicht vorhanden) in gleichen Verzeichnis wo sich die idw befindet und dort speichern

Das kannst du aus FullFileName der IDW auslesen, Pfad daraus extrahieren und
Code:
DataMedium.FileName = Pfad & "\DXF\" & ZnNr.Value & ".dxf" anfügen

------------------
Gruß Roland

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

Chris 31
Mitglied
Konstrukteur und Mädchen für alles


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

Beiträge: 575
Registriert: 23.04.2013

Inventor 2013/2015
Windows 7 64 bit
16GB RAM
nVidia Quadro 600

erstellt am: 04. Feb. 2016 11:11    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 Lupu101 10 Unities + Antwort hilfreich

Was genau meinst du mit "nur den aktuell eingestellten Project Pfad öffnen"???
An die Daten, Pfade, Bibliothekspfade, etc des aktuellen Projektes kommst du mit:

Code:
ThisApplication.DesignProjectManager.ActiveDesignProject

------------------
MFG

Chris

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

Lupu101
Mitglied



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

Beiträge: 20
Registriert: 21.09.2011

erstellt am: 04. Feb. 2016 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

Danke Chris 31

Das hatte ich gemeint
Das Speichern möchte ich auswählbar machen klappt aber nicht

Private Function SaveAsDXF(ByVal DrawingDoc As Inventor.DrawingDocument, ByVal Filename As String) As Boolean
        Try
            Dim invApp As Inventor.Application = DrawingDoc.Parent

            ' PDF Übersetzer Add-In.
            Dim DXFAddIn As Inventor.TranslatorAddIn
            DXFAddIn = invApp.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}")

            Dim Context As Inventor.TranslationContext
            Context = invApp.TransientObjects.CreateTranslationContext
            Context.Type = Inventor.IOMechanismEnum.kFileBrowseIOMechanism

            ' Erstelle Name
            Dim Options As Inventor.NameValueMap
            Options = invApp.TransientObjects.CreateNameValueMap

            ' Erstelle Medium
            Dim DataMedium As Inventor.DataMedium
            DataMedium = invApp.TransientObjects.CreateDataMedium
            Dim oReferencedDoc As Document
            oReferencedDoc = DrawingDoc.ReferencedDocuments.Item(1)
            Dim customPropSet As PropertySet
            customPropSet = DrawingDoc.PropertySets.Item("Inventor User Defined Properties")
            Dim ZnNr As [Property]
            ZnNr = customPropSet.Item("Zeichnungsnummer")

            Dim dir As String = ""
            Dim fb As New FolderBrowserDialog
            With fb
                .Description = "Speicherort"
                If .ShowDialog = System.Windows.Forms.DialogResult.OK Then
                    txtPath.Text = .SelectedPath
                Else

                End If
            End With
            DataMedium.FileName = txtPath.Text("\" & ZnNr.Value & ".dxf")

            'Dokument veröffentlichen.
            Call DXFAddIn.SaveCopyAs(DrawingDoc, Context, Options, DataMedium)

            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function

MFG

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

Chris 31
Mitglied
Konstrukteur und Mädchen für alles


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

Beiträge: 575
Registriert: 23.04.2013

Inventor 2013/2015
Windows 7 64 bit
16GB RAM
nVidia Quadro 600

erstellt am: 04. Feb. 2016 13:03    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 Lupu101 10 Unities + Antwort hilfreich

Was genau klappt denn nicht?

Ich glaube du hast dir hier einen Fehler eingebaut:

Code:
            Dim dir As String = ""
            Dim fb As New FolderBrowserDialog
            With fb
                .Description = "Speicherort"
                If .ShowDialog = System.Windows.Forms.DialogResult.OK Then
                    txtPath.Text = .SelectedPath        '<----txtPath.Text ist nicht definiert.... Da sollte sicher  dir    stehen!
                Else

                End If
            End With
DataMedium.FileName = txtPath.Text("\" & ZnNr.Value & ".dxf")    '<---- hier müsste dann    DataMedium.FileName= dir & "\" & ZnNr.Value & ".dxf"  stehen


Dann sollte es eigentlich klappen, zumindest kann ich sonst erstmal nicht finden.

------------------
MFG

Chris

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

RolandD
Mitglied



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

Beiträge: 533
Registriert: 07.01.2005

i7-9700k
32GB DDR4-RAM
Nvidia RTX 2060
SSD 970 m.2
Win10-64 (21H2)
AIP 2020.3
Dell U3417W

erstellt am: 04. Feb. 2016 16:26    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 Lupu101 10 Unities + Antwort hilfreich

Hallo Lupu,

du musst dir noch einmal genau überlegen, was du willst. Ich habe bisher so verstanden:
1. Den Ordner abfragen, dessen gesamter IDW-Inhalt verarbeitet werden soll. z.B. D:\Irgendwo
2. nacheinander alle darin enthaltenen IDWs öffnen und als DXF speichern unter D:\Irgendwo\PDF\Datei1.dxf usw.

Für 1. musst du die Dateiliste für *.idw aus dem Ordner von txtPath.Text einlesen

Für 2. Danach eine Schleife für alle IDW der Liste abarbeiten:
2.1. öffnen,
2.2. ZnNr.Value ermitteln,
2.3. Dateinamen bilden: DataMedium.FileName = Pfad & "\DXF\" & ZnNr.Value & ".dxf" (siehe meine Antwort vom 03.02.)
2.4. DXF ausgeben

------------------
Gruß Roland

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

Lupu101
Mitglied



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

Beiträge: 20
Registriert: 21.09.2011

erstellt am: 04. Feb. 2016 18:00    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


dxf.txt

 
Hallo
Danke soweit funktioniert es
Allerdings wen mehrere idw aufgerufen werden muss man anschließend jeder dxf den Speicherpfad angeben und bestätigen.
Beim speichern muss noch was rein aber wo und was?

Gruß Lupu101

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

RolandD
Mitglied



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

Beiträge: 533
Registriert: 07.01.2005

i7-9700k
32GB DDR4-RAM
Nvidia RTX 2060
SSD 970 m.2
Win10-64 (21H2)
AIP 2020.3
Dell U3417W

erstellt am: 04. Feb. 2016 21: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 Nur für Lupu101 10 Unities + Antwort hilfreich

Hallo Lupu,

Wenn du die Antworten nicht liest, kann dir keiner helfen...

Trotzdem viel Erfolg

------------------
Gruß Roland

[Diese Nachricht wurde von RolandD am 04. Feb. 2016 editiert.]

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

Lupu101
Mitglied



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

Beiträge: 20
Registriert: 21.09.2011

erstellt am: 05. Feb. 2016 16:26    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 Roland

Danke nochmal für deinen Hinweis war total neben der Spur.
Alles OK
Gruß Lupu101

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