| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: iParts & TableCell (833 mal gelesen)
|
BJ Mitglied PLM System Administrator
Beiträge: 488 Registriert: 20.12.2002 SolidEdge Inventor AutoCad --- Dell Precision M90 Win XP Prof., SP 2 2 GHz Dual Core, 2GB RAM NVIDIA Quadro FX 2500M, 512MB
|
erstellt am: 29. Mai. 2006 16:45 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich möchte von verwendeten iParts z.B die Länge des verwendeten Members ermitteln. Ich kann zwar wunderbar auf die entsprechende Zelle in der Table zugreifen, aber manuelle Werteänderungen der Zelle werden nicht "registriert"; d.h. die Value Eigenschaft bleibt beim ursprünglichen Wert!? Hat jemand eine Erklärung dafür? Danke für die Hilfe! Gruß, BJ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012
|
erstellt am: 30. Mai. 2006 08:54 <-- editieren / zitieren --> Unities abgeben: Nur für BJ
|
BJ Mitglied PLM System Administrator
Beiträge: 488 Registriert: 20.12.2002 SolidEdge Inventor AutoCad --- Dell Precision M90 Win XP Prof., SP 2 2 GHz Dual Core, 2GB RAM NVIDIA Quadro FX 2500M, 512MB
|
erstellt am: 30. Mai. 2006 11:32 <-- editieren / zitieren --> Unities abgeben:
Ja, das Dokument ist UpToDate. Der Code zum Auslesen ist nix besonderes: Dim iPartMember As Inventor.iPartMember = Part.ComponentDefinition.iPartMember Dim iPartFactory As Inventor.iPartFactory = iPartMember.ParentFactory Dim TableRow As Inventor.iPartTableRow = iPartMember.Row Dim TableColumn As Inventor.iPartTableColumn Dim TableCell As Inventor.iPartTableCell For Each TableColumn In CType(iPartFactory.TableColumns, IEnumerable) If TableColumn.Heading = "L" Then TableCell = TableRow.Item(TableColumn.Index) Exit For End If Next Wird die Komponente geändert (hier "L"), passt sich zwar das Part wunderbar an, aber die Value-Eigenschaft der entsprechenden Cell bleibt beim alten (ursprünglichen) Wert (API); in der Tabelle selber (interaktiv) steht der richtige benutzerdefinierte Wert... Gruß, BJ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BJ Mitglied PLM System Administrator
Beiträge: 488 Registriert: 20.12.2002 SolidEdge Inventor AutoCad --- Dell Precision M90 Win XP Prof., SP 2 2 GHz Dual Core, 2GB RAM NVIDIA Quadro FX 2500M, 512MB
|
erstellt am: 30. Mai. 2006 13:13 <-- editieren / zitieren --> Unities abgeben:
Was ich bisher rausgefunden habe: Es wird immer auf die Table des Ursprungs-Files referenziert. Daher der "ursprüngliche" Wert. Der Table des Members scheint per API nicht ansprechbar zu sein? Jedenfalls habe ich dazu bisher nix finden können... Gruß, BJ [Diese Nachricht wurde von BJ am 30. Mai. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012
|
erstellt am: 30. Mai. 2006 13:53 <-- editieren / zitieren --> Unities abgeben: Nur für BJ
Also IMHO ist das auch OK so. Du kannst einen Member aus der iPartFamily generieren. Dazu liest du eine Spalte aus der Tabelle aus und passt du dein Child auf diese Parameter an. Ich glaube nicht, dass du die Tabellenwerte anpassen kannst (auch nicht, dass so etwas Sinn ergibt). Oder hab ich dich völlig missverstanden? ------------------ Grüße daywa1k3r FX64 Software Solutions Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BJ Mitglied PLM System Administrator
Beiträge: 488 Registriert: 20.12.2002 SolidEdge Inventor AutoCad --- Dell Precision M90 Win XP Prof., SP 2 2 GHz Dual Core, 2GB RAM NVIDIA Quadro FX 2500M, 512MB
|
erstellt am: 30. Mai. 2006 14:34 <-- editieren / zitieren --> Unities abgeben:
Prinzipiell hast du völlig recht (Normteile), aber man kann iParts mit benutzerdefinierten Tabellenwerten ausstatten ("Spalte mit benutz. Parametern"), die im Nachhinein änderbar sind. Genau um diese benutzerdefinierten Spalten geht es. Z.B. wird eine Welle in der Baugruppe verbaut, deren Länge dann änderbar ist. Diese Länge will ich dann per API "herauskitzeln". Hoffe, es war einigermaßen verständlich. Gruß, BJ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BJ Mitglied PLM System Administrator
Beiträge: 488 Registriert: 20.12.2002 SolidEdge Inventor AutoCad --- Dell Precision M90 Win XP Prof., SP 2 2 GHz Dual Core, 2GB RAM NVIDIA Quadro FX 2500M, 512MB
|
erstellt am: 01. Jun. 2006 08:56 <-- editieren / zitieren --> Unities abgeben:
|
guentern Mitglied Programmierer
Beiträge: 1 Registriert: 01.06.2006
|
erstellt am: 01. Jun. 2006 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für BJ
|
BJ Mitglied PLM System Administrator
Beiträge: 488 Registriert: 20.12.2002 SolidEdge Inventor AutoCad --- Dell Precision M90 Win XP Prof., SP 2 2 GHz Dual Core, 2GB RAM NVIDIA Quadro FX 2500M, 512MB
|
erstellt am: 01. Jun. 2006 12:27 <-- editieren / zitieren --> Unities abgeben:
|
Charly Setter Ehrenmitglied V.I.P. h.c.
Beiträge: 11977 Registriert: 28.05.2002
|
erstellt am: 04. Jun. 2006 22:03 <-- editieren / zitieren --> Unities abgeben: Nur für BJ
AFAIK erscheinen die Spalten für benutzerdefinierte Parameter garnicht in der Tabelle. Die werden erst im Dialog für´s Einfügen eines iParts (Child) abgefragt. ------------------ Der vernünftige Mensch paßt sich der Welt an; der unvernünftige besteht auf dem Versuch, die Welt sich anzupassen. Deshalb hängt aller Fortschritt vom unvernünftigen Menschen ab. (George Bernard Shaw) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BJ Mitglied PLM System Administrator
Beiträge: 488 Registriert: 20.12.2002 SolidEdge Inventor AutoCad --- Dell Precision M90 Win XP Prof., SP 2 2 GHz Dual Core, 2GB RAM NVIDIA Quadro FX 2500M, 512MB
|
erstellt am: 06. Jun. 2006 08:04 <-- editieren / zitieren --> Unities abgeben:
|
BJ Mitglied PLM System Administrator
Beiträge: 488 Registriert: 20.12.2002 SolidEdge Inventor AutoCad --- Dell Precision M90 Win XP Prof., SP 2 2 GHz Dual Core, 2GB RAM NVIDIA Quadro FX 2500M, 512MB
|
erstellt am: 05. Okt. 2006 16:34 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute! Da hier in diesem Forum schon seit längerem Flaute herrscht (gibt's keine Probleme mehr ), und mein Problem wieder aktuell geworden ist (hatte in der Zwischenzeit anderweitig zu tun), stelle ich hier an dieser Stelle nochmals die Frage: Kennt jemand eine Möglichkeit, wie man an die "Custom Parameter" eines "Custom iPart" zugreifen kann, nachdem dieses in die Baugruppe eingefügt worden, sprich ein "Child" geworden ist? Kongreter Fall: Die Länge eines Profiles (=Custom iPart, L=Custom Parameter), soll via API ermittelt werden. L wurde nach dem verbauen geändert. Danke und Gruß, BJ
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |