Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  DXF - Export

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 GeForce RTX® 4090, RTX® 4080 16GB, und RTX® 4080 12GB; PNY stellt die neue Generation der NVIDIA GeForce RTX 40 GPUs vor
Autor Thema:  DXF - Export (1960 mal gelesen)
Bluejay
Mitglied
Ingenieur


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

Beiträge: 200
Registriert: 14.05.2007

Inventor 2008 for Simulation SP3
Microsoft Windows XP Professional<P>Dell Precision T3400
Intel(R) Core(TM)2 Duo CPU
E6750 @2,66 GHz
3,00 GB RAM

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


dxfini.txt

 
Gutne Morgen zusammen,
da wir im Büro immer mit dem DXF Export Probleme hatten, habe ich nun endlich eine Lösung bereit - damit auch andere davon profitieren können stelle ich Sie hier mit für alle bereit(-:

Was muss gemacht werden:
1. In der Stilbibliothek muss ein zusätzlicher Objectstandard (für Export) angelegt werden
2. In der Stilbibliothek müssen die AutoCad Layer definiert werden (AM_0 usw.)
3. ini Datei an passendem Ort abspeichern
4. Ein Ordner Exchange (wird vom Makro gebraucht) muss erstellt werden
5. Das folgende Makro muss eingefügt werden - und die darin angegebenen Pfade müssen angepasst werden - auch zur ini Datei

Was macht das Makro:
1. Es Exporttiert ein DXF mit angepassten Layern zum Ordner Exchange
2. Objektstandard in localer Stilbibliothek wird umgestellt auf die angepasste
3. DXF Translater wird geladen
4. Werte für Dateinamen werden überprüft
5. DXF wird erstellt
6. Bibliothek wird wieder zurück auf die Inventor gängige mit den Objecktstandards zurückgestellt
7. Fertig

Sub Export_DXF()
'Reference zum Aktiven Dokument erstellen
    Dim oDocument As Document
    Set oDocument = ThisApplication.ActiveDocument

    Dim bErr As Boolean
    Dim fso As Object
    Set fso = CreateObject("Scripting.FilesystemObject")

    Dim ret As Variant
    Set dDoc = ThisApplication.ActiveDocument
 
  'Nachricht fall Dokument noch nicht gespeichert ist
      If dDoc.FullFileName = "" Then
        MsgBox "Bitte zuerst die Datei speichern...  "
        Exit Sub
    End If
   
  'Umstellung auf AutoCAD Export Layer
    Dim oDrgStlMgr As DrawingStylesManager
    Set oDrgStlMgr = oDocument.StylesManager
    Dim oObjDfStl As ObjectDefaultsStylesEnumerator
    Set oObjDfStl = oDrgStlMgr.ObjectDefaultsStyles
    oDrgStlMgr.ActiveStandardStyle.ActiveObjectDefaults = oObjDfStl.Item("Objektstandards(DIN-AutoCad)")
 
 
  'PXF translator Add-In ansprechen
    Dim DXFAddIn As TranslatorAddIn
    Set DXFAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}")

    Dim oContext As TranslationContext
    Set oContext = ThisApplication.TransientObjects.CreateTranslationContext
    oContext.Type = kFileBrowseIOMechanism

    'NameValueMap object erstellen
    Dim oOptions As NameValueMap
    Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap

    'DataMedium object erstellen
    Dim oDataMedium As DataMedium
    Set oDataMedium = ThisApplication.TransientObjects.CreateDataMedium

    Dim oZeichNr As Inventor.Property
    On Error GoTo ErrorHandler
    Set oZeichNr = dDoc.PropertySets(4).Item("Zeichnungsnummer")

    Dim oBlattNr As Inventor.Property
    On Error GoTo ErrorHandler
    Set oBlattNr = dDoc.PropertySets(4).Item("Blatt")

    Dim oRevNr As Inventor.Property
    On Error GoTo ErrorHandler
    Set oRevNr = dDoc.PropertySets(4).Item("Index")
   
    Dim oName As Inventor.Property
    On Error GoTo ErrorHandler
    Set oName = dDoc.PropertySets(4).Item("Bezeichnung1")


    'SaveCopyAs' options einstellen
    If DXFAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then

    Dim strIniFile As String
    strIniFile = "\\gainserver\GAIN\GAIN\Iface\Inventor\Templates\R16\VBA\DXF_Export\dxfini.ini"


    'Dateinamen mit Pfad erstellen
If bErr = False Then
    oDataMedium.fileName = "C:\GAIN\Exchange\" & "\" & oZeichNr.Value & "-" & oBlattNr.Value & "_" & oRevNr.Value & "-" & oName.Value & ".dxf"
Else
    oDataMedium.fileName = "C:\GAIN\Exchange\" & NameSplit(oDocument.FullFileName) & ".dxf"
End If
'Dokument puplizieren
  End If

  Call DXFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium)
  'Umstellung auf Standard Layer
  Set oObjDfStl = oDrgStlMgr.ObjectDefaultsStyles
  oDrgStlMgr.ActiveStandardStyle.ActiveObjectDefaults = oObjDfStl.Item("Objektstandards(DIN-ESM)")
 
  MsgBox "DXF wurde unter  -- C:\GAIN\Exchange -- gespeichert!!"

Exit Sub

ErrorHandler:
bErr = True
Resume Next

 
End Sub

Private Function NameSplit(ByVal sFilename As String) As String

Dim oArray() As String
oArray = Split(sFilename, "\")

NameSplit = Replace(oArray(UBound(oArray)), ".idw", "")

End Function


Ich hoffe das Programm hilft allen die sich mit diesem Thema rumärgern!

MFG

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

BlueJay

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