Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  Inventor VBA
  iPart in Baugruppe durch anderes iPart der gleichen iFactory tauschen

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
  
Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
Autor Thema:  iPart in Baugruppe durch anderes iPart der gleichen iFactory tauschen (722 mal gelesen)
mranderson
Mitglied
Entwicklungsingenieur Robotik


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

Beiträge: 70
Registriert: 25.04.2006

IV: Autodesk Inventor 9
VB: Visual Basic 6.0
OS: Microsoft Windows 2000 Professional SP 4
CPU: Intel Xeon 1,7 GHz
Arbeitsspeicher: 1 GB

erstellt am: 30. Jun. 2006 11:42    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

Guten Mittag allerseits,

nachdem ich mir bei meinem letzten Problem selbst helfen konn, hätte ich aber ein weiteres Problem.

Und zwar möchte ich ein iPart-Member in einer Baugruppe durch ein anderes Member der gleichen iFactory tauschen. Im Prinzip dürfte das ja nichts anderes sein als der Tausch der Reihe, aus dem das Member erzeugt wurde.

Kennt sich damit jemand aus? Habe auch schon im Autodesk Discussion Forum geschaut, aber so ganz bin ich da nicht auf einen grünen Zweig gekommen.

Also wenn jemand einen Code-Fetzen oder einfach eine Idee hat bitte posten!

Schonmal vielen Dank für eure Beiträge!!!

Grüße

MrAnderson alias René

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

mranderson
Mitglied
Entwicklungsingenieur Robotik


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

Beiträge: 70
Registriert: 25.04.2006

IV: Autodesk Inventor 9
VB: Visual Basic 6.0
OS: Microsoft Windows 2000 Professional SP 4
CPU: Intel Xeon 1,7 GHz
Arbeitsspeicher: 1 GB

erstellt am: 06. Jul. 2006 16:54    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 nochmal!

Hat wirklich niemand eine Idee, wie sich das mit recht einfachen Mitteln bewerkstelligen ließe?

Wenn doch, bitte unbedingt posten! Habe bisher selbst noch keine Lösung gefunden. Dabei scheint das Problem ja recht simpel, einfach an Stelle Reihe x, Reihe y verwenden. aber so scheints ja leider nicht zu gehen.

Also ich bin für alle Anregungen dankbar!!!

Schönen Feierabend noch!

MrAnderson alias René

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

waldi
Mitglied
 Softwerker


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

Beiträge: 272
Registriert: 07.08.2001

erstellt am: 10. Jul. 2006 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 Nur für mranderson 10 Unities + Antwort hilfreich

Das musst du wohl von Hand machen. Mit PartComponentDefinition.IsiPartMember und PartComponentDefinition.iPartMember kommst du an das Member hin, damit dann and die Factory. Neues Member erzeugen und wie ein normales Teil mit Replace austauschen.

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

mranderson
Mitglied
Entwicklungsingenieur Robotik


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

Beiträge: 70
Registriert: 25.04.2006

IV: Autodesk Inventor 9
VB: Visual Basic 6.0
OS: Microsoft Windows 2000 Professional SP 4
CPU: Intel Xeon 1,7 GHz
Arbeitsspeicher: 1 GB

erstellt am: 10. Jul. 2006 09:19    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

Guten Morgen,

danke schonmal für den Tipp. Klingt nicht schlecht. Werde es nachher mal probieren, ob ich damit auf einen grünen Zweig komme. Bin grad an einer anderen Sache dran.

Einen schönen, heißen Tag noch!

Grüße

MrAnderson alias René

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

mranderson
Mitglied
Entwicklungsingenieur Robotik


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

Beiträge: 70
Registriert: 25.04.2006

IV: Autodesk Inventor 9
VB: Visual Basic 6.0
OS: Microsoft Windows 2000 Professional SP 4
CPU: Intel Xeon 1,7 GHz
Arbeitsspeicher: 1 GB

erstellt am: 10. Jul. 2006 15:18    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

Also ...

Nach längerer Recherche habe ich endlich so gut wie geschafft, ein iPart-Member durch ein anderes zu ersetzen. Die Sache ist eigentlich ganz einfach, funktioniert aber wohl nur mit custom iParts. Mit IsiPart bin ich irgendwie nicht so ganz weiter gekommen.

Das Problem bei mir is jedoch, dass sich das zu ersetzende iPart auch noch in einer Unterbaugruppe befindet.

So funktionierts:

Code:

Set oAsm = oApp.ActiveDocument

Set oOcc1 = oAsm.ComponentDefinition.Occurrences(2)

oOcc1.Edit

Set oOcc2 = oOcc.SubOccurrences(2)

Call oOcc2.ChangeRowOfiPartMember(3)

'Beendet den Bearbeitungsmodus
oApp.CommandManager.[_StartCommand] 43312


D.h. der eigentlich wichtige Befehl lautet wie gedacht "ChangeRowOfiPart".

Jetzt muss ich nur noch vorher die iPart-Factory öffnen und das später einzusetzende iPart-Member erzeugen. Dabei ergibt sich jedoch ein weiteres Problem ...

Wie kann ich denn die Parameter, mit denen das zu ersetzende iPart-Member erzeugt wurde, auslesen. Ich brauche diese, da teilweise die alten Parameter in das neue iPart-Member übernommen werden müssen.

Wenn jemandem dazu was einfällt, wäre echt super!!!

Grüße

MrAnderson alias René

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

Tschack
Mitglied



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

Beiträge: 186
Registriert: 29.11.2002

P4 3GHz 1GB
nvidia Geforce 6200+
IV 9 SP1/IV 10/IV 11 SP1

erstellt am: 10. Jul. 2006 15: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 mranderson 10 Unities + Antwort hilfreich

Hallo mranderson,

ein iPart unterscheidet sich doch von einem anderen der gleichen Familie nur in den Parametern, die unterschiedliche Werte einnehmen.
Also was hältst du davon nicht ein iPart durch ein anderes zu ersetzen, sondern nur die Parameter anzupassen?

mfg - Hans

------------------
Weihnachten sind wir wieder zuhause(wie schon damals 1914).

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

mranderson
Mitglied
Entwicklungsingenieur Robotik


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

Beiträge: 70
Registriert: 25.04.2006

IV: Autodesk Inventor 9
VB: Visual Basic 6.0
OS: Microsoft Windows 2000 Professional SP 4
CPU: Intel Xeon 1,7 GHz
Arbeitsspeicher: 1 GB

erstellt am: 10. Jul. 2006 15:51    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

Ja, wäre auch denkbar, allerdings müssten die Werte in der iPart-Tabelle neu hinzugefügt (also nicht geändert) werden. Da ein iPart-Member meines Wissens ein abgeleitetes Bauteil der iFactory ist, ist lediglich bekannt, dass es von einer iFactory stammt, aber geändert können die Parameter denke ich nicht werden.

Wie würde denn deines Erachtens der Befehl aussehen, mit dem man die Paramter eines iPart-Members ändern kann?

Bin schon die ganze Zeit dabei herauszufinden, wie ich die Parameter üpberhaupt auslese und habe bis jetzt nichts gefunden.

Also wenn du mir da weiterhelfen könntest wäre auch nicht schlecht!

Grüße

MrAnderson alias René

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

mranderson
Mitglied
Entwicklungsingenieur Robotik


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

Beiträge: 70
Registriert: 25.04.2006

IV: Autodesk Inventor 9
VB: Visual Basic 6.0
OS: Microsoft Windows 2000 Professional SP 4
CPU: Intel Xeon 1,7 GHz
Arbeitsspeicher: 1 GB

erstellt am: 11. Jul. 2006 09:04    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

Guten Morgen ihr Forumianer,

leider habe ich immer noch keinen Weg gefunden, die Werte, aus denen das iPart-Member erzeugt wurde, auszulesen.

Das Problem mit den Parametern ist, dass diese iPart-Werte nicht unter "Parameter" aufgeführt sind, da das Teil ja nur eine abgeleitete Komponente ist und somit nicht geändert werden können.

Die Werte des iPart-Members müssten jedoch auslesbar sein, da sie manuell ja auch festgestellt werden können über "Zeile berechnen" bzw. "Komponente ändern".

Mir würde aber auch schon helfen, wenn ich die Zeile weiß, aus der das Member erzeugt wurde.

Also wenn sich irgendjemandem dazu was einfällt, bitte unbedingt posten!!!

Einen schönen Tag noch.

Grüße

MrAnderson alias René

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

mranderson
Mitglied
Entwicklungsingenieur Robotik


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

Beiträge: 70
Registriert: 25.04.2006

IV: Autodesk Inventor 9
VB: Visual Basic 6.0
OS: Microsoft Windows 2000 Professional SP 4
CPU: Intel Xeon 1,7 GHz
Arbeitsspeicher: 1 GB

erstellt am: 11. Jul. 2006 11:18    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,

so, dann kann ich mein eigenes Rätsel zum Glück wieder selbst lösen.

Ist eigentlich mal wieder recht einfach ... wenn mans weiß. Aber so ganz 100%ig bin ich in der Logik der Inventor API trotz bisheriger zweimonatiger Arbeit noch nicht durchgestiegen.

Der Befehehl lautet

Code:

oiPart.Row(x).Value


, wobei oiPart als iPartMember definiert ist und das x nicht (wie ich zuerst gedacht habe) für die Reihe, sondern für die Spalte steht. Row ist die zum iPart-Member gehörige Reihe, weshalb man über Value zu den jeweiligen Werten kommt.

Ist aber alles nur ausprobiert, weshalb ich nicht garantieren kann, ob das der übliche oder beste Weg ist, die Werte auszulesen.

Auf jeden Fall bin ich froh, dieses Rätsel gelöst zu haben, da ich sonst nicht mit meinem Add-In weiter machen gekonnt hätte.

Trotzdem einen großen Dank an alle, die mir Vorschläge gemacht haben.

Grüße

MrAnderson alias René

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

mranderson
Mitglied
Entwicklungsingenieur Robotik


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

Beiträge: 70
Registriert: 25.04.2006

IV: Autodesk Inventor 9
VB: Visual Basic 6.0
OS: Microsoft Windows 2000 Professional SP 4
CPU: Intel Xeon 1,7 GHz
Arbeitsspeicher: 1 GB

erstellt am: 19. Jul. 2006 09:47    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

Tja, ein wenig zu früh gefreut.

Generell funktioniert das mit den Auslesen der Werte über die .Row-Eigenschaft, allerdings funktioniert das scheinbar nicht immer.

Die Werte von einem iPart konnte ich damit auslesen (aber irgendwie auch nicht alle Spalten).

Bei einem anderen iPart allerdings wird die zugehörige Reihe immer an erster Stelle angezeigt (aber mit den richtigen Daten), obwohl in der iPart-Tabelle die Reihe eine ganz andere ist. Beim .Row nimmt er allerdings die erste Reihe, sodass beim Auslesen der Daten die Werte der ersten Reihe der iPart-Tabelle benutzt werden, welche jedoch nichts mit dem Teil zu tun haben, von dem ich die Eigenschaften haben möchte. Schau ich manuell nach, aus welcher Reihe das Teil erzeugt wurde ist ebenfalls die Reihe eins markiert.

Irgendwie sehr misteriös ...

Hat jemand eine Idee woran das liegen könnte bzw. wie ich an die richtigen Werte komme?

Wenn ja, bin ich für alle Anregungen dankbar.

Ciao

MrAnderson alias René

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)2025 CAD.de | Impressum | Datenschutz