|   |   | 
  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO | 
|   |   | 
  | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
  | 
| 
Autor
 | 
Thema:  VB in ProEngineer starten (6710 mal gelesen)
 | 
 
                        pleudel Mitglied Projektleiterin
   
  
        Beiträge: 156 Registriert: 28.11.2011 Windows 7 UG NX 12 (auch Daimler) Visual Basic 2017 Express Programmierung in NX, ProE/Creo, PRO.FILE 
                         | 
                        
                         
                                                 
                        erstellt am: 28. Jan. 2014 09:18       <-- editieren / zitieren -->           Unities abgeben:           
                        
  Hallo zusammen,  ich hoffe, ich bin hier überhaupt richtig! Ich habe bereits viel Programmiererfahrung mit VB.Net im Zusammenhang mit Siemens NX, nun möchte ich gerne das ein oder andere Programm in Pro/E erstellen (vom Prinzip hier wahrscheinlich ähnlich der Programme von NX). Ich habe auch schon den benötigten Verweis für die Pro/E-Bibliothek hinzugefügt und auch das Ansprechen der Sitzung sollte kein Problem darstellen. Mein Problem ist aber: Wie bekomme ich mein VB in Pro/E? In NX ist das ganz einfach, Werkzeuge -> Journal -> ausführen, dann kann man eine .vb-Datei auswählen, die dann abläuft. Wie mache ich das in Pro/E? (Bitte entschuldigt den Vergleich zu NX, ich wollte das nur anführen, da ich da weiß, wie es geht und es in Pro/E vllt ähnlich ist!) Es wäre schön, wenn ihr mir da helfen könntet! Viele Grüße, pleudel       Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
    
  
        Beiträge: 806 Registriert: 08.05.2012 
                         | 
                        
                         
                                                 
                        erstellt am: 28. Jan. 2014 10:18       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                         | 
                        
                        pleudel Mitglied Projektleiterin
   
  
        Beiträge: 156 Registriert: 28.11.2011 Windows 7 UG NX 12 (auch Daimler) Visual Basic 2017 Express Programmierung in NX, ProE/Creo, PRO.FILE 
                         | 
                        
                         
                                                 
                        erstellt am: 28. Jan. 2014 10:57       <-- editieren / zitieren -->           Unities abgeben:           
                        
  Das hatte ich mir schon fast gedacht. Also kann ich ganz normal in Visual Basic Express mein Programm erstellen und dann eine offene Pro/E-Sitzung ansprechen? Oder muss ich die Sitzung zwangsläufig mit dem Programm auch erst öffnen? Was ist, wenn ich in der ProE-Sitzung bin und eine Zeichnung geöffnet habe und die als PDF exportieren will (nur mal ein Beispiel, meinetwegen auch IGES Export oder ähnlich) muss ich dann auch ein externes Programm starten um diese Sitzung mit der Zeichnung anzusprechen? Ich frage deshalb so "blöd" nach, weil ich es anders gewohnt bin, das von außen ansprechen ist mir neu! Viele Grüße pleudel     Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
    
  
        Beiträge: 806 Registriert: 08.05.2012 
                         | 
                        
                         
                                                 
                        erstellt am: 28. Jan. 2014 11:10       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                          Zitat: Original erstellt von pleudel: Das hatte ich mir schon fast gedacht. Also kann ich ganz normal in Visual Basic Express mein Programm erstellen und dann eine offene Pro/E-Sitzung ansprechen? Oder muss ich die Sitzung zwangsläufig mit dem Programm auch erst öffnen?
  Es geht beides. Zitat: Original erstellt von pleudel: Was ist, wenn ich in der ProE-Sitzung bin und eine Zeichnung geöffnet habe und die als PDF exportieren will (nur mal ein Beispiel, meinetwegen auch IGES Export oder ähnlich) muss ich dann auch ein externes Programm starten um diese Sitzung mit der Zeichnung anzusprechen?
  Ja, wenn ich dich richtig verstehe. ------------------ Grüße Nico \o/ Üs - ProE-Beziehungen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        pleudel Mitglied Projektleiterin
   
  
        Beiträge: 156 Registriert: 28.11.2011 Windows 7 UG NX 12 (auch Daimler) Visual Basic 2017 Express Programmierung in NX, ProE/Creo, PRO.FILE 
                         | 
                        
                         
                                                 
                        erstellt am: 28. Jan. 2014 11:27       <-- editieren / zitieren -->           Unities abgeben:           
                        
  Ok, vielleicht habe ich mich nicht deutlich ausgedrückt ^^ Also ich habe es jetzt so verstanden, dass ich eine Datei mit .vb Endung nicht einfach in ProE durch Knöpfchendrücken "aufrufen" kann und diese dann irgendwas macht, sondern ich muss ein externes Programm ausführen, um Zugriff auf eine bereits offene ProE-Sitzung zu erhalten oder um eine ProE-Sitzung zu öffnen. Ich würde das gerne mal testen, z.B. einfach den aktuellen Dateinamen vom geöffneten Part in einer Messagebox ausgeben lassen. Jetzt ist bei uns in ProE noch nie so programmiert worden, ich habe aber schon gelesen, dass dafür Umgebungsvariablen gesetzt werden müssen. Welche sind das? Muss sonst noch irgendwas konfiguriert werden, um die Sitzung mit VB anzusprechen? Kennt jmd vielleicht noch hilfreiche (wenn möglich kostenlos) Lektüre dazu? Mein Ziel ist es im Moment nur zu zeigen, dass die Sitzung angesprochen wird und Informationen daraus verarbeitet werden können (also zb. den Dateinamen ausgeben!) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
    
  
        Beiträge: 806 Registriert: 08.05.2012 
                         | 
                        
                         
                                                 
                        erstellt am: 28. Jan. 2014 12:12       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                         | 
                        
                        San Benedetto Mitglied
 
  
  
        Beiträge: 29 Registriert: 28.05.2013 Win7 Pro/e Wf4/Creo 2.0 VB2010express VB2012express 
                         | 
                        
                         
                                                 
                        erstellt am: 28. Jan. 2014 14:36       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Hallo  pleudel hier ein paar code zeilen (verbindet zu Pro/e du must ein Modell offen haben,nur eine Pro/E Sitzung-- msgbox pfad und Datei - öffnet dann eine gleichnamige drw wenn vorhanden) Private Sub Button_drw_open_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_drw_open.Click         Dim drawings As Cstringseq         Dim model As IpfcModel         Dim modelDesc As IpfcModelDescriptor         Dim Mdlname As String         Dim Drwname As String         Dim Pfad As String         Dim Pos As Integer                  Proe = New CCpfcAsyncConnection         asyncConnection = Proe.Connect("", "", ".", 5)         session = CType(asyncConnection.Session, IpfcBaseSession)   Try             model = session.CurrentModel             If model Is Nothing Then                 Throw New Exception("Kein Model im Hauptfenster:  ")             End If             Mdlname = session.CurrentModel.FullName.ToLower   'ToLower - wandelt in Kleinschrift um              Pfad = session.CurrentModel.Origin                'absolute Lage  der Datei             Pos = Pfad.LastIndexOf(Mdlname)                   'Position des letzten vorkommens von Mdlname             Pfad = Pfad.Remove(Pos)                           ' Schneidet den Dateinamen vom absoluten Pfad weg              MsgBox("Pfad " & Pfad)             Drwname = Mdlname + ".drw"              MsgBox("name  " & Drwname)             drawings = session.ListFiles(Drwname, EpfcFileListOpt.EpfcFILE_LIST_LATEST, Pfad) 'Suche nach datei                                      If drawings.Count = 0  Then                 Throw New Exception(" Keine Zeichnung  vorhanden:  ")             End If
             modelDesc = (New CCpfcModelDescriptor).CreateFromFileName(Drwname)             session.OpenFile(modelDesc).Activate()   Catch ex As Exception             MsgBox(ex.Message.ToString + Chr(13) + ex.StackTrace.ToString)         End Try         asyncConnection.Disconnect(2)            End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        pleudel Mitglied Projektleiterin
   
  
        Beiträge: 156 Registriert: 28.11.2011 
                         | 
                        
                         
                                                 
                        erstellt am: 28. Jan. 2014 15:50       <-- editieren / zitieren -->           Unities abgeben:           
                        
  Vielen Dank für eure Hilfe!!!!! (San Benedetto, deinen Code werde ich morgen mal ausprobieren!) Ich hab es schonmal hinbekommen, den Dateinamen und Parameterwerte in Label zuschreiben, das heißt, die Verbindung steht    Wie gesagt, viiiielen Dank schonmal!           Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
    
  
        Beiträge: 806 Registriert: 08.05.2012 Creo Parametric 3.0 M120 PDM Essentials 10.1 M040 
                         | 
                        
                         
                                                 
                        erstellt am: 28. Jan. 2014 16:12       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Das ging ja fix. Einige (Ich auch) haben länger dafür gebraucht. Btw. ProE lässt sich über diese API auch mit anderen Programmiersprachen ansprechen, falls deine Kenntnisse in einer anderen Sprache besser sind. Ich arbeite viel mit Python. Aber auch VBS, VBA und fast jede andere Sprache taugt dazu. ------------------ Grüße Nico \o/ Üs - ProE-Beziehungen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        pleudel Mitglied Projektleiterin
   
  
        Beiträge: 156 Registriert: 28.11.2011 
                         | 
                        
                         
                                                 
                        erstellt am: 29. Jan. 2014 10:08       <-- editieren / zitieren -->           Unities abgeben:           
                        
  Guten Morgen,  Nico, danke für die Info, aber VB.Net ist schon optimal, das passt schon =) klappt auch bisher sehr gut, und ich muss sogar zugeben, dass das von außen ansprechen sogar komfortabler ist als das Starten der Programme in NX, da dort ja nicht debuggt werden kann! Außerdem zerreist es die schöne Formoberfläche in NX immer ein wenig, was hier ja nicht der Fall ist!       Eine Frage habe ich aber noch, und zwar zu der Zeile  asyncConnection.Disconnect(2) Damit wird ja die Verbindung zu ProE wieder getrennt. Im Code oben wird, bis auf die Verbindung und das anschließende Trennen derselbigen  , der restliche Code in die Try-Catch-Anweisung geschrieben, das hatte ich bei mir nicht gemacht. Und nach ein paar mal starten ging auf einmal nichts mehr, dann habe ich den Prozess pfclscom.exe aus dem Task-Manager gelöscht, und siehe da, es ging wieder. Kommt das daher, dass das Programm bei einem Fehler die Zeile mit dem Verbindung trennen einfach nicht erreicht und die Verbindung deshalb auch (logischerweise) nicht getrennt wird? Folglich muss ich jeden Code nach dem Verbinden und vor dem Trennen in eine Try-Catch-Anweisung setzen?  ich glaube ich habe mir die Frage jetzt selbst schon beantwortet, trotzdem wäre es schön, zu dem Thema nochmal eine Rückmeldung zu bekommen!       Danke PS: Ach, und noch eine Frage: Kann man in ProE auch irgendwie Befehle aufzeichnen? also wenn ich einen Button drücke, welcher Code dahinter steht?  [Diese Nachricht wurde von pleudel am 29. Jan. 2014 editiert.]
 [Diese Nachricht wurde von pleudel am 29. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
    
  
        Beiträge: 806 Registriert: 08.05.2012 Creo Parametric 3.0 M120 PDM Essentials 10.1 M040 
                         | 
                        
                         
                                                 
                        erstellt am: 29. Jan. 2014 11:15       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                          Zitat: Original erstellt von pleudel: ich glaube ich habe mir die Frage jetzt selbst schon beantwortet, trotzdem wäre es schön, zu dem Thema nochmal eine Rückmeldung zu bekommen!
 
  Genau :) Die VB-API ist in dem Bereich manchmal ein wenig zickig. die pfclscom.exe killen reicht da leider auch nicht immer. Zitat: Original erstellt von pleudel: PS: Ach, und noch eine Frage: Kann man in ProE auch irgendwie Befehle aufzeichnen? also wenn ich einen Button drücke, welcher Code dahinter steht?
 
  Jein. Entweder nen Mapkey basteln oder die Trail-Datei auslesen und per .RunMacro() einfügen in VB. Allerdings umgeht man damit ein wenig die VB-API. ------------------ Grüße Nico \o/ Üs - ProE-Beziehungen [Diese Nachricht wurde von NicoFTB am 29. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        pleudel Mitglied Projektleiterin
   
  
        Beiträge: 156 Registriert: 28.11.2011 
                         | 
                        
                         
                                                 
                        erstellt am: 29. Jan. 2014 11:20       <-- editieren / zitieren -->           Unities abgeben:           
                        
  Was ist denn genau ein Mapkey? Ich bin ja, was ProE angeht, absoluter Neuling, aber dieses Wort läuft mir andauernd über wen Weg! Und die Trail-Datei auslesen, was ist das und wie geht das? Gibt es eigentlich noch andere, speziell für Programmierung ausgelegte Foren für ProE? Das NX Forum auf CAD.de ist untergliedert in allgemein und Programmierung, da findet man schneller was man sucht, hier bekommt man immer Tips zum allg. Arbeiten und nicht zum Programmieren wenn man die Suchfunktion anschmeißt...        Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
    
  
        Beiträge: 806 Registriert: 08.05.2012 Creo Parametric 3.0 M120 PDM Essentials 10.1 M040 
                         | 
                        
                         
                                                 
                        erstellt am: 29. Jan. 2014 11:26       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                         | 
                        
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 06. Mrz. 2014 10:23       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Hallo! Zwar liegt der letzte Beitrag etwas zurück, aber die Thematik passt eigentlich genau. Die Grundkonfiguration von VB und Pro/E hab ich, wie bei Hier vorgeschlagen, erledigt. Umgebungsvariable ist gesetzt, Verweis in VB hinzugefügt und pfclscom.exe erscheint. Nun zum Problem:  Wenn ich zum Testen lediglich          Dim connection As IpfcAsyncConnection         Dim classAsyncConnection As New CCpfcAsyncConnection         connection = classAsyncConnection.Connect("", "", ".", 5) oder auch          connection = classAsyncConnection.Connect(DBNull.Value, DBNull.Value, DBNull.Value,DBNull.Value)  aufrufe, wie in der vbapi Dokumentation von PTC vorgeschlagen, erhalte ich immer folgende Fehlermeldung: COMException -> pfcExceptions::XToolkitNeedsUnlock Anbei zwei Lösungsansätze, die zu keinem Erfolg führten. Pro/Toolkit ist am Arbeitsplatz vorhanden. CADInterface Blogspot Zitat:
          Dim drawings As Cstringseq         Dim model As IpfcModel         Dim modelDesc As IpfcModelDescriptor         Dim Mdlname As String         Dim Drwname As String         Dim Pfad As String         Dim Pos As Integer        Proe = New CCpfcAsyncConnection         asyncConnection = Proe.Connect("", "", ".", 5)         session = CType(asyncConnection.Session, IpfcBaseSession)
  
  Hier bekomme ich direkt die Meldung, dass "Proe" nicht deklariert ist.  Liebe Grüße Christoph [Diese Nachricht wurde von PongoCAD am 06. Mrz. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
    
  
        Beiträge: 806 Registriert: 08.05.2012 
                         | 
                        
                         
                                                 
                        erstellt am: 06. Mrz. 2014 10:46       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Die Toolkit-Lizenz brauchst du für die VB-API nicht. Dafür ist diese ja da. Sind Option Strict und Explicit gesetzt? Im zweiten Fall ist Proe auch nicht deklariert. Ggf. könnte es helfen die Objekte von der VB-API direkter anzusprechen. Zudem fehlt in dem zweiten Fall auch die Hälfte vom Code. (Bitte verzeiht mein leihenhaftes Beschreiben, ich bin Maschinenbauer und kein Informatiker) Ich meine: Option Strict On Option Explicit On Dim connection As pfcls.IpfcAsyncConnection Dim cAC As pfcls.CCpfcAsyncConnection connection = New cAC.connect("","",".",5) connection.Disconnect(2) Ansonsten kannst du auch mal kurz mein Script testen. Einfach im CMD mit "cscript cadde.vbs" aufrufen. Edit: Disconnect hinzugefügt. Sonst meckert die API rum. ------------------ Grüße Nico \o/ Üs - ProE-Beziehungen [Diese Nachricht wurde von NicoFTB am 06. Mrz. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 06. Mrz. 2014 11:13       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Danke Nico. Strict und Explicit sind gesetzt. Auch wenn ich es nun direkt anspreche, erhalte ich die selbe Fehlermeldung. Hier mal der Code des minimalistischen Testprogramms. Option Strict On Option Explicit On 'Imports pfcls      Public Class Form1     Private Sub Button_drw_open_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_drw_open.Click         Dim connection As pfcls.IpfcAsyncConnection         Dim cAC As New pfcls.CCpfcAsyncConnection         connection = cAC.Connect("", "", ".", 5)         connection.Disconnect(2)     End Sub End Class Zitat: Ansonsten kannst du auch mal kurz mein Script testen. Einfach im CMD mit "cscript cadde.vbs" aufrufen.
  Jetzt steh ich irgendwie auf der Leitung. Du meinst im CMD von Windows? Und Welches Programm? [Diese Nachricht wurde von PongoCAD am 06. Mrz. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
    
  
        Beiträge: 806 Registriert: 08.05.2012 
                         | 
                        
                         
                                                 
                        erstellt am: 06. Mrz. 2014 11:27       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                         | 
                        
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 06. Mrz. 2014 11:45       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Ach herje. Habs ausgeführt, in ProE ist ein Modell geöffnet und aktiv. Die Ausgabe: C:\cadde>CScript cadde.vbs Microsoft (R) Windows Script Host, Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten. Modelle in der Sitzung: 0 424 Laufzeitfehler in Microsoft VBScript Objekt erforderlich C:\cadde\cadde.vbs(45, 1) Laufzeitfehler in Microsoft VBScript: Objekt erforderlich: '' Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
    
  
        Beiträge: 806 Registriert: 08.05.2012 
                         | 
                        
                         
                                                 
                        erstellt am: 06. Mrz. 2014 11:57       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Ok. Es gibt jetzt eigentlich nur zwei Möglichkeiten. 1.) ProE neustarten und hoffen dass es dann geht. 2.) Du hast nen Fehler bei der Installation gemacht. Hast du die vbstart.bat zB als Admin ausgeführt? ggf. schon nen Neustart gemacht? Die VB-API kann bissl zickig sein. Bei mir funktioniert diese leider meist nur mit einer frischen Sitzung. Sobald ich schon ne Weile damit gearbeitet habe muss ich Creo erst schließen um eine Verbindung zu bekommen. ------------------ Grüße Nico \o/ Üs - ProE-Beziehungen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 06. Mrz. 2014 12:50       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Neustart hab ich nun durchgeführt, leider immer noch das selbe Problem. Werde mich nun nochmals wegen einer Neuinstallation an die IT wenden. Aber so viel ich weiß, wurde die vb_api_register.bat als Administrator ausgeführt.  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        San Benedetto Mitglied
 
  
  
        Beiträge: 29 Registriert: 28.05.2013 Win7 Pro/e Wf4/Creo 2.0 VB2010express VB2012express 
                         | 
                        
                         
                                                 
                        erstellt am: 06. Mrz. 2014 19:59       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Hallo PongoCad wenns nicht läuft. 1.- im Pro/E Bin Verzeichnis vb_api_unregister.bat ausführen  2.- im Pro/E Bin Verzeichnis ptcsetup.bat ausführen  3.- im Pro/E Bin Verzeichnis vb_api_register.bat ausführen alles als Admin  Systemvariable Pfad auf Pro_comm_msg_exe  dann sollte es von Pro/E Seite funktionieren. In VB Verweis zu Pro/E API hinzufügen. Windows Form erstellen mit einem Schalter "Button_drw_open"
 ich hoffe es hilft. testprg von obigen post erweitert. (beim ersten verbinden kann es durchaus einmal 10 sec dauern bis die  Msgbox aufpoppt. Option Strict On Option Explicit On Imports pfcls    '<-- bitte nicht auskommentieren wie oben in deinem Post      Public Class Form1     Private Sub Button_drw_open_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_drw_open.Click         Dim connection As pfcls.IpfcAsyncConnection         Dim cAC As New pfcls.CCpfcAsyncConnection         connection = cAC.Connect("", "", ".", 5)         MsgBox("Hello World: " )         connection.Disconnect(2)     End Sub End Class Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 06. Mrz. 2014 22:51       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Hallo San Benedetto! Danke für deine Unterstützung!    Werde ich morgen gleich so durchführen! Auf meinem Testsystem hab ich das ganze nun zum Laufen bekommen, also wenigstens ein kleiner erster Erfolg. Eigentlich sollte es ja wirklich kein Problem sein, aber hab eben wenig Ahnung was am anderen System schief gegangen sein kann.. also nochmal von Null starten, dann wird’s wohl hoffentlich klappen.
  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 07. Mrz. 2014 13:22       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  So, ProE wurde komplett neu installiert, Umgebungsvariable überprüft, vb_api_register.bat nochmals ausgeführt und der Verweis in VB Express gemacht. Leider endet es immer noch mit dem selben Ergebnis:  pfcExceptions::XToolkitNeedsUnlock  Einzige Spur die ich jetzt noch habe ist diese
  Zitat: This issue is corrected in M220 date code which will be available for download on 31-Jan-2014. You may switch to M200 date code OR contact PTC Technical Support to have the pfclscom.exe unlocked.
  Zwar handelt es sich hier um W5, aber die Fehlermeldung und der Ansatz ist der Gleiche. Wenn's nicht hinhaut, muss ich es wohl über J-Link probieren, dieses Problem zu lösen, da es nicht ausreicht, wenn's nur Zuhause richtig funktioniert     Noch eine Frage die aufgetaucht ist: Auf meinem Testsystem verwende ich ein 32 bit ProE auf einem 64 bit Rechner (dort funktioniert es problemlos). Hier ist beides 64 bit. Kann ProE in 64 bit über die VB API angesprochen werden?  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
    
  
        Beiträge: 806 Registriert: 08.05.2012 
                         | 
                        
                         
                                                 
                        erstellt am: 07. Mrz. 2014 13:54       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                         | 
                        
                        San Benedetto Mitglied
 
  
  
        Beiträge: 29 Registriert: 28.05.2013 Win7 Pro/e Wf4/Creo 2.0 VB2010express VB2012express 
                         | 
                        
                         
                                                 
                        erstellt am: 07. Mrz. 2014 13:55       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Hallo PongoCAD Hast du dein Programm mit der Creo API oder WF4 API erstellt? (verweis in VB) ( Systemvariable auf WF4 Pro_comm_msg_exe   oder die von Creo) bei mir geht's nicht Überkreuz  von Creo zu WF 4 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 10. Mrz. 2014 08:21       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Hallo!      Danke für eure Tipps. Habs mit der WF4 API erstellt und auch den Verweis und die Systemvariable dementsprechend gesetzt. Aber war ein guter Tipp, leider trifft's nicht zu..  [Diese Nachricht wurde von PongoCAD am 10. Mrz. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 24. Mrz. 2014 09:06       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Mein System wurde letzten Freitag vollständig neu aufgesetzt, nun funktionierts überraschender Weise. Danke für eure Hinweise, Gründe kann ich aber leider keiner liefern.  [Diese Nachricht wurde von PongoCAD am 24. Mrz. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 15. Apr. 2014 09:11       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Hallo! Nun wo ich mich wieder aktiv damit ausseinandersetze, bin ich leider auf ein Problem gestoßen, wofür ich keine Lösung finde. Ich schaffs nicht den Modellbaum anzusprechen bzw. mir diesen als Array von Strings auszugeben. Zwar kann ich den Baugruppennamen auslesen, und auch für Testzwecke den Namen einer zweiter geöffneten Baugruppe, aber für den Modellbaum hab ich noch nicht den richtigen Befehl gefunden, auch wenn im API Wizard und in der Schnittstellen Doku nur von Befehlen so wimmelt..  Hat zufällig jemand eine Idee, wie ich den ansprechen kann? Mein Ziel ists, über Excel Listen zu exportieren, mit denen die Namen im Baum abgeglichen werden.  Mein Testprogramm: Option Strict On     Option Explicit On   Imports pfcls        Imports System.IO    Imports System       Imports System.Xml   Imports Microsoft.Office.Core        Imports Microsoft.Office.Interop     '*** Main Skript ***' Public Class ExportSTLFiles     '*** Globale Deklaration der Variablen, damit sie in allen Funktionen bekannt sind     Dim model As IpfcModel     Dim Proe As CCpfcAsyncConnection     Dim asyncConnection As IpfcAsyncConnection     Dim session As IpfcBaseSession    '*** Button zum Erstellen der Verbindung ***'     Private Sub btnConnectProE_Click(sender As System.Object, e As System.EventArgs) Handles   ConnectProE.Click         'SystemDiagnostic()  ' Sub zur Überprüfung der Einstellungen des Systems         ' Verbindung zu ProE erstellen         Proe = New CCpfcAsyncConnection         asyncConnection = Proe.Connect("", "", ".", 5)         session = CType(asyncConnection.Session, IpfcBaseSession)     End Sub Private Sub btnTestprogramm_Click(sender As System.Object, e As System.EventArgs) Handles btnTestprogramm.Click         Dim Baugruppe As Cstringseq         Dim modelDesc As IpfcModelDescriptor         Dim Mdlname As String         Dim ASMName As String         Dim Pfad As String         Dim Pos As Integer 	 Dim ActModel As IpfcModel         Dim ActModels As IpfcModels         Dim selections As CpfcSelections         Dim selectionOptions As IpfcSelectionOptions         Dim max As Integer         Try             model = session.CurrentModel()  ' Geöffnetes Modell ansprechen             If model Is Nothing Then        ' Falls kein Modell geöffnet ist, gib Fehler aus                 Throw New Exception("Kein Model im Hauptfenster:  ")             End If             Mdlname = session.CurrentModel.FullName.ToLower  ' Modellnamen auslesen / ToLower - wandelt in Kleinschrift um              Pfad = session.CurrentModel.Origin               ' Absolute Lage  der Datei             Pos = Pfad.LastIndexOf(Mdlname)                  ' Position des letzten vorkommens von Mdlname             Pfad = Pfad.Remove(Pos)                          ' Schneidet den Dateinamen vom absoluten Pfad weg             MsgBox("Pfad " & Pfad)                           ' Ausgabe des Pfades               ASMName = Mdlname + ".asm"                       ' Modellnamen erweitern             MsgBox("name  " & ASMName)                       ' Ausgabe der Oberbaugruppe             Baugruppe = session.ListFiles(ASMName, EpfcFileListOpt.EpfcFILE_LIST_LATEST, Pfad) ' Suche nach Datei               If Baugruppe.Count = 0 Then                 Throw New Exception("Keine Baugruppe vorhanden:  ")             End If
       ActModels = session.ListModels()             ActModel = CType(ActModels(1), IpfcModel)             MsgBox("ActModel  " & ActModel.CommonName)             selectionOptions = (New CCpfcSelectionOptions).Create("prt_or_asm")  ' Auswahl von Parts oder Assembles             selectionOptions.MaxNumSels = 2             MsgBox("Select")             selections = session.Select(selectionOptions, Nothing)             MsgBox("Selection done")             MsgBox("Selection Count: " & selections.Count.ToString) Catch ex As Exception             MsgBox(ex.Message.ToString + Chr(13) + ex.StackTrace.ToString)         End Try         asyncConnection.Disconnect(2)     End Sub End Class
  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        San Benedetto Mitglied
 
  
  
        Beiträge: 29 Registriert: 28.05.2013 Win7 Pro/e Wf4/Creo 2.0 VB2010express VB2012express 
                         | 
                        
                         
                                                 
                        erstellt am: 15. Apr. 2014 10:03       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Hallo PongoCad ich werfe  einfach mal ein paar code snippels rein . anhand derer kannst du versuche unternehmen.  Private Class AssemblyUtilities         Private Shared asm As IpfcAssembly         Private Shared pathArray As ArrayList          Public Shared Function listEachLeafComponent(ByRef assembly As IpfcAssembly) As IpfcComponentPath()             Dim startLevel As New Cintseq             Dim Teile As Integer = 0             asm = assembly             pathArray = New ArrayList             listSubAssemblyComponent(startLevel)             Dim compPaths(pathArray.Count) As IpfcComponentPath       '******************** Listet nur prt im ASM ohne ASM in der ganzen ASM tiefe             For i = 0 To pathArray.Count - 1                 compPaths(i) = pathArray.Item(i)                 ' MsgBox("EBENE - " & compPaths(i).ComponentIds.Count.ToString & "- " & compPaths(i).Leaf.FileName.ToString)             Next             Return (compPaths)         End Function
          Private Shared Sub listSubAssemblyComponent(ByRef currentLevel As Cintseq) '*********** Listet alle Componenten im ASM rekursiv             Dim currentComponent As IpfcSolid             Dim currentPath As IpfcComponentPath = Nothing             Dim level As Integer             Dim SubComponents As IpfcFeatures             Dim componentFeat As IpfcFeature             Dim id As Integer             Dim modelDesc As IpfcModelDescriptor             ' Dim Datei As String
             level = currentLevel.Count             If (level > 0) Then                 currentPath = (New CMpfcAssembly).CreateComponentPath(asm, currentLevel)                 currentComponent = currentPath.Leaf             Else                 currentComponent = asm             End If             If (currentComponent.Type = EpfcModelType.EpfcMDL_PART) And (level > 0) Then                 pathArray.Add(currentPath)             Else                 SubComponents = currentComponent.ListFeaturesByType(True, EpfcFeatureType.EpfcFEATTYPE_COMPONENT)                 For i = 0 To SubComponents.Count - 1                     componentFeat = SubComponents.Item(i)                     id = componentFeat.Id                     modelDesc = componentFeat.ModelDescr                      ' If InStr(tree_view.Datei, ".asm") > 1 Then                     ' MsgBox(".ASM " & tree_view.Datei)                     ' End If                     ' If InStr(tree_view.Datei, ".prt") > 1 Then                     ' MsgBox(".PRT " & tree_view.Datei)                     ' End If                      MsgBox("Komponente - " & modelDesc.GetFileName.ToLower & "  id: " & id & " Level " & level & " Zähler " & i)                                                                                  End If                     ' MsgBox(" Pfad -" & tree_view.Pfad & "   " & "  - Datei - " & tree_view.Datei)
                     ' tree_view.makenode(modelDesc.GetFileName.ToLower, level, i)                     currentLevel.Set(level, id)                     listSubAssemblyComponent(currentLevel)                           '**************************rekursion                 Next             End If             If Not level = 0 Then                 currentLevel.Remove(level - 1, level)             End If             Return
         End Sub     End Class Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 15. Apr. 2014 10:19       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                         | 
                        
                        NicoFTB Mitglied Ingenieur Entwicklung/Konstuktion
    
  
        Beiträge: 806 Registriert: 08.05.2012 
                         | 
                        
                         
                                                 
                        erstellt am: 15. Apr. 2014 10:46       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Die einfache Variante. Baugruppe öffnen, speicher von 'Altlasten' leeren, über listModels() alle Teile in der Session auslesen. Den genauen Baum auslesen geht afaik nur über die Komponenten. Und da müsste man den Baum rekursiv auslesen. Über listFeaturesByType bekommt man die Kompenenten IDs. Dann muss man prüfen ob eine ID ein ASM ist und dann in diesem ASM wieder die Komponenten ausgeben. Das alles dann irgendwie zusammensetzen in einer Liste, einem Objekt oder ähnlichem. Edith meint: Man sollte nicht zu lange im Beitrag-Erstellen rumtippen. Aber meine Erklärung ist grob das was das Tool oben macht. ------------------ Grüße Nico \o/ Üs - ProE-Beziehungen [Diese Nachricht wurde von NicoFTB am 15. Apr. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 16. Apr. 2014 15:45       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Hallo     ! Eure Hilfestellungen haben mir wirklich die Augen geöffnet. Habe bis dato den listModels() Befehl einfach missverstanden (dachte ich kann damit lediglich auf geöffnete Instanzen, nich auf den Inhalt zugreifen).  Nun nachdem das klappt, vergleiche ich Einträge aus listModel() mit eingelesenen Bezeichnungen aus Excel (z.B. prt0001.prt), mit dem Ziel, diese als .stl File zu exportieren. Zwar konnte ich zu Testzwecken als vrml exportierem: Dim ActModels As IpfcModels Dim ActModel As IpfcModel Dim outDir As String Dim vrmlInstructions As IpfcVRMLModelExportInstructions ActModels = session.ListModels() outDir = "SomeDirectory"  vrmlInstructions = (New CCpfcVRMLModelExportInstructions).Create(outDir)   Dim StringArray(3) As String     StringArray(1) = "part_neu_1.prt"     StringArray(2) = "partneu.prt"     StringArray(3) = "unterbaugruppen_teil_1.prt"
 For i As Integer = 0 To (ActModels.Count - 1)                 ActModel = CType(ActModels(i), IpfcModel)                 MsgBox("ListModel:  " & i & " " & ActModel.CommonName)                 If StringArray.Contains(ActModel.CommonName) Then                     ActModel.Export(Nothing, CType(vrmlInstructions, IpfcExportInstructions))                     MsgBox("Bin Teil von: " & ActModel.CommonName)                 End If Next Dies funktioniert soweit so gut, aber beim Stl Export bekomme ich es so nicht hin. Kann ich auch hier, wie beim manuellen Export, nur die Gesamtbaugruppe exportieren (Unterdrücken vernachlässigt). ?  Mein Ansatz:
  Dim ModelExportSTL As IpfcSTLBinaryExportInstructions Dim csysName, FileName As String Dim model As IpfcModel csysName = "CS0" FileName = "C:\Output.stl" model = session.CurrentModel() ModelExportSTL = (New CCpfcSTLBinaryExportInstructions).Create(csysName) model.Export(FileName, CType(ModelExportSTL, IpfcExportInstructions))[/b]
  So kann ich zwar die Gesamtbaugruppe exportieren, aber eigentlich will ich auch jedes Bauteil abgleichen und einzeln exportieren über  ActModels = session.ListModels() und ActModel = CType(ActModels(i) IpfcModel). Da bekomm ich aber die Exception ToolkitNotFound..      Habt ihr zufällig eine Idee? Oder muss ich den Umweg gehen, und alle anderen Baugruppen und Parts unterdrücken, und dann exportieren. Diejenigen, die exportiert werden müssen, sollen nämlich zu einem "globalen" Koordinatensystem referenziert werden, welches in der Baugruppe vorhanden sind. Liebe Grüße Christoph [Diese Nachricht wurde von PongoCAD am 16. Apr. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        San Benedetto Mitglied
 
  
  
        Beiträge: 29 Registriert: 28.05.2013 Win7 Pro/e Wf4/Creo 2.0 VB2010express VB2012express 
                         | 
                        
                         
                                                 
                        erstellt am: 16. Apr. 2014 18:01       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Servus PongoCad schön das du weiterkommst mit session.ListModels() bekommst du alle Modelle die im Creo Speicher sind  also wenn du den Speicher ausleerst , und dann eine Baugruppe öffnest, hast du damit Zugriff auf alle Modelle der Baugruppe beim Export der Modelle als Step kennen die Einzelteile nicht die Referenz wie sie verbaut wurden. Die Info Steckt nur in der BG.   Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        SpacemanSpiff Mitglied
 
  
  
        Beiträge: 57 Registriert: 02.05.2011 Creo 2 
                         | 
                        
                         
                                                 
                        erstellt am: 28. Apr. 2014 22:00       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Hallo! Hier wird ja auch von der Zickigkeit der VBApi-Schnittstelle geschrieben. Ich habe ein Skript, das sich mit Creo 2 verbindet, eine URL im internen Browser aufruft und sich danach wieder trennt. Das funktionierte vor dem Wochenende ziemlich gut. Heute hat es mich Wahnsinnig gemacht, ich bekomme immer mal wieder den XToolkitNotFound-Fehler, aber nie beim ersten mal. Mir ist aufgefallen, dass beim Ausführen eines VBS-Scriptes die pfclscom.exe gestartet und nach kurzer Zeit wieder beendet wird. Bei Excel bleibt sie anscheinend die ganze Zeit geöffnet, sobald eine Mappe mit dem Creo-Verweis geöffnet ist, auch wenn die Verbindung getrennt wurde. Irgendwie scheint das Disconnect nicht so 100%ig zu funktionieren. Ist es besser, eine Verbindung in Excel aufzubauen und erst zu trennen, wenn man die Mappe schließt? Momentan mache ich für jeden Aufruf eine neue Verbindung und trenne sie gleich wieder. Ich mache das über die Methode, die hier als Beispiel beschrieben wurde: http://ww3.cad.de/foren/ubb/uploads/San+Benedetto/Pro_e-VB-API-VB-2010-Express.pdf Viele Grüße     Spiff Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                        
                        San Benedetto Mitglied
 
  
  
        Beiträge: 29 Registriert: 28.05.2013 Win7 Pro/e Wf4/Creo 2.0 VB2010express VB2012express 
                         | 
                        
                         
                                                 
                        erstellt am: 29. Apr. 2014 11:51       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Hallo Spaceman Spiff nur eine Verbindung kann mit Pro/e in einer Session verbunden sein wenn dein Excel die Verbindung offen lässt und du dann nochmal zu verbinden versuchst  -> toolkit bla bla bla aus dem User guide Only one active Connection can be made to a single Pro/Engineer sesssion at one time  hoffe das hilft  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  | 
                       
 
                        PongoCAD Mitglied
 
  
  
        Beiträge: 16 Registriert: 03.03.2014 Pro/E Wildfire 4.0 VB 2010 Express 
                         | 
                        
                         
                                                 
                        erstellt am: 05. Mai. 2014 09:40       <-- editieren / zitieren -->           Unities abgeben:            Nur für pleudel  
                        
  Guten Morgen    ! Dank eurer Unterstützung habe ich es nun zumindest auf meiner Testbaugruppe den separierten stl File Export aus Baugruppen umsetzen können.  Teilweise drückt der Schuh aber noch. So hab ich Probleme mit der Qualität (Sehnenhöhe) der exportierten Parts, aber da hab ich auch schon Ansätze gefunden, mit denen es klappen könnte.  Kurz zu meiner Vorgangsweise, falls jemand mal vor demselben Problem steht: Mit dem Code von San Benedetto („AssemblyUtilities“ -> Beispiel aus VB API Doku) lässt sich der Strukturbaum hervorragend auslesen. Ich hab es etwas modifiziert, und unterdrücke gleich beim auslesen sämtliche Parts (KEINE Baugruppen).   Beispiel: In Private Class AssemblyUtilities: FeatureSuppressOperations = New CpfcFeatureOperations FeatureSuppressOperations.Append(feature.CreateSuppressOp())    ' Füge zu suppressenden Part dem Array hinzu. ParentSolid.ExecuteFeatureOps(CType(FeatureSuppressOperations, CpfcFeatureOperations), Nothing)   ' Unterdrücken.                 „ParentSolid“ muss heirbei die Überbaugruppe des jeweiligen Parts sein (aber IpfcSolid). Lässt sich beispielsweise mit „ParentSolid = feature.DBParent“ ermitteln.  Zustäzliche zum IpfcComponentpath Array „ComPaths“ übergebe ich auch einen Array aus allen Part-Namen beim Aufruf der Funktion aus AssemblyUtilities.  Im Hauptprogramm Vergleiche ich dann lediglich den Part-Namen Array mit den Namen der gewünschten Exports (z.B. aus Excel einlesen),  und hole dann entsprechende Parts zurück (FeatureRemoveOperations.Append(feature.CreateResumeOp())). Hinweis: IpfcComponentPath hat teilweise Probleme bei unterdrückten Parts, daher der Umweg mit dem eigenen Part-Namen Array. Das lässt sich schön verschachteln, um gleichzeitig mehrere Parts zurückholen, zu exportieren und abermals zu unterdrücken. (s.o. für Hinweise zum stl File Export) Liebe Grüße Christoph
  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  |