Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Intersection automatisch deaktivieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Intersection automatisch deaktivieren (3237 mal gelesen)
Chrisma
Mitglied
Ingenieur


Sehen Sie sich das Profil von Chrisma an!   Senden Sie eine Private Message an Chrisma  Schreiben Sie einen Gästebucheintrag für Chrisma

Beiträge: 85
Registriert: 29.03.2010

Solid Works 2013 Professional
Win7 SP1
Intel Xeon 2,67GHz
12GB Ram

erstellt am: 29. Mrz. 2010 14:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus alle zusammen,

Meine Frage ist, wie kann ich eine Intersection automatisch deaktivieren, sobald Sie das betreffende Bauteil nicht mehr schneided?

Vielen Dank für eure Antwort!

Chrisma

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 29. Mrz. 2010 14:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Chrisma 10 Unities + Antwort hilfreich

Hallo,

in dem die in einer Reaction (die bei einem Update ausgelöst wirst) kontrollierst ob es einen Fehler bei der Erstellung geben würde. Ist dies nicht der Fall existiert auch die Intersection. Würde CATIA einen Fehler melden dann gibt es keine Intersection und diese muss deaktiviert werden

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Chrisma
Mitglied
Ingenieur


Sehen Sie sich das Profil von Chrisma an!   Senden Sie eine Private Message an Chrisma  Schreiben Sie einen Gästebucheintrag für Chrisma

Beiträge: 85
Registriert: 29.03.2010

erstellt am: 29. Mrz. 2010 17:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ne bekomms nicht hin.

Hab eine reaction erstellt :

Source type: Selection
Sources: Aktivitaet_Intersection
Available events: ValueChange

Jetzt müsste ich wahrscheinlich noch eine Action formulieren, aber ich weiß nicht mal ob ich nun mit true oder false arbeiten soll.

if Aktivitaet_Intersection == true

{Aktivitaet_Intersection = true}

else

{Aktivitaet_Intersection = false}

Das macht selbst für mich keinen Sinn.

Kann mir jemand noch helfen?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

dusches
Mitglied



Sehen Sie sich das Profil von dusches an!   Senden Sie eine Private Message an dusches  Schreiben Sie einen Gästebucheintrag für dusches

Beiträge: 26
Registriert: 26.03.2010

erstellt am: 30. Mrz. 2010 08:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Chrisma 10 Unities + Antwort hilfreich

Hallo Chrisma,

ich habe im Prinzip das gleiche Problem (gehabt) --> mein thread "Geometrie mit Regel löschen/deaktivieren " ist auch noch ziemliich neu...

wenn du die akttivity der intersection in einen boolschen parameter packst und das ganze in eine regel(rule) schreibst klappt das auch.

ich habe das folgendermaßen geschrieben und bei mir klappts. der parameter boolean.2 ist dabei mit dem intersect verknüpft.


let i(curve)

i = intersect( `Geometrical Set.1\Flaeche_2` ,`yz plane` )

if (i.Error==true)

{
`Boolean.2` = false
}


else
{
`Boolean.2` = true
}

gruß
dusches

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Chrisma
Mitglied
Ingenieur


Sehen Sie sich das Profil von Chrisma an!   Senden Sie eine Private Message an Chrisma  Schreiben Sie einen Gästebucheintrag für Chrisma

Beiträge: 85
Registriert: 29.03.2010

Solid Works 2013 Professional
Win7 SP1
Intel Xeon 2,67GHz
12GB Ram

erstellt am: 30. Mrz. 2010 11:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke.

Sehr gut. Beginne langsam das System zu verstehen. Naja, dachte ich bis zum nächsten Prob. habe jetzt folgendes für einen Split geschrieben, da meine Intersection immer da ist. Nun hab ich das Problem, dass mir der Split 15, den ich aktiviere/deaktiviere, in einem Update circle steckt. Der Split 15 splittet die Intersection die vorher geschieht. Ich verstehe es aber nicht.

