| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation: Geniale 3D-Visualisierung für intuitiven HMI Einsatz, eine Pressemitteilung
|
Autor
|
Thema: Schleife programmieren (2393 mal gelesen)
|
heike.wolf Mitglied ba-student

 Beiträge: 28 Registriert: 05.06.2007
|
erstellt am: 06. Jun. 2007 10:38 <-- editieren / zitieren --> Unities abgeben:         
hallo ihr, ich versuche eine Schleife zu programmieren, und zwar habe ich in einem Modell zwei Splines und diese sollen ca gleich lang sein. Das will ich dadurch erreichen, dass ich den untersten Punkt (parametrisiert) immer um 0,1mm verschiebe, bis es annähernd gleich ist. Ich bekomme immer nur Fehlermeldungung, egal was ich schreibe. Vielen Dank im Voraus für die Hilfe Gruß Heike Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gehirnsuelze Mitglied Student

 Beiträge: 58 Registriert: 16.11.2005
|
erstellt am: 06. Jun. 2007 10:45 <-- editieren / zitieren --> Unities abgeben:          Nur für heike.wolf
|
heike.wolf Mitglied ba-student

 Beiträge: 28 Registriert: 05.06.2007
|
erstellt am: 06. Jun. 2007 10:52 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank für die schnelle Antwort, habe es auch gleich versuch, aber dabei kam diese Fehlermeldung : syntax error line 3: invalid stucture: syntax error (near token : < do > ) einer meiner versuche war: let a=0 let b=0 let i =0 for i while i < 6 { if(`Laenge_ausgefahrener_Stab` > `Laenge_eingefahrener_Stab` ) { `Lage_Gleiter` =`Lage_Gleiter` -1mm a = 2 } else { `Lage_Gleiter` =`Lage_Gleiter` +1mm b = 3 } i = a * b } dabei kam immer diese Fehlermeldung: this relation generates a cycle with rule.4 , it will bei inactivated. wobei rule 4 eben diese bedingung ist. Gruß Heike
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gehirnsuelze Mitglied Student

 Beiträge: 58 Registriert: 16.11.2005
|
erstellt am: 06. Jun. 2007 11:05 <-- editieren / zitieren --> Unities abgeben:          Nur für heike.wolf
noch mal zum besseren Verständniss des Sachverhalts: zwei Stäbe, davon ist einer parametrisch der zweite Stab soll etwa die Länge des Ersten haben länge des zweiten soll sich aber nur in 1mm-Schritten ändern right? wie wärs mit:
Differenz zwischen den Längen bilden runden auf ganze mm addieren der gerundten Differenz (wenn negativ dann wirds eben automatisch abgezogen) fertig? ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
heike.wolf Mitglied ba-student

 Beiträge: 28 Registriert: 05.06.2007
|
erstellt am: 06. Jun. 2007 11:12 <-- editieren / zitieren --> Unities abgeben:         
ich hab zwei stäbe, die beide aus splines antstanden sind und diese splines bestehen aus ein paar punkten die als biegelinie berechnet und parametrisiert sind. nun will ich den unteren punkt in z richtung um 0,1mm jeweils verschieben, weil die beiden stäb in meinem modell auf 1/10 genau sein sollten, es handelt sich nämlich eigentlich um den gleichen stab, aber in zwei verschiedenen positionen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gehirnsuelze Mitglied Student

 Beiträge: 58 Registriert: 16.11.2005
|
erstellt am: 06. Jun. 2007 11:26 <-- editieren / zitieren --> Unities abgeben:          Nur für heike.wolf
ich denk so etwas in der art könnte funktionieren: do while Abs(Länge1-Länge2)>=0.1 if Länge1>Länge2 then z=z+1mm else z=z-1mm end if loop weiß nicht genau ob das bei kwe funzt, hab ich lange nicht mehr gemacht ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
heike.wolf Mitglied ba-student

 Beiträge: 28 Registriert: 05.06.2007
|
erstellt am: 06. Jun. 2007 11:31 <-- editieren / zitieren --> Unities abgeben:         
der bringt mir wegen dem do ne fehlermeldung, hab nur kwa und nicht kwe. ich weiß nicht, ob das einen unterschied macht. do ist nicht bei meinen angegebenen keywords dabei. würde das ganze eventuell mit der funktion loop funktionieren? wenn ja wie? [Diese Nachricht wurde von heike.wolf am 06. Jun. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gehirnsuelze Mitglied Student

 Beiträge: 58 Registriert: 16.11.2005
|
erstellt am: 06. Jun. 2007 11:45 <-- editieren / zitieren --> Unities abgeben:          Nur für heike.wolf
|
gehirnsuelze Mitglied Student

 Beiträge: 58 Registriert: 16.11.2005
|
erstellt am: 06. Jun. 2007 11:53 <-- editieren / zitieren --> Unities abgeben:          Nur für heike.wolf
|
dusches Mitglied

 Beiträge: 26 Registriert: 26.03.2010
|
erstellt am: 14. Apr. 2010 14:41 <-- editieren / zitieren --> Unities abgeben:          Nur für heike.wolf
Hallo zusammen, dieses Thema ist zwar schon älter, aber ich habe im Prinzip das gleiche Problem und die hier genannten Lösungen kann ich für mich nicht nutzen. Mein Problem ist folgendes: eine Horizontale Linie läuft durch einen Punkt (sagen wir er heißt 'Referenzpunkt') und schneidet eine weitere Linie. gibt es keinen Schnittpunkt soll der z-Wert des 'Referenzpunktes' solange erhöht werden bis es einen Schnittpunkt gibt. wie kann ich eine solche Schleife mit KWA schreiben? Viele Grüße und danke schon einmal!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dusches Mitglied

 Beiträge: 26 Registriert: 26.03.2010
|
erstellt am: 15. Apr. 2010 11:13 <-- editieren / zitieren --> Unities abgeben:          Nur für heike.wolf
Wenn ich das so schreibe bekomme ich immer den Schnitt durch den höchsten angegebenen Punkt. In diesem Fall ist das bei z=100mm. Ich brauche aber den ersten Schnittpunkt, der entsteht wenn der z-Wert vergrößert wird. let z =10 let l(line) let ref(point) let schnitt(point)
for z while z<= 100 { ref= pointoncurve(`Geometrical Set.1\Line.1` , `Geometrical Set.1\Point.1` , z*1mm , true) l = line (ref , direction(`Geometrical Set.1\Line.2`) ,0mm , 200mm , true) schnitt=intersect(l , `Geometrical Set.1\Split.1` ) if(schnitt.Error==false) { `Geometrical Set.1\Line.21` = l `Geometrical Set.1\Point.171` = schnitt } }
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |