| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: DWGAddIn wirft .zip aus? (1717 mal gelesen)
|
axi92 Mitglied Konstrukteur
Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 15. Okt. 2013 12:04 <-- editieren / zitieren --> Unities abgeben:
Es ging eine Zeit lang ich weiß leider nicht was ich geändert habe aber beim Export wirft es mir ein Zip aus. Wenn man das .zip auf macht liegt darin das .dwg und ein "Fonts" Ordner In dem Fonts Ordner sind wiederum: isocpeur.ttf ltypeshp.shx txt.shx Warum macht es das?
Code:
Public Sub Dev_DWG() ' Get the DWG translator Add-In. Dim DWGAddIn As TranslatorAddIn Set DWGAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC2-122E-11D5-8E91-0010B541CD80}") 'Set a reference to the active document (the document to be published). Dim oDocument As Document Set oDocument = ThisApplication.ActiveDocument Dim transObjs As TransientObjects Set transObjs = ThisApplication.TransientObjects Dim oContext As TranslationContext Set oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = kFileBrowseIOMechanism ' Create a NameValueMap object Dim oOptions As NameValueMap 'Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap Set oOptions = transObjs.CreateNameValueMap ' Create a DataMedium object Dim oDataMedium As dataMedium 'Set oDataMedium = ThisApplication.TransientObjects.CreateDataMedium '1 Version dwg inventor Set oDataMedium = transObjs.CreateDataMedium '2 Version dwg autocas 2000 ' Check whether the translator has 'SaveCopyAs' options 'If DWGAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then ' ' Dim strIniFile As String ' strIniFile = "C:\tempDWGOut.ini" ' ' Create the name-value that specifies the ini file to use. ' oOptions.Value("Export_Acad_IniFile") = strIniFile ' End If Dim oDoc As Document Dim Länge_Dateiname_mit_Pfad As Integer Dim Name_Pfad As String Dim Pfad_export As String Dim Länge_String As Integer Dim Dateiname_mit_Pfad As String Set oDoc = ThisApplication.ActiveDocument '____________________________________________________________________iProperties_______________________________________ ' Get the PropertySets object. Dim oPropSets As PropertySets Set oPropSets = oDoc.PropertySets ' Get the design tracking property set. Dim oPropSet As PropertySet Set oPropSet = oPropSets.item("Design Tracking Properties") ' Get the drawing number iProperty. 'Dim status As Property 'Set status = oPropSet.Item("User Status") 'Get the ipt status iProperty Dim oDrawDoc As DrawingDocument On Error Resume Next Set oDrawDoc = ThisApplication.ActiveDocument Dim oReferencedDoc As Document Set oReferencedDoc = oDrawDoc.ReferencedDocuments.item(1) Dim oPropValue As String oPropValue = oReferencedDoc.PropertySets.item("{32853F0F-3444-11D1-9E93-0060B03C1CA6}").item("User Status").Value ' Display the value. 'MsgBox "Status der Datei: " & oPropValue '______________________________________________________________________iProperties__________________________________________ Dateiname_mit_Pfad = oDoc.FullFileName 'MsgBox "Name der Datei: " & Dateiname_mit_Pfad If Dateiname_mit_Pfad = "" Then MsgBox "Dokument nicht gespeichert!" Exit Sub End If Länge_Dateiname_mit_Pfad = Len(Dateiname_mit_Pfad) Dim Endung As Integer 'Endung = 0 'mit .ipt usw. Endung = 4 ' ohne .ipt usw Name_Pfad = Mid(Dateiname_mit_Pfad, 1, Länge_Dateiname_mit_Pfad - 4) Länge_String = Len(Name_Pfad) Dim i As Integer i = 1 Do Until Mid(Name_Pfad, Länge_String - i, 1) = "\" i = i + 1 Loop Dateiname = Right(Name_Pfad, i) Name_Pfad = Mid(Dateiname_mit_Pfad, 1, Länge_Dateiname_mit_Pfad - i) 'MsgBox "Dateiname : " & Dateiname & Chr(10) & "Pfad : " & Name_Pfad & Chr(10) & "Laufwerk: " & destination & Pfad_export '___________________________________________________DWG Form 2000/2004/...______________________________________________________________________ ' Get the available options from the translator. 'Dim options As NameValueMap 'Set options = transObjs.CreateNameValueMap If DWGAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then ' Set the options for what types of data to write out. oOptions.Value("Solid") = True ' Output solids. oOptions.Value("Surface") = False ' Output surfaces. oOptions.Value("Sketch") = False ' Output sketches. ' Set the DWG version. ' 23 = ACAD 2000 - AC1015 ' 25 = ACAD 2004 - AC1018 ' 27 = ACAD 2007 ' 29 = ACAD 2010 - AC1024 oOptions.Value("DwgVersion") = 25 End If '___________________________________________________DWG Form 2000/2004/...______________________________________________________________________
'MsgBox Dateiname 'TheFolder$ = BrowseForFolder("Wählen Sie einen Ordner aus.") TheFolder$ = GetFolder("Wählen Sie einen Ordner aus.", "\\SERVER\CAD") 'Set the destination file name If oPropValue = "" Then oDataMedium.FileName = TheFolder$ & "\" & Dateiname & ".dwg" Else oDataMedium.FileName = TheFolder$ & "\" & Dateiname & "_" & oPropValue & ".dwg" End If 'Set the destination file name 'oDataMedium.FileName = "c:\tempdwgout.dwg" 'Publish document. 'MsgBox oDataMedium.FileName If Not TheFolder$ = "" Then Call DWGAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) If UserForm1.alert.Value = True Then MsgBox "DWG Export abgeschlossen!", vbOKOnly, "DWG Erstellt!" End If If UserForm1.folder_open.Value = True Then Call open_folder(TheFolder$) End If Else MsgBox "Export abgebrochen, kein Verzeichnis gewählt!" End If End Sub
------------------ Grüße aus Wien Philipp Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SEHER Mitglied Systemanalytiker
Beiträge: 1203 Registriert: 13.03.2001
|
erstellt am: 15. Okt. 2013 12:50 <-- editieren / zitieren --> Unities abgeben: Nur für axi92
|
axi92 Mitglied Konstrukteur
Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 15. Okt. 2013 13:49 <-- editieren / zitieren --> Unities abgeben:
|
Volker E Mitglied Konstrukteur
Beiträge: 164 Registriert: 20.08.2012 Win 7 64 bit, Inventor 2015 Sp2 64 bit Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM Nvidia Quadro 4000 Space Explorer
|
erstellt am: 15. Okt. 2013 18:16 <-- editieren / zitieren --> Unities abgeben: Nur für axi92
Hallo axi92 kann es sei dass Du beim erstellen der DWGOut.ini bei den Optionen den Haken bei Pack and Go stehen hast. Erstell Dir mal mit Kope speichern eine neue Ini-Datei und acht mal auf die Optionen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 15. Okt. 2013 18:17 <-- editieren / zitieren --> Unities abgeben: Nur für axi92
Hallo der Seher meint damit das bei einem händisch durchgeführten DWG-Export ohne den Haken bei Pack'nGo die Einstellung gespeichert und später auch von deinem Makro so verwendet wird. Du kannst aber auch mal testen
Code: oOptions.Value("Use_Transmittal")=No
zu setzen. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Volker E Mitglied Konstrukteur
Beiträge: 164 Registriert: 20.08.2012 Win 7 64 bit, Inventor 2015 Sp2 64 bit Intel Xeon CPU E5-1607 3,00 GHz 32GB RAM Nvidia Quadro 4000 Space Explorer
|
erstellt am: 15. Okt. 2013 18:18 <-- editieren / zitieren --> Unities abgeben: Nur für axi92
|
axi92 Mitglied Konstrukteur
Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 16. Okt. 2013 08:23 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 16. Okt. 2013 11:57 <-- editieren / zitieren --> Unities abgeben: Nur für axi92
Hallo Wenn du keine ini-Datei mitgibst, solltest du weitere Einstellungen im Code vorgeben. Am besten stellst du über die GUI mal alles so ein wie's sein soll und speicherst die Konfiguration als ini-Datei ab. Anschließend öffnest du die Datei mit einem Texteditor und wenn du die Use Transmittal Zeile mit meiner Codezeile von oben vergleichst, erklärt sich die Umsetzung der anderen Optionen eigentlich selbst. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
axi92 Mitglied Konstrukteur
Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 08. Nov. 2013 10:38 <-- editieren / zitieren --> Unities abgeben:
Ok ich habe ja das Code:
oOptions.Value("Use_Transmittal") = No
drinnen, jedoch hat mir IV schon wieder eine .zip Datei erzeugt. Außerdem finde ich die Exporteinstellungen von der .dwg nicht mehr^^ ------------------ Grüße aus Wien Philipp Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
axi92 Mitglied Konstrukteur
Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 12. Nov. 2013 08:14 <-- editieren / zitieren --> Unities abgeben:
|