Beim ersten Mal hatte es funktioniert.


Text:

let i(curve)


i=split( `Intersect.48` , `Extrude.48`, false)

if (i.Error==true)

{
`Split.15\Activity`  = false
}


else
{
`Split.15\Activity`  = true
}

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 30. Mrz. 2010 12:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Chrisma 10 Unities + Antwort hilfreich

Servus
Du könntet mal probieren über den bestehenden boole'schen Parameter gleich den Split aktivieren/deaktivieren (einfache Formel):
`Split.15\Activity`  = `Boolean.2`

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Chrisma
Mitglied
Ingenieur


Sehen Sie sich das Profil von Chrisma an!   Senden Sie eine Private Message an Chrisma  Schreiben Sie einen Gästebucheintrag für Chrisma

Beiträge: 85
Registriert: 29.03.2010

erstellt am: 30. Mrz. 2010 13:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Den Tip von Bgrittmann geht leider nicht

`Split.15\Activity`  = `Boolean.2`

Für Boolean.2 muss ich ja eine Funktion erstellen um den Boolscehn Wert vom Split in den Parameter Boolean.2 zu bekommen. Dann kann ich aber keine Rule mehr erstellen, da, sobald ich mit dem Code aus dem letzten Post eine erstelle, die Funktion zwischen Boolean.2 und Split deaktiviert wird. Es hat also keine Auswirkung.

Oder hab ich da was falsch verstanen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

dusches
Mitglied



Sehen Sie sich das Profil von dusches an!   Senden Sie eine Private Message an dusches  Schreiben Sie einen Gästebucheintrag für dusches

Beiträge: 26
Registriert: 26.03.2010

erstellt am: 30. Mrz. 2010 14:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Chrisma 10 Unities + Antwort hilfreich

wie ist es, wenn du anstatt "`Split.15\Activity`  = `Boolean.2`" in deinen Code schreibst:


`Boolean.2`= true

bzw

`Boolean.2`= false

je nach dem, wann was ausgeführt werden soll.
klappts dann?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Chrisma
Mitglied
Ingenieur


Sehen Sie sich das Profil von Chrisma an!   Senden Sie eine Private Message an Chrisma  Schreiben Sie einen Gästebucheintrag für Chrisma

Beiträge: 85
Registriert: 29.03.2010

Solid Works 2013 Professional
Win7 SP1
Intel Xeon 2,67GHz
12GB Ram

erstellt am: 30. Mrz. 2010 14:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

So hier mein Versuch den ich auch  schon angestellt hatte. Aber wie schon oben beschrieben bekomme ich eine Fehlermeldung:

Automatic update?

This relation has links to non parameters features and so will not be updated when inputs will.
Do you want this relation to be updated when global Update is performed?...

Ich hab yes geclickt und dadurch hat sich meine Rule deaktiviert. Ich raste aus. So ein popelprob... Naja...

let i(curve)


i=split( Intersect.66  , Extrude.66, false)

if (i.Error==true)

{
Aktivitaet_Split_30  = false
}


else
{
Aktivitaet_Split_30  = true
}

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Chrisma
Mitglied
Ingenieur


Sehen Sie sich das Profil von Chrisma an!   Senden Sie eine Private Message an Chrisma  Schreiben Sie einen Gästebucheintrag für Chrisma

Beiträge: 85
Registriert: 29.03.2010

erstellt am: 30. Mrz. 2010 14:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ok vergesst es. Jetzt gehts auf einmal einwandfrei. Einfach mal nen Neustart gemacht... Danke euch!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Chrisma
Mitglied
Ingenieur


Sehen Sie sich das Profil von Chrisma an!   Senden Sie eine Private Message an Chrisma  Schreiben Sie einen Gästebucheintrag für Chrisma

Beiträge: 85
Registriert: 29.03.2010

Solid Works 2013 Professional
Win7 SP1
Intel Xeon 2,67GHz
12GB Ram

erstellt am: 14. Apr. 2010 22:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

So ich hab mich mal wieder damit beschäftigt das Intersectionprob zu lösen. Code steht unten.

Mein Prob ist, dass ich sehr viele Intersects habe. Ich habe also versucht eine Schleife zu schreiben. Diese habe ich als Rule in KWA eingefügt. Ich befürchte aber ich schmeiße gerade die Programmiersprache von Catia durcheinander. Ich bekomme auf jeden Fall einen Syntaxfehler um den Token X angezeigt.

On error resume next

For X = 1 to 11 'mir egal, dass es nicht variabel ist, die Linie sind imemr die gleichen

let i(point)

i=intersect( `Geometrical Set.1\Line.`+X ,`Geometrical Set.1\Plane.1` ) 'bin mir nicht sicher ob man so weiter zählt. In VB müsste es gehen.

if (i.Error==true)

{
`Geometrical Set.1\Multi Output.1 (Intersect)\Intersect.`+X`\Activity`  = false
}


else
{
`Geometrical Set.1\Multi Output.1 (Intersect)\Intersect.`+X`\Activity`  = true
}

i.clear

next X

------------------
Hihihi, lol, hihihi 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LukasToni
Mitglied


Sehen Sie sich das Profil von LukasToni an!   Senden Sie eine Private Message an LukasToni  Schreiben Sie einen Gästebucheintrag für LukasToni

Beiträge: 7
Registriert: 19.11.2012

WIN 7 Enterprise SP1
Intel(R) Xeon(R) CPU W3550 @3.07GHz 3.06GHz
12GB RAM
64 Bit-Betriebssystem
CATIA V5 R19 SP9

erstellt am: 30. Nov. 2012 08:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Chrisma 10 Unities + Antwort hilfreich

Ich habe ein weiterführendes Problem zu dem Thema.
Ich habe eine ähnliche Rule erstellt wie bereits beschrieben...
Code:

let i(point)

i=intersect(`Linie1`  ,`Plane1` )

if (i.Error==true)

{
`Boolean1`    = false
}

else
{
`Boolean1`  = true
}


Das ganze funktioniert soweit einwandfrei.

Jedoch erscheint immer die Warnung:
Rule.1  Update failed :: No Solution There is no solution for this operation

Ich schätze das liegt daran das keine Verschneidung vorhanden ist und CATIA aber genau dies in der Rule ja macht.

Frage: Kann man CATIA irgendwie sagen, dass die Verschneidung erst geprüft werden soll und wenn diese nicht vorhanden ist soll direkt der Parameter Boolean1 auf false gesetzt werden? Das ganze ohne die Verschneidung zu versuchen, also auch ohne Warnmeldung.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LukasToni
Mitglied


Sehen Sie sich das Profil von LukasToni an!   Senden Sie eine Private Message an LukasToni  Schreiben Sie einen Gästebucheintrag für LukasToni

Beiträge: 7
Registriert: 19.11.2012

WIN 7 Enterprise SP1
Intel(R) Xeon(R) CPU W3550 @3.07GHz 3.06GHz
12GB RAM
64 Bit-Betriebssystem
CATIA V5 R19 SP9

erstellt am: 03. Dez. 2012 11:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Chrisma 10 Unities + Antwort hilfreich

Ich hab das ganze selber lösen können...

Für alle die es interessiert:

Ich habe einfach geprüft ob ein Abstand existiert. Wenn Ja ist keine Verschneidung vorhanden und der Parameter wird auf false gesetzt.

Die Rule wird vor dem Intersect geprüft, somit wird das intersect in dem Falle das es keine Verschneidung hat deaktiviert bevor es auf einen Fehler/eine Warnung läuft.

Code:

If distance(Plane1 ,Curve1)==0mm
{
Boolean1  = true
}
else
{
Boolean1  = false
}

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz