Stegstärke aus dem "I"-Träger auslesen.

Stegstärke aus dem "I"-Träger auslesen.

wj
Contributor Contributor
1.750Aufrufe
11Antworten
Nachricht 1 von 12

Stegstärke aus dem "I"-Träger auslesen.

wj
Contributor
Contributor

Hallo zusammen,

 

ich versuche aus einem "I"-Träger die Stegstärke auszulesen.

 

wj_0-1627911450140.png

 

 

Das habe ich bereits versucht, aber leider ohne Erfolg.

 

Point minXYZ = bndBox.MinPoint;
Point minXYmaxZ = transientGeometry.CreatePoint(bndBox.MinPoint.X, bndBox.MinPoint.Y, bndBox.MaxPoint.Z);
Point minXmaxYZ = transientGeometry.CreatePoint(bndBox.MinPoint.X, bndBox.MaxPoint.Y, bndBox.MaxPoint.Z);
Point minXZmaxY = transientGeometry.CreatePoint(bndBox.MinPoint.X, bndBox.MaxPoint.Y, bndBox.MinPoint.Z);

Point maxXYZ = bndBox.MaxPoint;
Point maxXYminZ = transientGeometry.CreatePoint(bndBox.MaxPoint.X, bndBox.MaxPoint.Y, bndBox.MinPoint.Z);
Point maxXZminY = transientGeometry.CreatePoint(bndBox.MaxPoint.X, bndBox.MinPoint.Y, bndBox.MaxPoint.Z);
Point maxXminYZ = transientGeometry.CreatePoint(bndBox.MaxPoint.X, bndBox.MinPoint.Y, bndBox.MinPoint.Z);

SketchLine3D x = lines.AddByTwoPoints(minXYZ, minXYmaxZ);
..................
..................
..................

 

 

Wie kann man aus einem "I"-Träger die Stegstärke auslesen in C#?

Danke.

0 „Gefällt mir“-Angaben
Akzeptierte Lösungen (1)
1.751Aufrufe
11Antworten
Antworten (11)
Nachricht 2 von 12

S_May
Mentor
Mentor

Hallo @wj 

 

es stehen leider in den Modellen grundsätzlich nicht alle iproperties zur Verfügung, vll gehört das dazu.

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

Peter.C.Schulz
Autodesk Support
Autodesk Support

Hallo @wj ,

 

wenn ich mich nicht völlig täusche entspricht der Parameter t1 der Stegstärke eines I-Trägers, wenn sie aus dem Inhaltscenter generiert wurden.

 

Screenshot 2021-08-03 101235.png

 

Vielleicht hilft das für die Aufgabe weiter.

 

Gruß, Peter

 



Peter Schulz

Technical Support Specialist
Nachricht 4 von 12

wj
Contributor
Contributor

Hallo Peter, 

 

vielen Dank für Deine Antwort.

 

Leider werden die Träger nicht aus dem Inhaltscenter erstellt. Wir bekommen diese *teilweise* von unseren Kunden als STEP - Datei, die wir dann im Inventor einspielen. Daher können wir uns leider nicht auf die Eingaben in den  Properties bzw. Parameters verlassen, sondern müssen die Massen direkt aus dem Objekt auslesen.

 

 

 

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

fullevent
Advisor
Advisor

Hallo @wj,

 

das macht es ungemein schwieriger.

 

Ich habe zwar noch keine Idee, dafür aber ein paar Fragen bezogen auf das Bild unten 😅

- Ist die Breite ts immer gleich oder kleiner als tg?

- Teilt immer die gleiche Ursprungsebene (im Bild z.B. XY-Ebene) den I-Träger in zwei T-Träger?

- Teilt immer die gleiche Ursprungsebene (im Bild z.B. XZ-Ebene) den I-Träger in zwei C-Träger?

- Gibt es irgendwelche sonstigen fest vorgeschriebenen Regeln bei der Träger Erstellung?

- Kann der Träger vom Kunden irgendwie im Raum liegen?

 

Quelle: https://de.wikipedia.org/wiki/Breitflanschtr%C3%A4gerQuelle: https://de.wikipedia.org/wiki/Breitflanschtr%C3%A4ger

 

 

Grüße,


Aleksandar Krstic
Produkt- und Projektmanager

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

wj
Contributor
Contributor

Hallo Aleksandar, 

 

Danke für Deine Antwort.

 

Zu Deinen Fragen:

 

- Ist die Breite ts immer gleich oder kleiner als tg?

Die Breite ist nicht immer gleich und (wahrscheinlich) nicht immer kleiner.

 

- Teilt immer die gleiche Ursprungsebene (im Bild z.B. XY-Ebene) den I-Träger in zwei T-Träger?

- Teilt immer die gleiche Ursprungsebene (im Bild z.B. XZ-Ebene) den I-Träger in zwei C-Träger?

Meistens ja, aber leider nicht immer.

Wir können uns nicht darauf verlassen, da wir STEP von Kunden bekommen und somit kein Einfluss auf die Erstellung haben.

 

- Gibt es irgendwelche sonstigen fest vorgeschriebenen Regeln bei der Träger Erstellung?

Nein, auch hier gibt es leider kein Regelwerk an den sich die Kunden halten müssen.

 

- Kann der Träger vom Kunden irgendwie im Raum liegen?

Ja die Träger können irgendwie & irgendwo im Raum liegen...

 

 

Grüße wj

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

fullevent
Advisor
Advisor

Habe ich es richtig verstanden, dass ts auch größer als tg sein kann?

 

Da der Träger irgendwie im Raum liegen kann, wirst du hier kaum mit Boundaries, Rangeboxen oder sonstigen X/Y/Z-Elementen auskommen. Hier wird man ganz anders an die Thematik ran gehen müssen.. 🤔


Aleksandar Krstic
Produkt- und Projektmanager

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

wj
Contributor
Contributor

Hallo Aleksandar,

 

ja es kann mal evtl. vorkommen, dass ts größer als tg sein kann.

 

Aber eher selten, daher können wir das (für den Moment) ignorieren. Gehen wir mal davon aus, dass tg nie größer wäre als ts.

Wir würdest Du da vorgehen?

 

Grüße wj 

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

fullevent
Advisor
Advisor
Akzeptierte Lösung

Ok.. ich versuche meine Idee mal in Worte zu fassen..

Der I-Träger hat 14 planare Flächen.. ich habe 12 davon im Bild mit einem roten Pfeil gekennzeichnet.

Quelle: https://de.wikipedia.org/wiki/Breitflanschtr%C3%A4gerQuelle: https://de.wikipedia.org/wiki/Breitflanschtr%C3%A4ger

 

Step 1:

Diese Flächen über .Surfaces identifizieren

 

Step 2:

Hier werden zahlreiche Messungen durchgeführt, die wie folgt aussehen könnten

Wenn Winkel zwischen Fläche 1 und Fläche 2 <> 0 dann ignorieren (da sie vermutlich senkrecht zu einander stehen), sonst Abstand zwischen Fläche 1 und Fläche 2 ermitteln und abspeichern

Am Ende dieses Schrittes hast du zahlreiche Abstände ermittelt und z.B. in ein Array gespeichert.

 

Step 3:

Array nach dem kleinsten Wert durchsuchen.

Wenn ts immer kleinergleich tg ist, dann muss du nur deinen Array nach dem kleinsten Wert durchsuchen. Wenn die Länge des I-Trägers nicht gerade nur 2 mm beträgt, kannst du davon ausgehen, dass eben dieser kleinste Wert dein gesuchtes ts ist.

 

Wenn ich so darüber nachdenke, wirst du in deinem Array genau 1 mal die Trägerlänge gemessen haben und das wird zu 99,9 % immer der größte Wert sein. Das heißt diesen Wert kannst du abgreifen.

Du wirst genau 4 mal den tg gemessen haben und weißt, dass dieser einer der kleinsten Werte sein muss. Dadurch lässt sich tg mit großer Sicherheit feststellen.

Du wirst genau 1 mal den ts gemessen haben und weißt, dass dieser einer der kleinsten Werte sein muss.. also auch kein Problem.

Du wirst genau 1 mal die Höhe h gemessen haben und weißt diese wird sich in einer gewissen Range befinden.. also auch identifizierbar.

Du wirst genau 4 mal die Breite b gemessen haben und weißt diese wird sich ebenfalls in einer gewissen Range befinden.. 

 

Die Programmierung ist im ersten Moment etwas aufwendiger und wird zwei drei Tage in Anspruch nehmen. Dafür kann dir die Lage des Trägers im Raum egal sein.

Ein Problem sehe ich hier erst wenn der Kunde dir gebogene Träger schickt und genau die benötigten ts-Flächen nicht mehr planar sind 🤔

Denkfehler vorbehalten 😅

 

Ist meine Idee nachvollziehbar bzw. verständlich?

 

Grüße,


Aleksandar Krstic
Produkt- und Projektmanager

Nachricht 10 von 12

S_May
Mentor
Mentor

@wj 

 

wenn die Infos immer aus fremden STEP kommen wird das so gut wie unlösbar werden, wozu benötigt ihr den Parameter?

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

wj
Contributor
Contributor

Hallo Aleksandar, 

 

ja ich kann Dir folgen.

 

Die Idee ist gar nicht so schlecht... Sogar richtig gut...

 

ich denke, ich werde damit rund 99,xx % der Träger richtig abfangen/ermitteln können. Und die 00,xx % kann man dann über weitere Tricks ermitteln.. 😀

 

 

Werde Deinen Vorschlag ausprobieren. 

Vielen Dank!

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

fullevent
Advisor
Advisor

Hallo @wj,

 

das freut mich sehr!

Viel Erfolg beim Tüffteln und Programmieren.

 

Bin schon sehr auf dein Code gespannt, welche Problemchen noch auftauchen werden und wie du sie löst 😊

 

Viele Grüße,


Aleksandar Krstic
Produkt- und Projektmanager

0 „Gefällt mir“-Angaben