Inventor 2017 - Stabanordnung mit iLogic
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Melden
Hallo Zusammen,
Ich komme aus dem Bereich der mathematischen Optimierung und bin neu im Bereich von CAD bzw. Inventor und somit auch hier im Forum 🙂
Leider komme ich bis jetzt an einer bestimmten Stelle meines Projekts nicht weiter bzw. bin auch nicht sicher ob ich aus der Sicht eines "CAD-Kenners" den richtigen Lösungsweg eingeschlagen habe.
Meine Hardware lasse ich jetzt erstmal außen vor, da es nur um einen fehlenden Lösungsansatz bzw. fehlende Kenntnisse im Bereich iLogic geht. Falls ich gegen die Netiquette verstoße bitte bescheid geben, ich werde alles entsprechend ändern.
Kurze Einführung:
Ich möchte ein Inventor-Tool programmieren welches automatisiert aus einer Excel-Datei Stabpositionen im Raum ausliest (Startpunkt, Endpunkt, Dicke) und diese entsprechend anordnet und zu einem Volumenkörper zusammenfügt. Ein Stab hat dabei immer einen Anfangsknoten (Startpunkt) sowie einen Endknoten (Endpunkt).
Aufgabenbeschreibung:
- Es soll mittels Inventor eine Punktewolke (Bauraum) mit einer entsprechenden Breite,Höhe und Tiefe erstellt werden. Die entsprechenden Punkte (Knoten) sollen in einem entsprechendem Abstand zueinander liegen (Stablänge). In einem zweiten Schritt sollen diese Knoten teilweise durch Stäbe verbunden werden. Die Information welche Knoten verbunden werden sollen ist in der Excel-Datei enthalten.
- Nachdem der Bauraum erstellt ist und alle Knoten (Arbeitspunkte) im Raum angeordnet sind soll aus der Excel-Datei ausgelesen werden welcher Knoten mit welchen mittels Stab verbunden werden soll.
zu 1)
Das Ganze sollte ich realisiert haben. Die Punkte im Raum sind auch entsprechend nummeriert. Hierzu ist einmal ein Screencast angehängt, die Datei mit der entsprechenden Regel im Anhang sowie der Quellcode dazu hier nochmal.
Sub Main()
While k<= Tiefe/Knotenabstand-1
If j<= Höhe/Knotenabstand Then
If i<=Breite/Knotenabstand Then
Dim oDoc As AssemblyDocument
oDoc = ThisApplication.ActiveDocument
Dim oCompDef As AssemblyComponentDefinition
oCompDef = oDoc.ComponentDefinition
Dim oTrans As TransientGeometry
oTrans = ThisApplication.TransientGeometry
Dim oPnt As Point
oPnt = oTrans.CreatePoint(X+xi, Y+yi, Z+zi)
Dim oWorkPoint1 As WorkPoint
oWorkPoint1 = oCompDef.WorkPoints.AddFixed(oPnt, False)
oWorkPoint1.Name=index
i=i+1
xi=xi+Knotenabstand
Zähler_Knoten=Zähler_Knoten+1
index=index+1
End If
If i=Breite/Knotenabstand Then
i=0
j=j+1
X=0
xi=0
zi=zi+Knotenabstand
End If
End If
If j=Höhe/Knotenabstand Then
i=0
j=0
k=k+1
X=0
xi=0
zi=0
yi=yi+Knotenabstand
End If
End While
End Subzu 2) Hier liegt das Problem bzw. ich komme nicht weiter.
Hier ein Bsp. für die Angaben in der Excel-Datei. Wie man sieht sind Informationen über Stabdicke und den Startknoten und Endknoten gegeben. Diese Knoten sollen nun mit den entsprechenden Stäben in verschiedenen Dicken verbunden werden.
| Stabdicke [mm] | Startknoten | Endknoten |
| 1 | 5 | 10 |
| 2 | 3 | 12 |
| 3 | 24 | 80 |
| 3 | 1 | 2 |
| 2 | 82 | 83 |
| 8 | 20 | 21 |
Fragen:
- Ich hatte mir vorgestellt die Arbeitspunkte mit einer Linie zu verbinden und dann entsprechend zu extrudieren, sodass Stäbe entstehen.
- Ist das der richtige Ansatz?
- Wie sind die entsprechenden Befehle dafür? Gute Tutorials/Dokumentationen vorhanden?
- Befehl zwei Punkte mit Linie verbinden?
- Befehl Linie extrudieren mit Durchmesser ausgelesen aus Excel-Datei?
- Die Stäbe müssen auch entsprechend mit einem Knoten verbunden werden (siehe hierzu Abbildung)
- Wie könnte ich das automatisieren mit iLogic? Gute Befehle? Wie groß das Verbindungselement ist ist eigentlich egal, es sollte halt nur entsprechend alle Stäbe aufnehmen können.
Beispielknoten
Ich hoffe das Ganze ist nicht zu viel bzw. ist halbwegs gut beschrieben. Wenn ich was kürzer oder anders beschreiben soll einfach bescheid sagen.
Viele Grüße und Danke schonmal 🙂

