Inventor => 2021 Parameter gesteuerte Anzahl zählt hoch

Inventor => 2021 Parameter gesteuerte Anzahl zählt hoch

Technikdoku
Enthusiast Enthusiast
2.409Aufrufe
13Antworten
Nachricht 1 von 14

Inventor => 2021 Parameter gesteuerte Anzahl zählt hoch

Technikdoku
Enthusiast
Enthusiast

Hallo zusammen,

 

ich habe eine Baugruppe in der einige Bauteile durch Parameter gesteuert. angeordnet werden.

 

Eines dieser Bauteile ist eine Rippe, die n-fach vorkommt. Der Startwert ist 16. Jedes mal wenn ich den Parameter Wert verändere zählt der Zähler der Rippen hoch.

 

Das ist jetzt erst einmal ein Schönheitsfehler, da die Bauteilliste ja dennoch passt. Da ich die Rippen jedoch auch in einer iLogic Regel ansprechen möchte, ist das Ganze dann doch wieder problematisch.

 

Hat jemand eine Idee, wie sich das Problem umgehen lässt?

 

Vielen Dank im Voraus!

 

Technikdoku_0-1608639559848.png

 

0 „Gefällt mir“-Angaben
Akzeptierte Lösungen (1)
2.410Aufrufe
13Antworten
Antworten (13)
Nachricht 2 von 14

S_May
Mentor
Mentor

@Technikdoku 

 

wie immer hier im Forum, bitte Muster hochladen.

0 „Gefällt mir“-Angaben
Nachricht 3 von 14

Technikdoku
Enthusiast
Enthusiast

@S_May 

in meiner Testbaugruppe (siehe Anhang) tritt dieses Problem komischerweise nicht auf. Das Original kann ich leider nicht posten...

 

Ich lade sie trotzdem mal hoch, man sieht deutlich den Unterschied zum Screenshot, wo die Sortierung "durcheinander" ist. In der Testbaugruppe kann ich den Parameter so oft ändern, wie ich möchte. Die Teile werden immer sauber neu durchnummeriert.

 

Da muss ich wohl nochmal auf die Suche nach den Unterschieden gehen.

0 „Gefällt mir“-Angaben
Nachricht 4 von 14

S_May
Mentor
Mentor

Hier so sollte es funktionieren...

 

2020-12-24 09_41_39-Autodesk Inventor Professional 2021.png

Nachricht 5 von 14

Technikdoku
Enthusiast
Enthusiast

Danke, aber in dem Archiv befinden sich nur die Bauteile. 

0 „Gefällt mir“-Angaben
Nachricht 6 von 14

Martin-Winkler-Consulting
Advisor
Advisor

@Technikdoku 

Wenn ich dich richtig verstehe geht es dir um die Benennungen im Browserbaum also Rippe:1 , Rippe:2 etc.

Bei mehrfacher Änderung nummeriert Inventor nicht jedes Mal neu durch sondern zählt einfach hoch. Wenn du also in Durchläufen vorher bereits Nummer erzeugt hast sind die quasi verbraucht. Wenn du anschließend eine "saubere" Durchnummerierung benötigst müsstest du über eine Regel neu durchnummerieren.

Ist das dein Problem? Wenn ja, könnte ich mal nachschauen wie man das lösen kann.

Martin Winkler
CAD Developer
Did you find this post helpful? Feel free to like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


EESignature

Nachricht 7 von 14

Technikdoku
Enthusiast
Enthusiast

Hallo Martin,

 

ja genau, das hast du richtig verstanden. 🙂 das wäre super danke!

 

 Viele Grüße

 Nils

0 „Gefällt mir“-Angaben
Nachricht 8 von 14

Akzeptierte Lösung

@Technikdoku 

Kannst du mir noch einen Hinweis geben was du später in iLogic mit den Rippen machen möchtest?

Möglicherweise gibt es da Alternativen zur Neunummerierung. Grundsätzlich ist die Verwendung von Occurrence Namen (so heißen die in der Programmierung, also Rippe:1 etc.) in iLogic/VBA Regeln immer dann problematisch, wenn diese sich ändern können. 

 

Hier zunächst die iLogic Regel die neu durchnummeriert:

Sub Main()
	Dim oOccs As ComponentOccurrences = ThisDoc.Document.ComponentDefinition.Occurrences
	Dim i As Integer = 1
	For Each oOcc As ComponentOccurrence In oOccs
	 'Logger.Info(System.IO.Path.GetFileNameWithoutExtension(oOcc.ReferencedDocumentDescriptor.ReferencedDocument.DisplayName) & ":" & i)
     oOcc.Name = System.IO.Path.GetFileNameWithoutExtension(oOcc.ReferencedDocumentDescriptor.ReferencedDocument.DisplayName) & ":" & i
	 i += 1
	Next
End Sub

Martin Winkler
CAD Developer
Did you find this post helpful? Feel free to like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


EESignature

Nachricht 9 von 14

Technikdoku
Enthusiast
Enthusiast

Die Parameter sollen aus der Baugruppe in das Bauteil übergeben werden. Da diese in einem Formular in der Baugruppe geändert werden können.

'Parameter Rippe
Parameter("Rippe:1", "P_L") = P_L
Parameter("Rippe:1", "P_b1") = P_b1
Parameter("Rippe:1", "P_s") = P_s

Das die Lösung über die "Occurrence Namen" (Danke für die Begriffserklärung, kannte ich noch nicht) nicht "best practice" ist, hatte ich schon vermutet, aber ignoriert, weil IV den Code ja so einfügt, wenn man den Parameter in die Regel übernimmt.

 

Der Hinweis von dir, hat mich dazu gebracht den Suffix :X bei allen ersten gleichartigen Bauteilen zu entfernen. Egal wie oft ich im Formular nun eine Änderung vornehme, dieses bleibt immer ohne Suffix und die Regel der Parameter Synchronisierung funktioniert nun wie gewünscht!

 

Deine Regel nur Neusortierung funktioniert trotzdem (Danke dafür)! Allerdings sortiert diese alle Bauteile neu, nicht nur die Rippen (Was ja auch logisch ist).

 

Für meinen Fall war der Hinweis was die Occurrence Namen angeht der entscheidende! Vielen Dank!

 

P.S: Ich dokumentiere gerade die Herangehensweise dieser voll parametrischen Baugruppe, die über das Formular gesteuert werden kann. Sobald ich damit fertig bin, werde ich diese hier veröffentlichen um dem Forum auch etwas zurück zu geben.

Nachricht 10 von 14

@Technikdoku 

Ja, genau so kann das funktionieren. 

Wenn du den Suffix entfernst oder dem Browsereintrag ein völlig anderen Namen gibst z.B. Aussteifung, überschreibst du damit den Originalnamen. Du erstellst also einen Alias Namen. Dieser bleibt erhalten und kann somit in der iLogic Programmierung verwendet werden, ohne Gefahr zu laufen den Bezug zu verlieren. Nachteil der Alias Namen ist, dass man nicht mehr erkennen kann welches Bauteil sich wirklich dahinter verbirgt. Du kannst zum Beispiel problemlos das Bauteil austauschen (iLogic: Component.Replace oder Strg+H). Das käme in Betracht, wenn es 2 verschiedene Rippentypen also RippeTypA.ipt und RippeTypB.ipt geben würde. Im Browser würde das Bauteil weiter Rippe heißen und die Parameter würden weiter zuverlässig übergeben. Das setzt natürlich voraus, dass diese in beiden ipt Dateien vorhanden sind.

Den Originalnamen kann man wieder herstellen in dem man den Browsereintrag anwählt, den Namen löscht und dann Enter drückt. Danach sollte der DisplayName der zugehörigen .ipt oder .iam wieder erscheinen.

 

Ich hoffe, dass bringt dir noch zusätzlich etwas mehr Verständnis zur Funkionsweise.

Martin Winkler
CAD Developer
Did you find this post helpful? Feel free to like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.


EESignature

Nachricht 11 von 14

Technikdoku
Enthusiast
Enthusiast

Ja das tut es vielen Dank!

0 „Gefällt mir“-Angaben
Nachricht 12 von 14

Technikdoku
Enthusiast
Enthusiast

Vielleicht ein bisschen spät, aber besser spät als nie. Wie versprochen die Dokumentation zu dem Projekt:

 

https://technikdoku.com/parametrische-baugruppe-im-inventor/

 

Ich hoffe ich werde noch die Zeit finden, eine Beispiel Baugruppe zu entwerfen, welche die Dokumentation umsetzt. Das Original kann ich leider nicht veröffentlichen.

Nachricht 13 von 14

S_May
Mentor
Mentor

@Technikdoku 

 

sehr cool, da machst Du Dir ja viel Arbeit. Ein Tipp, mach bei kompliziert Dingen ein screencast, der Leser wird es Dir danken.

0 „Gefällt mir“-Angaben
Nachricht 14 von 14

Technikdoku
Enthusiast
Enthusiast

Danke für den Tipp @S_May leider dürfte ich diesen dann hier aber nicht zeigen, da die Baugrupp, die ich erstellt habe nach einer Werksnorm war. Aber ich möchte das gern mal an einem Dummy oder einer Baugruppe nach Norm etc. nachstellen, da werde ich dann definitiv einen Screencast machen.