| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Apprentice Server (3329 mal gelesen)
|
Rodario7 Mitglied Maschinenbautechniker
Beiträge: 85 Registriert: 08.02.2013 Windows 7 64bit Inventor 2013 Visual Basic 2010 Express
|
erstellt am: 18. Mai. 2014 07:46 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe mich nun auch mal an den Apprentice Server begeben und mir aus der Inventor hilfe folgenden code kopiert: Code: Private Sub CommandButton1_Click() ChangeReferenceSample End SubPrivate Sub ChangeReferenceSample() Dim oApprentice As New ApprenticeServerComponent ' Open a document. Dim oDoc As ApprenticeServerDocument Set oDoc = oApprentice.Open("J:\Baugruppe1.iam") ' Iterate through the references looking for a ' reference to a specific file. Dim oRefFileDesc As ReferencedFileDescriptor For Each oRefFileDesc In oDoc.ReferencedFileDescriptors If oRefFileDesc.FullFileName = "J:\para.ipt" Then ' Replace the reference. Call oRefFileDesc.PutLogicalFileNameUsingFull("J:\paraneu.ipt") Exit For End If Next ' Set a reference to the FileSaveAs object. Dim oFileSaveAs As FileSaveAs Set oFileSaveAs = oApprentice.FileSaveAs ' Save the assembly. Call oFileSaveAs.AddFileToSave(oDoc, oDoc.FullFileName) Call oFileSaveAs.ExecuteSave End Sub
Hier bekomme ich aber in der Zeile Code: Call oFileSaveAs.AddFileToSave(oDoc, oDoc.FullFileName)
eine Fehlermeldung: "Method 'FileSaveAs' of Object 'ApprenticeServer' failed Könnt ihr mir weiterhelfen? ------------------ Gruß Klaus ------------------ Gruß Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 18. Mai. 2014 20:29 <-- editieren / zitieren --> Unities abgeben: Nur für Rodario7
|
Rodario7 Mitglied Maschinenbautechniker
Beiträge: 85 Registriert: 08.02.2013 Windows 7 64bit Inventor 2013 Visual Basic 2010 Express
|
erstellt am: 19. Mai. 2014 16:41 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf, eig. wollte ich den Code nur im VBA Modus testen um ihn dann umzuschreiben (in vb.net) Dass der Apprentice Server aus Inventor VBA heraus nicht läuft wußte ich nicht. ------------------ Gruß Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 19. Mai. 2014 21:00 <-- editieren / zitieren --> Unities abgeben: Nur für Rodario7
|
Rodario7 Mitglied Maschinenbautechniker
Beiträge: 85 Registriert: 08.02.2013 Windows 7 64bit Inventor 2013 Visual Basic 2010 Express
|
erstellt am: 20. Mai. 2014 08:17 <-- editieren / zitieren --> Unities abgeben:
Ja Danke für den Hinweis Also kann ich davon ausgehen, dass ich den Apprentice Server nur von einem externen Programm wie Vb.net starten kann. Gibt's denn dafür irgendwo einen umgeschriebenen Code den ich dafür übernehmen könnte? ------------------ Gruß Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 20. Mai. 2014 14:54 <-- editieren / zitieren --> Unities abgeben: Nur für Rodario7
Hallo Der Code sollte bis auf kleine Änderungen lauffähig sein. Lösch die "Set" weg, da VB.net die nicht braucht. Lösch die "Call" raus. Also jeweils nur das Wort, nicht die ganze Zeile. Ich meine so müßte es gehen. Ist ungetestet. Code: Private Sub CommandButton1_Click() ChangeReferenceSample End SubPrivate Sub ChangeReferenceSample() Dim oApprentice As New Inventor.ApprenticeServerComponent ' Open a document. Dim oDoc As Inventor.ApprenticeServerDocument oDoc = oApprentice.Open("J:\Baugruppe1.iam") ' Iterate through the references looking for a ' reference to a specific file. Dim oRefFileDesc As ReferencedFileDescriptor For Each oRefFileDesc In oDoc.ReferencedFileDescriptors If oRefFileDesc.FullFileName = "J:\para.ipt" Then ' Replace the reference. oRefFileDesc.PutLogicalFileNameUsingFull("J:\paraneu.ipt") Exit For End If Next ' Set a reference to the FileSaveAs object. Dim oFileSaveAs As FileSaveAs oFileSaveAs = oApprentice.FileSaveAs ' Save the assembly. oFileSaveAs.AddFileToSave(oDoc, oDoc.FullFileName) oFileSaveAs.ExecuteSave End Sub
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rodario7 Mitglied Maschinenbautechniker
Beiträge: 85 Registriert: 08.02.2013 Windows 7 64bit Inventor 2013 Visual Basic 2010 Express
|
erstellt am: 20. Mai. 2014 16:23 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 20. Mai. 2014 18:51 <-- editieren / zitieren --> Unities abgeben: Nur für Rodario7
Hallo Ich versteh vielleicht die Frage falsch, aber du öffnest mit dem ApprenticeServer die Bauteildatei als ApprenticeServerDocument und unter ComponentDefinition.Parameters sind die Parameter. Da der ApprenticeServer keinen Zugriff auf den Geometriekern hat, könnte es gut sein das auch die Parameter nicht erreichbar sind. Eine Änderung der Parameter könnte sich auf die Modellgeometrie auswirken. Die kann der ApprenticeServer aber nicht neu berechnen. Folglich würden sich Inkonsistenzen ergeben. Die Alternative wäre eine normale Inventorinstanz zu öffnen und die Änderungen dort zu machen. Wenn man die Instanz unsichtbar startet, müßte es ein wenig schneller laufen. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rodario7 Mitglied Maschinenbautechniker
Beiträge: 85 Registriert: 08.02.2013 Windows 7 64bit Inventor 2013 Visual Basic 2010 Express
|
erstellt am: 21. Mai. 2014 08:11 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, Ich denke es hat sich alles erledigt: Der Apprentice Server hat nicht nur das Bauteil in der Baugruppe ausgetauscht, sondern auch die Referenzzuweisung auf das neue Bauteil gelegt. Die Baugruppe hatte das Bauteil 1x aus Bauteil und 1x als Parameterquelle. Durchs austauschen des Bauteils hat sich die Parameterquelle geändert, dass hatte ich Gestern nicht gesehen. Also Danke nochmals für deine Hilfe ------------------ Gruß Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |