Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Weiterverarbeitung von Benutzerselektionen

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co.
  
KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
Autor Thema:  Weiterverarbeitung von Benutzerselektionen (954 mal gelesen)
adg
Mitglied
Student Maschinenbau

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

Beiträge: 2
Registriert: 10.11.2005

erstellt am: 10. Nov. 2005 11:29    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

Hallo!

Ich arbeite momentan an einer Studienarbeit zur automatischen Erstellung von Freistichen an Wellen.
Der Benutzer soll dabei die gewünschte Kante (Edge) auswählen.
Das Auswählen der Kante funktioniert ohne Probleme, nur kann ich diese Kante nicht weiterverarbeiten.
CreateReferenceFromObject funktioniert nicht.

' Auswahl von Fläche und Richtung-----------------------------------

'-- Auswahl festlegen-----------------------------------------------Dim Was(0)
Was(0) = "Edge"

'-- Selection definieren und leeren -------------------------------Dim Selektion as Selection
Set Selektion = CATIA.ActiveDocument.Selection
Selektion.Clear

' -- Selektion vornehmen lassen ------------------------------------

E = Selektion.SelectElement(Was, "Kante wählen für den Freistich",false)
If E = "Cancel" then
MsgBox("Abbruch")
End If
Selektion.EndSelectElement
Selektion.Clear

'-- Punkt auf Kurve setzen---------------------------------------

Dim ref1 As Reference
Set ref1 = Koerper.CreateReferenceFromObject(E)

Und hier kommt die Fehlermeldung.
E ist als globale Variable definiert und taucht deshalb hier nicht auf.

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

Tstone
Mitglied
Werkzeugkonstrukteur


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

Beiträge: 163
Registriert: 04.06.2003

Dell Precision 470
Intel Xeon CPU 3,00GHz
2GB Ram
Microsoft Windows XP
Catia V5 R18 SP6
VB2005

erstellt am: 10. Nov. 2005 12:31    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 adg 10 Unities + Antwort hilfreich

hallo

Mit E belegst Du in der Zeile:
E = Selektion.SelectElement(Was, "Kante wählen für den Freistich",false)
den Status der Selektion. Diesen fragst du auch anschließend korrekt ab (wobei du bedenken musst, das die Zeilen nach dem End IF auf jeden fall abgearbeitet werden!)
Aber, das selektierte Element befindet sich in deiner Selektion (CATIA.ActiveDocument.Selection)
und kann durch Selektion.Item(Index) enumeriert werden.
An des Element kommst du durch den Befehl:
Selektion.Item(Index).Value

Das heißt:

E = Selektion.SelectElement(Was, "Kante wählen für den Freistich",false)
If E = "Cancel" then
MsgBox("Abbruch")
End If
Dim ref1 As Reference
Set ref1 = Selektion.Item(1).Value
Selektion.EndSelectElement
Selektion.Clear

Ich habe das jetzt nicht ausprobiert sollte aber so gehen, wenn nicht bitte melden.

------------------
Grüße TStone
  "Respektiere die Macht der Worte, wähle sie mit Bedacht!"

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

walter-2
Mitglied



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

Beiträge: 53
Registriert: 06.02.2005

erstellt am: 13. Nov. 2005 19:05    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 adg 10 Unities + Antwort hilfreich

Hallo TStone,
ich hänge mich mit einem änlichen Problem gleich mit ran.

1. Habe mir einen Körper erstellt, auf dem Körper liegt eine
Skizze mit einem Punkt, und noch eine Skizze mit einer Linie
(gilt zur Richtungslage)

2. Nun starte ich die Makroaufzeichnung

3. jetzt erstelle ich eine Bohrung mit Plansenkung und Gewinde usw.
auf der Körperoberfläche im Punkt und als Richtung die Linie.

4. speichere das makro ab, nun muß ich an das Makro ich Kopf

mit Eingaben versehen.

so nun kommt mein Problem, da ich kein VBScribt Pofi bin

1. jetzt will ich das makro bei anderen Parts verwenden

das soll so ausschauen

1. Punkt selektieren
2. Fläche oder Plane selektieren
3. Richtung selektieren

und klatsch die spezial Bohrung ist drin, ohne jedesmal
die Bohrungsparameter wieder einzuklopfen.

Als Powercopie möchte ich es nicht machen.

vieleicht kannst Du mir ja weiterhelfen

Gruß Walter

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

Tstone
Mitglied
Werkzeugkonstrukteur


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

Beiträge: 163
Registriert: 04.06.2003

Dell Precision 470
Intel Xeon CPU 3,00GHz
2GB Ram
Microsoft Windows XP
Catia V5 R18 SP6
VB2005

erstellt am: 14. Nov. 2005 09:22    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 adg 10 Unities + Antwort hilfreich

Hallo Walter2
Das ist natürlich schon ein sehr weit gefächertes Problem. Ich kann sicherlich, wie alle Anderen im Forum,versuchen Dir Hilfestellung bei Detaillösungen zu geben, aber nicht das Makro mit Dir entwickeln.
Ein Lösungsweg für die Definition der Eingabeelemente ist sicherlich die Selektion durch den User, realisiert über die oben beschriebene Methode [SelectElement], wobei Du bedenken solltest das laut Hilfe nur eine Selektion pro Dokument möglich ist. Also erste Selektion weiterverarbeiten bevor eine Neue gestartet wird.
Mein TIP:
Beschäftige Dich mit der Automationshilfe von Catia und bei Detailproblemen ist dieses Forum mit seinen Mitgliedern immer noch unübertroffen!!

------------------
Grüße TStone
  "Respektiere die Macht der Worte, wähle sie mit Bedacht!"

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

adg
Mitglied
Student Maschinenbau

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

Beiträge: 2
Registriert: 10.11.2005

erstellt am: 14. Nov. 2005 12:31    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

Also bei mir hat der Tip schonmal funktioniert.
Vielen Dank!

Ich steh jetzt nur vor dem nächsten Problem, aber das muss ich erstmal noch überdenken.
Ich muss halt berücksichtigen, dass die Leute die Welle richtig schräg in den Raum reinkonstruieren und die Achsen der Skizzierebene für den Freistich liegen dann halt auch nicht so optimal, dass man sich da richtig drauf beziehen könnte. Nur anderer Ort wär ja kein Problem, aber schräg schon.

Geht als Fläche bei Linie normal zu Fläche auch ne Ebene?
Würde wahrscheinlich schon helfen.

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)2025 CAD.de | Impressum | Datenschutz