| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| ZWCAD Geschwindigkeitswettbewerb: Machen Sie mit und sehen Sie, wie schnell ZWCAD sein kann? |
Autor
|
Thema: iLogic - wenn Wert > XY, dann zusätzloches Bauteil. WIE??? (4237 mal gelesen)
|
Jaykay12 Mitglied
Beiträge: 7 Registriert: 12.08.2014
|
erstellt am: 15. Aug. 2014 12:57 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich bin mit iLogic noch absolut gar nicht vertraut und habe nun den Auftrag bekommen, mit dieser Funktion etwas zu "konstruieren/programmieren". Und zwar habe ich ein Förderband, was 3 Meter lang ist und zwei Querstreben hat, um das Band zu stabilisieren. Meine Frage ist, wie bekomme ich mit iLogic automatisch eine zusätzliche (dritte) Querstrebe hinein, wenn ich über meine Excel-Liste die Länge des Bandes auf über 3 Meter setze? Danke im Vorraus Jaykay Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
loop29 Mitglied
Beiträge: 903 Registriert: 15.02.2004 Factory Design Suite Ultimate 2012, Dell T3600, 16 Gbyte, Quadro 4000 Dell M6800, 32 Gbyte, Quadro K5100M
|
erstellt am: 15. Aug. 2014 13:33 <-- editieren / zitieren --> Unities abgeben: Nur für Jaykay12
Hallo Jaykay, das machst Du mit einem "If Then Else" Statement. Entweder nimmst Du oberhalb des Editors in der iLogic Regelerstellung die Vorgabe und trägst Deine Parameter ein. Oder Du machst alles zu Fuß. Also z.B. If length > 3000 Then / Abfragen der Länge des Förderbands Nach der Abfrage des Parameters musst Du definieren was jetzt passieren soll, wie z.b. die Unterdrückung der zusätzlichen Querstrebe aufheben. Wenn Du das programmiert hast kannst Du noch ein "Else" einfügen, um zu definieren was sonst passiert. Else / Else Statement: darunter wird definiert was passiert falls length < 3000 ist End If / Beenden des "If Then Else" Statements Beste Grüße Falk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jaykay12 Mitglied
Beiträge: 7 Registriert: 12.08.2014
|
erstellt am: 18. Aug. 2014 11:33 <-- editieren / zitieren --> Unities abgeben:
okay, danke. Klappt bis hierhin super. Nun habe ich folgendes Probelm: If Parameter("Länge") < 1000 mm Then Parameter("d390") = (( ( Länge - 85 mm ) / 2 oE ) - 20 mm) ElseIf Parameter("Länge") < 2000 mm Then Parameter("d382") = (( ( Länge - 85 mm ) / 3 oE ) - 40 mm) ElseIf Parameter("Länge") < 3000 mm Then Parameter("d383") = (( ( Länge - 85 mm ) / 4 oE ) - 40 mm) Hier soll der Abstand der einzeilnen Bauteile zueinander durch die variierbare Länge des kompletten Bauteils definiert werden. Wenn ich jetzt aber sage, dass die Länge 3000mm ist, ist sie ja logischer Weise größer als 2000mm und größer als 1000mm. Da kommen also meine Rechnungen durcheinander. Gut wäre es, wenn ich sage könnte, dass wenn "Länge" zwischen XY ist, dann ......... Kann ich das realisieren? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wyoming Ehrenmitglied Konstrukteur
Beiträge: 1869 Registriert: 02.02.2009
|
erstellt am: 18. Aug. 2014 11:49 <-- editieren / zitieren --> Unities abgeben: Nur für Jaykay12
|
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6051 Registriert: 16.09.2004 Inventor Prof. bis 2022
|
erstellt am: 18. Aug. 2014 12:44 <-- editieren / zitieren --> Unities abgeben: Nur für Jaykay12
Zitat: Original erstellt von Jaykay12: Da kommen also meine Rechnungen durcheinander.
Was soll da durcheinanderkommen? Wenn Deine Länge=3000 oder größer ist, liefern alle vorherigen Abfragen das Ergebnis "false" und es passiert gar nichts. Was bei Dir noch fehlt ist eine Anweisung was passieren soll, wenn die Länge gleich oder größer 3000 ist (ELSE ...). Um auf die andere Frage zu antworten (hat aber nichts mit der Lösung Deines Problems zu tun): Eine Abfrage, ob Wert x zwischen A und B liegt könnte so aussehen If (x > A) And (x < B) Then ... Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) [Diese Nachricht wurde von jupa am 18. Aug. 2014 editiert.] [Diese Nachricht wurde von jupa am 18. Aug. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADboogie Mitglied Dipl.-Ing. Konstrukteur für Luftführungssysteme
Beiträge: 241 Registriert: 05.08.2009 Intel Xeon@ 3,07 GHz NVIDIA Quadro 2000 Windows 7, SP1, 64Bit Inventor 2012 (SP2), 2014 (SP2)
|
erstellt am: 18. Aug. 2014 13:03 <-- editieren / zitieren --> Unities abgeben: Nur für Jaykay12
Hallo zusammen und Mahlzeit, bei solchen Abfragen wird auch gerne "Select Case" genommen: Select Länge Case 0 to 1000 <Anweisungen> case 1001 to 2000 <Anweisungen> ... End Select Das ist etwas übersichlicher. ------------------ Gruß aus Aachen, Walter *** Man kann nicht alles gleichzeitig machen, aber man kann alles gleichzeitig sein lassen *** Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
loop29 Mitglied
Beiträge: 903 Registriert: 15.02.2004 Factory Design Suite Ultimate 2012, Dell T3600, 16 Gbyte, Quadro 4000 Dell M6800, 32 Gbyte, Quadro K5100M
|
erstellt am: 18. Aug. 2014 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für Jaykay12
Zitat: Original erstellt von Jaykay12: okay, danke. Klappt bis hierhin super. Nun habe ich folgendes Probelm: If Parameter("Länge") < 1000 mm Then Parameter("d390") = (( ( Länge - 85 mm ) / 2 oE ) - 20 mm) ElseIf Parameter("Länge") < 2000 mm Then Parameter("d382") = (( ( Länge - 85 mm ) / 3 oE ) - 40 mm) ElseIf Parameter("Länge") < 3000 mm Then Parameter("d383") = (( ( Länge - 85 mm ) / 4 oE ) - 40 mm) Hier soll der Abstand der einzeilnen Bauteile zueinander durch die variierbare Länge des kompletten Bauteils definiert werden. Wenn ich jetzt aber sage, dass die Länge 3000mm ist, ist sie ja logischer Weise größer als 2000mm und größer als 1000mm. Da kommen also meine Rechnungen durcheinander. Gut wäre es, wenn ich sage könnte, dass wenn "Länge" zwischen XY ist, dann ......... Kann ich das realisieren?
Ja klar, Du kannst auch mehrere Bedingungen mit "And" verknüpfen. a = 23 > 14 And 11 > 8 b = 14 > 23 And 11 > 8 Beste Grüße Falk Edit: Guckst Du hier: http://www.dotnetperls.com/if-vbnet [Diese Nachricht wurde von loop29 am 18. Aug. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6051 Registriert: 16.09.2004 Inventor Prof. bis 2022
|
erstellt am: 18. Aug. 2014 13:27 <-- editieren / zitieren --> Unities abgeben: Nur für Jaykay12
Zitat: Original erstellt von CADboogie:
Select Länge Case 0 to 1000 <Anweisungen> case 1001 to 2000 <Anweisungen> ... End Select
Noch ein wenig verbessert:
Select Länge Case 0 to 1000 <Anweisungen> ;für Längen 0 bis 1000 case 1000 to 2000 <Anweisungen> ;für Längen >1000 bis 2000 case 2000 to 3000 <Anweisungen> ;für Längen >2000 bis 3000 case else <Anweisungen> ;für Längen > 3000 End Select Jürgen
------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty)
[Diese Nachricht wurde von jupa am 18. Aug. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Entwicklungsingenieur (m/w/d) Batteriesysteme | Digitale Transformation. Nachhaltigkeit. Friedenssicherung. Spannende Aufgaben, an denen auch wir bei Diehl in unseren fünf Teilkonzernen Metall, Controls, Defence, Aviation und Metering und unsere über 16.000 Mitarbeiterinnen und Mitarbeiter mit Hochdruck arbeiten. Entdecken Sie faszinierende Technologien und bewerben Sie sich. In einem von Vertrauen und Mut geprägten Familienunternehmen, das beständig und stabil ist ? aus Tradition.... | Anzeige ansehen | Entwicklung |
|
Jaykay12 Mitglied
Beiträge: 7 Registriert: 12.08.2014
|
erstellt am: 19. Aug. 2014 11:50 <-- editieren / zitieren --> Unities abgeben:
|