| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | KISTERS 3DViewStation: Geniale 3D-Visualisierung für intuitiven HMI Einsatz, eine Pressemitteilung
|
Autor
|
Thema: Geometrie mit Regel löschen/deaktivieren (2202 mal gelesen)
|
dusches Mitglied

 Beiträge: 26 Registriert: 26.03.2010
|
erstellt am: 26. Mrz. 2010 11:55 <-- editieren / zitieren --> Unities abgeben:         
hallo, da ich erst vor kurzem in die CATIA programmierung eingestiegen bin ich noch relativ unerfahren, was Befehle etc. angeht. Ich habe das Problem, dass ich ein Intersect deaktivieren möchte, sobald es keine Lösung liefert, damit das Update trotzdem durchläuft.wahlweise kann es auch gelöscht werden.hauptsache es stört das update nicht. wie lautet denn der befehl für Regeln um geometrie (z.B. Linien oder Punkte) zu löschen bzw. zu deaktivieren? gibt es denn auch die Möglichkeit das Deaktivieren für die Children separat anzusteuern, so dass manache children nicht deaktiviert werden? Das ganze soll OHNE ein Makro passieren. Regeln, Reaktionen o-ä. sind aber in Ordnung. Gibt es da überhaupt eine Möglichkeit? Vielen Dank schon einmal! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
shorty10l Mitglied Projektingenieur

 Beiträge: 11 Registriert: 03.05.2009 CATIA V5 R18 P2 Windows XP, SP5 BN18 HF40
|
erstellt am: 29. Mrz. 2010 13:33 <-- editieren / zitieren --> Unities abgeben:          Nur für dusches
Hallo, Du könntest einfach einen boolschen Parameter erstellen, und diesen dann über den Formeleditor auf "Activity" des intersects setzen. Dann könntest Du über die Parametersteuerung true/false den intersect steuern. Verständlich ?? Gruß, Shorty Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dusches Mitglied

 Beiträge: 26 Registriert: 26.03.2010
|
erstellt am: 29. Mrz. 2010 15:23 <-- editieren / zitieren --> Unities abgeben:         
hi shorty, vielen Dank für die Antwort! Die Idee ist echt sehr gut! Jetzt verstehe ich leider nur noch nicht genau wie ich den Intersect über den parameter ansteuern kann. Ich habe im Formeleditor des Parameters die Activity des Intersects eingefügt. Jetzt stellt sich der boolsche parameter auf true/false je nach dem ob ich das Intersect aktiv schalte oder deaktiviere. eigentlich bräuchte ich das ganze aber umgekehrt. Wie kann ich denn diese Abhängigkeit umdrehen? so dass ich das Intersect aktiviere indem ich den Parameter auf true setze? gruß dusches Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MICHLICK Mitglied CAD Methodik Entwickler (CATIA; NX)
 
 Beiträge: 456 Registriert: 20.06.2001 Der Aufwand bei Änderungen ist groß, wenn die Finger schneller klicken als das Gehirn denkt.
|
erstellt am: 29. Mrz. 2010 16:25 <-- editieren / zitieren --> Unities abgeben:          Nur für dusches
Hallo, Du hast einen Fehler bei der Erstellung der Formel gemacht. 1. alte Formel löschen 2. f(x) aufrufen (Formeleditor) 3. Element auswählen, welches über den Parameter gesteuert werden soll. 4. Den Schalter "Add formula" drücken. 5. Den Parameter in die Formel einfügen. 6. Fertig.
------------------ Gruß Michael B. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dusches Mitglied

 Beiträge: 26 Registriert: 26.03.2010
|
erstellt am: 29. Mrz. 2010 18:13 <-- editieren / zitieren --> Unities abgeben:         
aaaah! wunderbar! ja so klappt es. danke! jetzt habe ich noch eine Frage zur Regelerstellung...nach mehrfachen Änderungen und Überlegungen komme ich einfach nicht darauf warum mein quelltext einen update cycle erzeugt. das Problem liegt in der letzten Zeile, wo ich sage, dass meine "Curve" das Intersect.2 sein soll. let i(curve)
i = intersect( `Geometrical Set.1\Flaeche_2` ,`yz plane` ) if (i.Error==true) { `Boolean.2` = false `Geometrical Set.1\Curve` = `Geometrical Set.1\Intersect.1` } else { `Boolean.2` = true `Geometrical Set.1\Curve` = `Geometrical Set.1\Intersect.2` } Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dusches Mitglied

 Beiträge: 26 Registriert: 26.03.2010
|
erstellt am: 30. Mrz. 2010 10:18 <-- editieren / zitieren --> Unities abgeben:         
also...das problem habe ich mit einem kleinen haken erledigt...das update cycle problem ist folgendes: Die Regel beeinflußt den boolschen Parameter, der das intersect steuert. wenn ich jetzt das intersect in die regel reinschreibe gibt es einen update cycle. jetzt erzeuge ich die schnitte IN der Regel und übernehme sie nicht von aussen. anders geschrieben lautet der quelltext: let isect1(curve) let isect2(curve) isect1 = intersect(`Geometrical Set.1\Flaeche_1` , `yz plane` ) isect2 = intersect( `Geometrical Set.1\Flaeche_2` ,`yz plane` ) if (isect2 .Error==true) { `Boolean.1` = true `Boolean.2` = false `Geometrical Set.1\Curve` = isect1 } else { `Boolean.1` = false `Boolean.2` = true `Geometrical Set.1\Curve` = isect2 }
der haken ist nur, dass ich mit meiner lösung die boolschen parameter und damit auch die intersections im strukturbaum gar nicht bräuchte. die kann ich lediglich als "alibi" intersections im baum lassen. gibt es denn eine andere möglichleit die intersections in die regel zu übernehmen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MICHLICK Mitglied CAD Methodik Entwickler (CATIA; NX)
 
 Beiträge: 456 Registriert: 20.06.2001 Der Aufwand bei Änderungen ist groß, wenn die Finger schneller klicken als das Gehirn denkt.
|
erstellt am: 31. Mrz. 2010 08:26 <-- editieren / zitieren --> Unities abgeben:          Nur für dusches
In diesem Fall solltest Du die Aktivity nicht über die Formel sondern in der Regel steuern. Einfach die Formel löschen. In der Regel dann <Elementname>.Activity = false So sollte es funktionieren und Du bekommst auch keinen update cycle.
------------------ Gruß Michael B. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |