Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Automatischer Export in STEP

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:  Automatischer Export in STEP (2691 mal gelesen)
Bobo Neulichedl
Mitglied
Konstrukteur


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

Beiträge: 31
Registriert: 20.07.2016

erstellt am: 26. Sep. 2018 15:10    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 Zusammen 

ich habe folgendes Anliegen und hoffe mir kann hier jemand weiterhelfen. Mit der Suche habe ich etwas konkretes nicht gefunden und ich selbst habe keine Ahnung von VBA.
Ich möchte, dass wenn ich ein Bauteil IPT schließe eine Meldung kommt, ob ich es als STP in einen vorgegebenen Pfad speichern will.
Wenn ich dann "Ja" klicke soll das IPT dorthin als STP gespeichert werden, bei einem Klick auf "Nein" halt eben nicht.

Wenn ich eine Baugruppe IAM schließe soll eine Meldung kommen, ob ich diese Baugruppe als STEP (in den selben Pfad wie bei dem IPTs) speichern will mit der Zusatzfunktion "Ja Alle".
Das ist so gemeint, dass da anstatt 2 Schaltflächen "Ja" und "Nein", 3 sind, und zwar "Ja" "Ja Alle" "Nein". Bei "Ja" soll nur die eine IAM welche geschlossen wurde als STP exportiert werden. Bei "Ja Alle" soll jede Unterbaugruppe und jedes Teil und jedes Teil der Unterbaugruppe usw. als STP in den vorgegebenen Pfad exportiert werden. Bei "Nein" passiert wieder nichts.

So ein System habe ich bereits bei IDW zu PDF welches funktioniert. Das Programm stammt nicht von mir. Ich habe es beim iLogic Ereignisauslöser bei "Alle Dokumente" -> "Dokument schließen" drinnen. Hier noch die Programmzeilen:
____________________

If ThisDoc.FileName(False) = "" Then
Exit Sub
End If

extension = LCase(Right(ThisDoc.FileName(True), 4))

If extension <> ".idw" Then
Exit Sub
End If

result = MessageBox.Show("PDF auf Server speichern?", "Als PDF speichern?", MessageBoxButtons.YesNo)

If result = vbNo Then
Exit Sub
End If

folderpath = "\\ERPSERVER\zeichnungen\pdf\"

filename = ThisDoc.FileName(False)

ThisDoc.Document.SaveAs(folderpath & filename & ".pdf" , True)

'MsgBox("PDF gespeichert: " & filename)

____________________


Hoffe auf eure Hilfe   

MfG,
Bobo

------------------
W.M. - BEST ON ICE

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 27. Sep. 2018 15: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 Nur für Bobo Neulichedl 10 Unities + Antwort hilfreich

Unten ein iLogic-Code, der bei mir soweit lief.

Das mit der Abfrage habe ich etwas anders gelöst, damit ich mit der "Standard-Messagebox" auskomme. Die Frage ist anders formuliert, so dass "Ja, Nein, Abbrechen" einigermaßen passen. Die Alternative wäre gewesen, ein eigenes Formular zu entwerfen.

Voraussetzung für den Export in 1 Verzeichnis: es müssen eindeutigen Dateinamen vorliegen!
(aber das ist wohl auch schon für Deine aktuelle pdf-Variante der Fall)

Die pdf-Funktion für idw ist hier auch enthalten, mehr oder weniger unverändert.
Unterdrückte Komponenten werden nicht exportiert.

Die Pfade für den Export sind anzupassen (im Code oben). Dort gibt es auch einen Schalter, der entscheidet, ob ein Log-File geschrieben wird oder nicht (True/False). Das hat mir geholfen, ein par Fehler zu finden. Meine Empfehlung ist, das für die ersten Test anzulassen. Evtl. auch die Zeile oSTEPTranslator.SaveCopyAs(... auskommentieren, dann wird nichts exportiert, im Log steht aber was exportiert worden wäre.

Es sind ein paar Probleme ungelöst
- bei Bgr. gehe ich durch alle Komponenten und exportiere sie
  mehrfach verwendete Teile werden mehrfach als Step geschrieben (jeweils überschrieben)
  das ist weder besonders schlauch, noch effizient
- unsichtbare Komponenten werden trotzdem exportiert
- es werden auch Normteile exportiert, die sollte man noch irgendwie überspringen
- virtuelle Komponenten haben zu einer Endlosschleife geführt
  weil dabei oOcc.Definition.Document wieder das Bgr.Dokument liefert.
  mit 'If oOcc.ReferencedDocumentDescriptor Is Nothing Then' soll das abgefangen werden
  hat bei mir funktioniert, aber ob das nicht noch weitere Probleme macht, kann ich nicht so recht sagen
  (virtuelle Komponenten und ReferencedDocumentDescriptor verstehe ich nicht so ganz)
- es sind nicht alle Variablen deklariert
- wird bei einer idw->pdf die Abfrage verneint, kommt trotzdem die Schlussmeldung

Code:
Class ThisRule
'Pfade für den Export
Const folderpathPDF As String = "C:\temp\Test\pdf\" 'Pfad muss existieren, sonst Fehler!
Const folderpathSTP As String = "C:\temp\Test\stp\"
Const folderpathSTP_iam as String = "C:\temp\Test\stp_iam\"

Const bLog as Boolean = True 'Schalter: Log-File befüllen
Const sLogFile As String = "C:\temp\Test\log.txt"

Private sMsg as String 'Variable für Schlussmeldung

Sub Main ()
'wenn Dokument noch nicht gespeichert wurde, nichts machen
If ThisDoc.FileName(False) = "" Then Exit Sub

'für Log-File
Write2File(" ")
Write2File(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") & " Start")

'Dateiendung auswerten
Dim extension As String = LCase(Right(ThisDoc.FileName(True), 4))

Dim i As DialogResult
If ".idw" = extension Then
IDW_save_as_pdf 'Sub aufrufen
ElseIf ".ipt" = extension Then
i = MessageBox.Show("STP auf Server speichern?", "Als STEP speichern?", MessageBoxButtons.YesNo)
If vbYes = i Then Save_as_STEP (ThisApplication.ActiveDocument, False) 'Sub aufrufen
ElseIf ".iam" = extension Then
i = MessageBox.Show("Sollen auch ALLE Einzelteile und Unterbgr. als STP gespeichert werden?" & vbCrLf _
& "Ja:" & vbTab & vbTab & "ALLE" & vbCrLf _
& "Nein:" & vbTab & vbTab & "nur Baugruppe" & vbCrLf _
& "Abbrechen:" & vbTab & "kein STP", "STEP-Export" _
, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
If vbYes = i Then 'auch Unterkomponenten
Save_as_STEP (ThisApplication.ActiveDocument, True) 'Sub aufrufen -> aktives Dok.
Save_as_STEP_Rekursiv (ThisApplication.ActiveDocument) 'Sub aufrufen -> UnterKomp.
ElseIf vbNo = i Then 'nur Bgr. als step speichern
Save_as_STEP (ThisApplication.ActiveDocument, True) 'Sub aufrufen
Else 'Abbrechen gedrückt oder MsgBox geschlossen
Write2File("abgebrochen durch Benutzer")
Exit Sub
End If
Else 'andere Dateiendung
Exit Sub
End If

Write2File(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") & " Ende")

'Schlussmeldung
sMsg = "Es wurden diese Dateien exportiert:" & vbCrLf & sMsg
MessageBox.Show (sMsg, "Fertig", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub

Sub IDW_save_as_pdf ()
'--- nicht mehr nötig, in Main enthalten
'If ThisDoc.FileName(False) = "" Then Exit Sub
'extension = LCase(Right(ThisDoc.FileName(True), 4))
'If extension <> ".idw" Then Exit Sub
'---

result = MessageBox.Show("PDF auf Server speichern?", "Als PDF speichern?", MessageBoxButtons.YesNo)
If result = vbNo Then Exit Sub

filename = folderpathPDF & ThisDoc.FileName(False) & ".pdf" 'Dateinamen zusammensetzen

ThisDoc.Document.SaveAs( filename , True) 'pdf speichern

'Schlussmeldung
'MessageBox.Show("PDF gespeichert: " & vbCrLf & filename, "Fertig")
sMsg = sMsg & vbCrLf & filename 'Dateiname an Schlussmeldung anhängen

Write2File(filename)
End Sub

Sub Save_as_STEP_Rekursiv (oDoc as Document)
' oDoc : zu exportierendes Dokument (iam)
'
' es fehlt eine Überprüfung, ob das Dokument bereits exportiert wurde
' wenn eine Komp. mehrmals verbaut ist, wird sie mehrmals exportiert
' z.B. Dateiname bei jedem Export in ein Array schreiben, vor jedem Speichervorgang prüfen, ob Name schon vorhanden
'
Dim oOcc as ComponentOccurrence
Dim sExt As String 'Dateierweiterung
For Each oOcc in oDoc.ComponentDefinition.Occurrences
If oOcc.ReferencedDocumentDescriptor Is Nothing Then
'MessageBox.Show(oOcc.Name & vbCrLf & "scheint eine virtuelle Komponente zu sein." _
' & vbCrLf & "Wird übersprungen!", "refDocDescpr = nothing")
Write2File(oOcc.Name & " virtuell? -> nicht exportiert!")
Else
' Dateierweiterung extrahieren
sExt = IO.Path.GetExtension(oOcc.Definition.Document.FullFileName)
If ".ipt" = sExt Then
Save_as_STEP (oOcc.Definition.Document, False) 'Sub aufrufen -> exportieren
ElseIf ".iam" = sExt Then
Save_as_STEP (oOcc.Definition.Document, True) 'Sub aufrufen -> exportieren
Save_as_STEP_Rekursiv (oOcc.Definition.Document) 'Rekursion (erneuter Aufruf des Sub)
End If
End If
Next 'oOcc
End Sub

Sub Save_as_STEP (oDoc as Document, bIAM As Boolean)
'Speichert das angegebene Dokument als STEP
' oDoc : zu exportierendes Dokument (iam oder ipt)
' bIAM : Schalter für Bgr -> nur verwendet für Speicherpfad
Dim sFolder As String
If bIAM Then 'Baugruppe
sFolder = folderpathSTP_iam
Else 'Einzelteil
sFolder = folderpathSTP
End If

' Dateiname extrahieren
Dim sName As String = oDoc.FullFileName
sName = IO.Path.GetFileNameWithoutExtension(sName) 'ohne Pfad und Extension

'Dateiname zusammensetzen, inkl. Pfad und Dateiendung
Dim sFilename As String
sFilename = sFolder & sName & ".stp"


'-- aus Snippet, leicht angepasst
' Get the STEP translator Add-In.
Dim oSTEPTranslator As TranslatorAddIn
oSTEPTranslator = ThisApplication.ApplicationAddIns.ItemById("{90AF7F40-0C01-11D5-8E83-0010B541CD80}")
Dim oContext As TranslationContext
oContext = ThisApplication.TransientObjects.CreateTranslationContext
Dim oOptions As NameValueMap
oOptions = ThisApplication.TransientObjects.CreateNameValueMap

If oSTEPTranslator.HasSaveCopyAsOptions(oDoc, oContext, oOptions) Then 'oDoc statt ThisApplication.ActiveDocument
' Set application protocol.
' 2 = AP 203 - Configuration Controlled Design
' 3 = AP 214 - Automotive Design
oOptions.Value("ApplicationProtocolType") = 3
' Other options...
'oOptions.Value("Author") = ""
'oOptions.Value("Authorization") = ""
'oOptions.Value("Description") = ""
'oOptions.Value("Organization") = ""
oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
Dim oData As DataMedium
oData = ThisApplication.TransientObjects.CreateDataMedium
oData.FileName = sFilename 'angepasst!
oSTEPTranslator.SaveCopyAs(oDoc, oContext, oOptions, oData) 'oDoc statt ThisApplication.ActiveDocument
'--
'MessageBox.Show(oData.FileName) 'für Test
sMsg = sMsg & vbCrLf & sFilename 'Dateiname an Schlussmeldung anhängen
Write2File(sFilename)
End If
End Sub

Sub Write2File (sTxt As String)
'hängt den Text sTxt als neue Zeile an eine bestehende TextDatei

If bLog Then 'Schalter globale Konstante, siehe ganz oben
'____Open and append to an existing text file_______ aus Snippet
Dim oAppend As System.IO.StreamWriter
oFile = sLogFile 'Dateiname siehe globale Konstante
oAppend = IO.File.AppendText(oFile)
oAppend.WriteLine(sTxt)
oAppend.Flush()
oAppend.Close()
'ThisDoc.Launch(oFile)
End If
End Sub
End Class



[Edit: code ausgebessert, siehe auch Post unten ]
------------------
Gruß KraBBy

[Diese Nachricht wurde von KraBBy am 28. Sep. 2018 editiert.]

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

Bobo Neulichedl
Mitglied
Konstrukteur


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

Beiträge: 31
Registriert: 20.07.2016

erstellt am: 27. Sep. 2018 15:50    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 KraBBY,

schon mal vielen Dank für diese sehr ausführliche Antwort!

Bei mir erscheint beim Schließen der Zeichnung jedoch folgende Fehlermeldung:

Fehler in Regel: AutoExport in Dokument: Z-SG-20.idw
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.

Als Pfad habe ich (wie bei meinem funktionierenden PDF Export den ich schon hatte) "\\ERPSERVER\zeichnungen\pdf\" eingegeben.
Woran könnte das liegen?

------------------
W.M. - BEST ON ICE

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 27. Sep. 2018 19:36    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 Bobo Neulichedl 10 Unities + Antwort hilfreich

Vielleicht hilft es, die Zeile mit SaveAs auszukommentieren (dann sollte es durchlaufen) und anschließend den ganzen Dateinamen im Log zu prüfen.
Das Verzeichnis existiert, oder?
Die alte nur-pdf-Version funktioniert beim gleichen Dokument?
Ich dachte, dass ich am Prinzip beim PDF nix geändert habe.. 

------------------
Gruß KraBBy

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

Bobo Neulichedl
Mitglied
Konstrukteur


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

Beiträge: 31
Registriert: 20.07.2016

erstellt am: 28. Sep. 2018 07: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

Leider verstehe ich nicht was du mit auskommentieren und Log meinst 
Wie schon gesagt, habe von dieser Thematik leider keine Ahnung.

Das Verzeichnis existiert, habe es auch mit einem Anderen versucht und da war das selbe Problem.

Ja, mein ursprüngliches nur PDF funktionierte auch mit dieser Datei.

------------------
W.M. - BEST ON ICE

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 28. Sep. 2018 10:49    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 Bobo Neulichedl 10 Unities + Antwort hilfreich

mit Log meine ich das Log-File (eine Textdatei), das beim Ablauf des Programmes geschrieben wird.
Wurde auch die Zeile 8 angepasst?
  Const sLogFile As String = "C:\temp\Test\log.txt"
Das Verzeichnis muss existieren, die Datei nicht.
(eine Zeile davor mit Const bLog as Boolean = True ist diese Log-Funktion eingeschaltet. Wenn das alles mal funktioniert, kann man das ausschalten mit ...= False)

------------------
Gruß KraBBy

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 28. Sep. 2018 16:40    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 Bobo Neulichedl 10 Unities + Antwort hilfreich

Unabhängig vom Problem, dass es nicht läuft, habe ich einen anderen Fehler gefunden:

'Save_as_STEP_Rekursiv (oOcc.Definition.Document) 'Rekursion (erneuter Aufruf des Sub)

In dieser Zeile muss das erste Zeichen ( ' - Apostroph) weg! So werden die Unterbaugruppen nicht behandelt.
Ich werde den Post noch entsprechend editieren.

BTW der Apostroph ist hier (visual basic und verwandten Sprachen) das Zeichen, das den weiteren Text in einer Zeile zum Kommentar macht. Kommentare werden im ilogic Editor grau dargestellt und bei der Ausführung des Programmes nicht beachtet. "Auskommentieren" (aus einem vorigen Post) meint das setzen eines ' am Anfang einer Zeile (mit anderen Worten: das verwandeln einer Programmzeile in einen Kommentar). Soweit die kleine Besserwisserei 

------------------
Gruß KraBBy

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

Bobo Neulichedl
Mitglied
Konstrukteur


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

Beiträge: 31
Registriert: 20.07.2016

erstellt am: 01. Okt. 2018 08:05    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

So grundsätzlich funktioniert es nun, vielen Dank!  
In der Zeile 8 hatte ich beim Pfad "log.txt" am Ende nicht stehen, der Pfad hörte bei mir mit dem Ordner auf.
Die Leerzeile 6 war bei mir nicht vorhanden. Habe sie möglicherweise aus versehen gelöscht. Wäre das egal oder sind Leerzeilen auch wichtig?

Drei Sachen passen jedoch noch nicht so ganz:

1. Schließen der IAM:
Beim Schließen der IAM auf "Ja" klicken, dann werden alle einzelnen Bauteile und Unterbaugruppen als STP exportiert. Nachdem diese jedoch exportiert wurden, werden alle IPT und unter-IAM nochmals abgefragt, ob sie als STP exportiert werden sollen.

2. Basierend auf Problem 1; verschachtelte Baugruppen:
Wenn ich bei der Hauptbaugrupe "Ja" (also alles exportieren) klicke, dann nachdem alles exportiert wurde ich bei der Unterbaugruppe auf "Nein" klicke, erscheint folgende Fehlermeldung:

Fehler in Regel: AutoExport in Dokument: Z-SZ-1620.iam
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Vielleicht löst sich Problem 2 ja von alleine wenn Problem 1 gelöst ist?  

3. Beim wechseln der Detailgenauigkeit:
Wenn ich innerhalb einer Baugruppe die Detailgenauigkeit von Hauptansicht auf eine von mir erstellte wechsel, dann kommt die Abfrage, ob ich das STP exportieren möchte.

Und danke für die kleine Unterrichtsstunde   habe davon leider überhaupt keinen Plan...

------------------
W.M. - BEST ON ICE

[Diese Nachricht wurde von Bobo Neulichedl am 01. Okt. 2018 editiert.]

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 01. Okt. 2018 12:56    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 Bobo Neulichedl 10 Unities + Antwort hilfreich

Leerzeilen im Code sind bedeutungslos. Danach wird es schwieriger:

Erstmal habe ich diese Probleme nicht bedacht oder ausprobiert (sondern meine Regel nur in einzelne Modelle eingebracht und da ausprobiert). Mit dem Ereignisauslöser habe ich keine Erfahrung. Kurzes Ausprobieren hat mir aber gezeigt, dass "Dokument schließen" anders funktioniert, als von mir erwartet. Dokument schließen wird scheinbar aktiv, wenn das Dokument aus dem Arbeitsspeicher entfernt wird (z.B. eben nicht durch das Schließen einer ipt, wenn sie noch in einer geöffneten iam enthalten ist). Das verursacht auch das Thema beim Wechsel der Detailgenauigkeit (das ist mehr oder weiniger ein eigenes Modell, beim Wechsel wird das eine geschlossen und das andere geöffnet (deshalb muss man Änderungen ja auch erst speichern, bevor gewechselt werden kann)).
Ich vermute also, dass die Probleme mit dem Ereignisauslöser zusammen hängen. Um das zu bestätigen, bitte ich Dich, die Regel aus dem Ereignisauslöser zu entfernen und die Regel manuell auszuführen. Das geht z.B. im Kontextmenü der Regel im iLogic-Browser. So kannst Du Deine verschiedenen Anwendungsfälle durchspielen und ggf. weitere Probleme aufdecken (z.B. kommt das richtige raus, bei unterdrückten Komp.).

Sollte meine Vermutung zutreffen, weiß ich leider trotzdem keinen optimalen Weg, wie der gewünschte Automatismus umgesetzt werden könnte. Eine Idee wäre, über andere Ereignisse nachzudenken, z.B. "nach dem Speichern", da bestehen aber ganz ähnliche Probleme (speichern in einer iam speichert ggf. auch weitere ipt). Es stellt sich aber vielleicht die Frage, ob "Alle exportieren" überhaupt eine Existenzberechtigung hat und nicht das exportieren des jeweils gespeicherten Dokumentes ausreicht. Wenn dabei der Benutzer auch nicht gefragt wird, wäre sichergestellt, dass jede Modelländerung vom STEP wiedergegeben wird.

Anderer Gedanke: Das Programm durch einen Benutzerbefehl in der Multifunktionsleiste starten. Kein Automatismus; manueller Klick nötig, der auch vergessen werden kann. Dazu wäre dann noch ein kleines VBA-Makro nötig...

------------------
Gruß KraBBy

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