| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| ZWCAD: Die fortlaufende Wahl für die Consolidated Contractors Company |
Autor
|
Thema: iLogic Regel zur DXF - Bestimmtes Arbeitsblatt (3158 mal gelesen)
|
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 08:32 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte gerne eine iLogic Regel erstellen, welche mir eine DXF an Speicherort C:\Plotten ausgibt. Folgendes Problem ergibt sich allerdings, denn es soll nur ein bestimmtes Blatt der Zeichnung dort als DXF ableget werden. Der Rest nicht. Zur Info, die IDW kann bei mir mehrere Blätter haben und auch mehrere, die ich als DXF ausgeben muss. zB IDW hat Blatt:1, Blatt:2, Plott:3, Plott:4 oder IDW hat Blatt:1, Blatt:2, Fräse:3 oder IDW hat Fräse:1, Plott:2 In allen Fällen müsste ich die Blätter mit "Plott" im Namen als DXF ausgeben. Alle anderen nicht. Da ich noch neu im Inventor bin und erst Recht in Sachen Programmierung der Regeln, wäre ich über Hilfestellungen und Hinweise sehr dankbar. Ich hoffe mir kann jemand ein paar Hinweise oder Code Schnipsel geben, die mir weiterhelfen könnten. Eine DXF ausgeben habe ich generell, allerdings für alle Blätter. Hier mal die DXF iLogic, welche ich benutze und etwas angepasst habe.
'------start of iLogic------- 'query user
QShure = MessageBox.Show("DXF erstellen?"& vbNewLine & vbNewLine &"Bereits vorhandene Plotter-Dateien werden damit überschrieben!", "DXF Erstellen", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) 'set condition based on answer If QShure = vbYes Then ' Get the DXF translator Add-In. Dim DXFAddIn As TranslatorAddIn DXFAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}") 'Set a reference to the active document (the document to be published). Dim oDocument As Document oDocument = ThisApplication.ActiveDocument Dim oContext As TranslationContext oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism ' Create a NameValueMap object Dim oOptions As NameValueMap oOptions = ThisApplication.TransientObjects.CreateNameValueMap ' Create a DataMedium object Dim oDataMedium As DataMedium oDataMedium = ThisApplication.TransientObjects.CreateDataMedium
' Sets directory for file save Dim DXFDirectory As String DXFDirectory = "C:\Users\CAD-02\Desktop\PDF\DXF" If Len(Dir(DXFDirectory, vbDirectory)) = 0 Then MkDir (DXFDirectory) End If ' Check whether the translator has 'SaveCopyAs' options If DXFAddIn.HasSaveCopyAsOptions(oDocument, oContext, oOptions) Then Dim strIniFile As String strIniFile = "C:\INVENTOR_SETTINGS\Inventor Settings Export\dxf.ini" ' Create the name-value that specifies the ini file to use. oOptions.Value("Export_Acad_IniFile") = strIniFile End If 'Set the destination file name 'oDataMedium.FileName = ThisDoc.PathAndFileName(False) 'oDataMedium.FileName = DXFDirectory & SaveName & ".dxf" oPath = ThisDoc.Path oFileName = ThisDoc.FileName(False) 'without extension oPartNum = iProperties.Value("Project", "Part Number") oStockNum = iProperties.Value("Project", "Stock Number") oTitel = iProperties.Value("Summary", "Title") oDataMedium.FileName = DXFDirectory & "\" & oTitel & " - (" & oStockNum & ").dxf" 'Publish document. DXFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) End If Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
|
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 10:07 <-- editieren / zitieren --> Unities abgeben:
Nein, das sind ganz normale Bauteile, welche bei mir auf einem Plotter ausgegeben werden. Blechteile sind das nicht. Dazu hatte ich in Google schon mal ein paar Dinge gefunden. Ich müsste also irgendwie Den Blattnamen (Sheetname) auslesen, den Trenner ausmachen (vorletzter Punkt im Namen) Sheetname = Blatt:1 Trenner = : Und dann halt den Namen davor auslesen als Variable (zB SheedNameOnly) und abgleichen. "If SheetNameOnly Is Plott Then" So denke ich mal... Gedanklich bin ich richtig? Wenn, ist mir halt nur die Programmiersprache nicht bekannt und somit, wie ich das jetzt umsetzen könnte darin. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2013 Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 22. Apr. 2016 10:33 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
Als schneller einfacher Code: Code:
Public Sub drucken()Dim oDoc As DrawingDocument Set oDoc = ThisApplication.ActiveDocument Dim oSheet As Sheet For Each oSheet In oDoc.Sheets If Left(oSheet.Name, 5) = "Plott" Then 'Plotten End If Next End Sub
------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 10:58 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
Speichert deine dxf Dateien unter c:\plotten\dxf Code: Dim oSheetName As String Dim erste_Seite As String Dim oDoc As DrawingDocument Dim oSheets As Sheet oDoc = ThisApplication.ActiveDocument erste_Seite = ""For Each oSheets In oDoc.Sheets oSheets.Activate oSheet = ActiveSheet oPath = ThisDoc.Path oFileName = ThisDoc.FileName(False) 'ohne Erweiterung oDXFAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}") oDocument = ThisApplication.ActiveDocument oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism oOptions = ThisApplication.TransientObjects.CreateNameValueMap oDataMedium = ThisApplication.TransientObjects.CreateDataMedium oSheetName = Right(oSheet.Name,1) 'Blattnummer If oSheetName = "1" Then erste_Seite = oSheet.Name If Left(oSheet.Name,5) = "Plott" Then oFolder = "C:\Plotten" & "\" & "DXF" 'Set dxf target file name oDataMedium.FileName = oFolder & "\" & oFileName & "_Blatt-" & oSheetName & ".dxf" 'Publish document oDXFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) Else End If Next ActiveSheet = ThisDrawing.Sheet(erste_Seite)
[Diese Nachricht wurde von Krissi70 am 22. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 10:58 <-- editieren / zitieren --> Unities abgeben:
Irgendwie klappt das nicht. Egal wo ich es einfüge, er wirft trotzdem alle Blätter aus. Ich vermute mal das die Ausgabe noch angepasst werden muss, dass nur das Blatt ausgegeben wird, welches halt ausgewählt ist? Blatt:1 = save nein , Plott:2 = save ja? Könntest du mal meinen Code nehmen und deinen dort einbauen? Sofern dann nur Blätter mit Namen "Plott" ausgegeben werden, ist mir schon geholfen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 11:03 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
|
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
Zitat: Original erstellt von GZDesign: Ich vermute mal das die Ausgabe noch angepasst werden muss, dass nur das Blatt ausgegeben wird, welches halt ausgewählt ist?
Der Code geht die Blätter durch, guckt ob die ersten 5 Buchstaben im Blattnamen "Plott" sind und erstellt dann ein dxf. Wenn nicht geht er zum nächsten Blatt usw. Am Ende wieder zu Blatt 1. Das kannst Du auch beobachten.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 11:10 <-- editieren / zitieren --> Unities abgeben:
Geht bei mir nicht. Also er wirft dann DFX aus, aber eben alle. 10000_Blatt-3_Blatt_1.dxf 10000_Blatt-3_Blatt_2.dxf 10000_Blatt-3_Plott.dxf Sieht auch irgendwie komisch aus, weil er Blatt 1 und Blatt 2 und Plott alle mit Blatt 3 davor betitelt... Das dürfte normal doch nur 10000_Plott.dfx sein. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 11:15 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
Versuchen wir das mal aufzudröseln Die dxf die bei mir rauskommen heißen: Test_dxf_Blatt-3.dxf Test_dxf_Blatt-5.dxf Die idw heisst: Test_dxf.idw Die Blätter heißen wie auf dem Bild von meinem letzten Post. Wie ist das bei dir? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 11:22 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
Bau mal nach Code: oSheetName = Right(oSheet.Name,1) 'Blattnummer
die Zeile ein Code: i = MessageBox.Show(oSheet.Name, "Blattname", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1)
und lass mal laufen. Mal gucken was passiert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 11:23 <-- editieren / zitieren --> Unities abgeben:
Ich habe die iLogic Regel 1zu1 kopiert. Lediglich den Pfad angepasst auf den Desktop, zum Testen. Ausgegeben wird bei mir genau das, was ich dir geschrieben habe. Aus der IDW entstehen 3 Blätter mit Namen 102130_Blatt-3_Blatt_1.dxf 102130_Blatt-3_Blatt_2.dxf 102130_Blatt-3_Plott.dxf Wie gesagt. Genau der Code von dir. Inventor 2016. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 11:25 <-- editieren / zitieren --> Unities abgeben:
|
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 11:26 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
|
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
Zitat: Original erstellt von GZDesign: Mit dem Button wirft er aus Blatt:1 Blatt:2 Plott:3 Vielleicht liegt es daran, dass bei mir alle Blätter 5 Zeichen haben?
So sollte das aussehen, das ist schon richtig. Nein, er guckt in den ersten 5 Zeichen nach "Plott". Ich teste das mal eben.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 11:30 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
|
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 11:30 <-- editieren / zitieren --> Unities abgeben:
Ok. Da könnte der Knackpunkt liegen. Mal schauen was 15 macht. Code:
Dim oSheetName As String Dim erste_Seite As String Dim oDoc As DrawingDocument Dim oSheets As Sheet oDoc = ThisApplication.ActiveDocument erste_Seite = "" For Each oSheets In oDoc.SheetsoSheets.Activate oSheet = ActiveSheet oPath = ThisDoc.Path oFileName = ThisDoc.FileName(False) 'ohne Erweiterung oDXFAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}") oDocument = ThisApplication.ActiveDocument oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism oOptions = ThisApplication.TransientObjects.CreateNameValueMap oDataMedium = ThisApplication.TransientObjects.CreateDataMedium oSheetName = Right(oSheet.Name,1) 'Blattnummer If oSheetName = "1" Then erste_Seite = oSheet.Name If Left(oSheet.Name,5) = "Plott" Then oFolder = "C:\Users\CAD-02\Desktop\PDF" & "\" & "DXF" 'Set dxf target file name oDataMedium.FileName = oFolder & "\" & oFileName & "_Blatt-" & oSheetName & ".dxf" 'Publish document oDXFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) Else End If Next ActiveSheet = ThisDrawing.Sheet(erste_Seite)
[Diese Nachricht wurde von GZDesign am 22. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 11:46 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
Du kannst aus Code: oFolder = "C:\Users\CAD-02\Desktop\PDF" & "\" & "DXF"
Code: oFolder = "C:\Users\CAD-02\Desktop\PDF\DXF"
machen. Ich habe da mehr variablen drin. Ich guck mir das gleich mal im 15er an. Dein Code läuft bei mir auch. Hätte ja mal sein können das da irgendwas faul ist was man nicht auf den ersten Blick sieht. Daran liegt es also auch nicht. Kann dann ja nur an der Version liegen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 12:04 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
Nimm mal bitte den Code. Der Zeigt dir dann nacheinander Pfad, Filenamen der idw und die Blattnummer an und macht eine Meldung wenn das dxf erstellt worden ist. Mal gucken was da steht Code: Dim oSheetName As String Dim erste_Seite As String Dim oDoc As DrawingDocument Dim oSheets As Sheet oDoc = ThisApplication.ActiveDocument erste_Seite = "" oFolder = "C:\Users\CAD-02\Desktop\PDF\DXF"For Each oSheets In oDoc.Sheets oSheets.Activate oSheet = ActiveSheet oFileName = ThisDoc.FileName(False) 'ohne Erweiterung oDXFAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}") oDocument = ThisApplication.ActiveDocument oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism oOptions = ThisApplication.TransientObjects.CreateNameValueMap oDataMedium = ThisApplication.TransientObjects.CreateDataMedium oSheetName = Right(oSheet.Name,1) 'Blattnummer i = MessageBox.Show(oFolder, "Pfad", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1) i = MessageBox.Show(oFileName, "idw - Dateiname", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1) i = MessageBox.Show(oSheetName, "Blattnummer", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1) If oSheetName = "1" Then erste_Seite = oSheet.Name If Left(oSheet.Name,5) = "Plott" Then 'Set dxf target file name oDataMedium.FileName = oFolder & "\" & oFileName & "_Blatt-" & oSheetName & ".dxf" 'Publish document oDXFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) i = MessageBox.Show(oDataMedium.FileName & " erstellt", "DXF-Out", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1) Else End If Next ActiveSheet = ThisDrawing.Sheet(erste_Seite)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 12:07 <-- editieren / zitieren --> Unities abgeben:
Ja, das stimmt. Kann schnell gehen. Beim Kopieren muss Windows nur eines der lieben Zeichen für Absatz setzen etc. Ich gehe von der Version aus, dass in den Referenzen etwas geändert wurde. Nur was?! [URL=https://knowledge.autodesk.com/de/support/inventor-products/learn-explore/caas/CloudHelp/cloudhelp/2016/DEU/Inventor-Help/files/GUID-89DC0590-BE14-47E6-B83A-0A8F5B2163AA-htm.h tml]Referenzen für Inventor 2016 - Zeichungsfunktionen iLogic[/URL] Da ich weder neue noch alte kenne... ui ui ui Gibt es da nicht einfach, wie bei jedem guten Programm oder Programmiersprache, eine Übersicht mit Befehlen und darin alt bis 2010, neu ab 2010? Also insgesamt empfinde ich die Autodesk Datenbank / Knowledge Base sehr dürftig und unübersichtlich. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 12:12 <-- editieren / zitieren --> Unities abgeben:
Pfad = C:\Users\CAD-02\Desktop\PDF\DXF idw = 102130 Blattnummer = 1 Pfad = C:\Users\CAD-02\Desktop\PDF\DXF idw = 102130 Blattnummer = 2 Pfad = C:\Users\CAD-02\Desktop\PDF\DXF idw = 102130 Blattnummer = 3 DFX-Out = C:\Users\CAD-02\Desktop\PDF\DXF\102130_Blatt-3.dfx erstellt Ausgegeben hat er aber drei dfx. Hatte den Ordner leer. Jetzt sind drei drin. Also scheint das zu gehen, aber er legt trotzdem die beiden anderen an. DFX-Out würde nur eines anlegen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 12:30 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
Ok dann sind wir schon mal weiter, er läuft durch und erstellt auch korrekt die dateinamen. Aber warum geht die if schleife nicht wo der erkennen soll ob da "Plott" im Blattnamen steht??? Mach mal bitte eine neue Regel mit dem Code. Mal gucken was da angezeigt wird. Code: Dim oSheetName As String Dim erste_Seite As String Dim oDoc As DrawingDocument Dim oSheets As Sheet oDoc = ThisApplication.ActiveDocument erste_Seite = ""For Each oSheets In oDoc.Sheets oSheets.Activate oSheet = ActiveSheet oSheetName = Right(oSheet.Name,1) 'Blattnummer If oSheetName = "1" Then erste_Seite = oSheet.Name test = Left(oSheet.Name,5) i = MessageBox.Show(test, "Mein iLogic-Dialogfeld", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1) Next ActiveSheet = ThisDrawing.Sheet(erste_Seite)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 12:34 <-- editieren / zitieren --> Unities abgeben:
Blatt Blatt Plott Ist die Ausgabe. Er speichert ja 102130_Blatt-3_Blatt_2.dxf. Also "Blatt-3" erkennt er irgendwo.
Wenn kein "Plott" Blatt enthalten ist, erstellt er keine DFX. Er erkennt Plott also. ------------------ MFG Florian
[Diese Nachricht wurde von GZDesign am 22. Apr. 2016 editiert.] [Diese Nachricht wurde von GZDesign am 22. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 12:42 <-- editieren / zitieren --> Unities abgeben:
Wenn ich es vermuten sollte, würde ich sagen, dass es daran liegt? Code: oDXFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium)
oDocument??? Irgendwo gibt er das gesamte Document doch aus. ------------------ MFG Florian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 12:55 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
oDocument ist nur das er das aktuelle Document nimmt. Ohne kommt eine Fehlermeldung. Im Moment bin ich ratlos. Ich kann jetzt an den 15er. Mal gucken was der so sagt. Es graut mir schon davor alles auf den 2017er umzuschreiben. Das habe ich in den nächsten 4 Wochen vor der Brust!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 12:58 <-- editieren / zitieren --> Unities abgeben:
Sofern das jedes Mal so ein HickHack ist bei Änderungen... graut es mir schon davor mit Inventor weiter arbeiten zu müssen... Mache das jetzt auch erst 6 Monate... Ohne irgendeine Schulung dazu. ------------------ MFG Florian [Diese Nachricht wurde von GZDesign am 22. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 13:07 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
Zitat: Original erstellt von GZDesign: Sofern das jedes Mal so ein HickHack ist bei Änderungen... graut es mir schon davor mit Inventor weiter arbeiten zu müssen... Mache das jetzt auch erst 6 Monate... Ohne irgendeine Schulung dazu.
Och so lange die bei einem Versionswechsel nicht total was ändern ist das eigentlich ganz easy Eine Schulung ist nicht verkehrt! Also, der 15 macht das auch so wie dein 16er. Das kann ich dir aber im Moment nicht sagen was wir dann ändern müssen. Vielleicht kann hier dann mal jemand von den Spezialisten weiterhelfen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 22. Apr. 2016 13:11 <-- editieren / zitieren --> Unities abgeben:
Ich hab jetzt mal zwei Zeichnungen mit "Plott" in die IDW gepackt... Jetzt macht er das doppelt. 102130_Blatt-2_Blatt_1.dxf 102130_Blatt-2_Blatt_3.dxf 102130_Blatt-2_Plott_2.dxf 102130_Blatt-2_Plott_4.dxf 102130_Blatt-4_Blatt_1.dxf 102130_Blatt-4_Blatt_3.dxf 102130_Blatt-4_Plott_2.dxf 102130_Blatt-4_Plott_4.dxf Also er legt für jede Plott die er findet einmal alle Blätter ab. Man muss also irgendwie im sagen nur das aktive Blatt zu nehmen. Sprich ich muss eventuell durchgehen Blatt 1 = Plott? nein... weiter Blatt 2 = Plott? nein... weiter Plott 3 = Plott? Ja... DFX erstellen weiter... etc Oder es gibt irgendeinen Befehl, der anders in deinem Code sein muss in 2016. Trotzdem erstmal dank! Ist ja was weiter. ------------------ MFG Florian [Diese Nachricht wurde von GZDesign am 22. Apr. 2016 editiert.] [Diese Nachricht wurde von GZDesign am 22. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 13:19 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
|
Krissi70 Mitglied
Beiträge: 28 Registriert: 16.05.2013 Inventor 2012, Vault Basic, AutoCAD 2012
|
erstellt am: 22. Apr. 2016 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für GZDesign
So neuer Versuch. Speicher das aktuelle Blatt mal von Hand mit "Kopie speichern unter" als dxf. ABER NICHT DIREKT SPEICHERN!!! Unten sind noch Optionen! In dem nächsten Fenster dann auf "weiter". Das Fenster sollte dann ungefähr so aussehen wie im Anhang. Da ist auch der Haken den du rausnehmen muss, dann geht der Code auch! Button "Fertig stellen" nicht vergessen! Ich hab noch was vergessen, Du musst noch auf "Konfiguration speichern..." klicken, sonst merkt der sich das nicht. [Diese Nachricht wurde von Krissi70 am 22. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GZDesign Mitglied Designer
Beiträge: 58 Registriert: 05.02.2016 i7 4790 16GB Windows 7 64 Bit Inventor 2016 Vault 2016
|
erstellt am: 23. Apr. 2016 11:07 <-- editieren / zitieren --> Unities abgeben:
Yeah!!! Danke! Das klappt. Vielen vielen Dank! Das erleichtert mir jetzt so einiges hier. Jetzt kann ich jede Zeichnung automatisch als PDF (das hab ich schon), DXF etc ausgeben und muss das nicht mehr alles einzeln machen. Unglaublich, dass man das in den normalen Speicherungen erst setzen muss, statt dass dieses per iLogic festgelegt wird. Naja, wenigstens geht es jetzt. Danke dir nochmal! Super! ------------------ MFG Florian [Diese Nachricht wurde von GZDesign am 23. Apr. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |