Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Finden einer Kantenverrundung

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:  Finden einer Kantenverrundung (3169 mal gelesen)
thorstenS
Mitglied



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

Beiträge: 29
Registriert: 08.03.2006

erstellt am: 12. Apr. 2006 17:27    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


Frage.jpg

 
Hallo miteinander


Versuche gerade ein Macro zu schreiben (siehe Bild), mit dem die Kantenverrundungen (alle aus einem Part) automatisch selektiert werden, leider klappt das nicht so wie gedacht.

Das Macro sieht folgendermaßen aus:

Sub CATMain()

Dim Liste As Colection
SetListe = CATIA.ActiveDocumentation.Selection
Liste.Clear
(Liste.Search ".Kantenverrundung.Name=Kantenverrundung*;Alle")

End Sub


In der Zeile mit den Klammern wird ein Fehler ausgegeben.

Kann mir Jemand sagen wo der Fehler liegt???

Würde mich über Hilfe freuen.....


P.S. Gibt es eigentlich irgentwo im Netz gut erklärte Beispiele zur Macroprogrammierung mit CATIA???? Das Buch von Hanser "CATIA V5 - Effizient Konstruktion mit Makros" ist als Einstieg nicht schlecht, aber für Änfänger doch recht schwierig zu lesen.

Gruss Thorsten

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

thorstenS
Mitglied



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

Beiträge: 29
Registriert: 08.03.2006

erstellt am: 18. Apr. 2006 15: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

Hat keiner eine Idee ?????

MFG  Thorsten

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 18. Apr. 2006 22: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 thorstenS 10 Unities + Antwort hilfreich

Hallo thorstenS,

zwei Anmerkungen zu Deinen "Script":

1.) ich würde es als

Code:
Dim Liste As Selection
deklarieren

2.) bei mir (sorry, "english"!) würde es lauten:

Code:
Liste.Search "CATPrtSearch.Fillet,all"

Du kannst das Ganze auch wunderbar aufzeichnen (Makro-Rekorder: Tools->Macro->Start_Recording)!


mfg,
Lusilnie

[Diese Nachricht wurde von Lusilnie am 18. Apr. 2006 editiert.]

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

thorstenS
Mitglied



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

Beiträge: 29
Registriert: 08.03.2006

erstellt am: 20. Apr. 2006 08:52    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, hab den Fehler gefunden   

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 20. Apr. 2006 21:50    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 thorstenS 10 Unities + Antwort hilfreich

Hallo thorstenS,

das ist ein Hilfeforum für alle, also:

Wo lag denn Dein Fehler?


mfg,
Lusilnie

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

thorstenS
Mitglied



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

Beiträge: 29
Registriert: 08.03.2006

erstellt am: 21. Apr. 2006 08:42    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

Jups has ja recht...

Also für alle:
____________________________

CATIA.StatusBar = "thorstenS, Version 1.0"

Sub CATMain ()

Dim Liste As Selection
Set Liste = CATIA.ActiveDocument.Selection
Liste.Clear
Liste.Search "CATPrtSearch.Fillet,all"

Dim UserSelektion As Reference
Set UserSelektion = CATIA.ActiveDocument.Selection
If UserSelektion.Count >0 Then
For I = 1 to UserSelektion.Count
MsgBox(UserSelektion.Item(I).Value.Name)
Next
End If
End Sub
______________________________

Gruss Thorsten

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 04. Dez. 2017 17:09    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 thorstenS 10 Unities + Antwort hilfreich

Hallo Zusammen,

ich bin soeben neu in diesem Forum beigetreten. Ich beschäftige mich schon seit längerer Zeit mit der Catia Makro Programmierung und bin auf diesen Beitrag gestoßen.

Eine ergänzende Frage:

Besteht die Möglichkeit neben dem Namen der gefundenen Kantenverrundung auch die Länge dieser zu ermitteln? (keine erfolgreiche Suche in diesem Forum)

Folgende Versuche habe ich bereits getätigt:


Sub CATMain ()

Dim Liste As Selection
Set Liste = CATIA.ActiveDocument.Selection
Liste.Clear
Liste.Search "CATPrtSearch.Fillet,all"

Dim UserSelektion As Reference
Set UserSelektion = CATIA.ActiveDocument.Selection
If UserSelektion.Count >0 Then
For I = 1 to UserSelektion.Count
MsgBox(UserSelektion.Item(I).Value.Name)

Wert=UserSelektion.Item(I).Value.radius

' oder

Wert= UserSelektion.Item(I).Value.radius.valueasstring


Next
End If
End Sub


Wäre toll Ihr habt einen Ansatz!
Vorab danke für die Hilfe!

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: 04. Dez. 2017 17:18    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 thorstenS 10 Unities + Antwort hilfreich

Servus

Willkommen im Forum.
Was ist bei dir die Länge der Verrundung?
Für die Länge der Ursprungskanten könnte es so gehen:
- per ObjectsToFillet auf die Kanten der Verrundung zugreifen
- die Elemente dieser Collection einzeln per SPA-Workbench messen

Gruß
Bernd

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 04. Dez. 2017 17:33    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 thorstenS 10 Unities + Antwort hilfreich

Servus Bernd,

danke für die schnelle Antwort! Mit Länge ist der Radius der Verrundung gemeint. Bsp.: R3.3

Das Gewünschte Resultat wäre dann eine Ausgabe mit dem Inhalt 3.3.

Dein Vorschlag werde ich versuchen umzusetzen. Zu dem Thema SPA-Workbench finde ich sicher was im Forum.

------------------
Viele Grüße,
Jerre95

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: 04. Dez. 2017 17:46    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 thorstenS 10 Unities + Antwort hilfreich

Servus

Also der Radius sollte über:

Code:

Dim oFillet as Object
Set oFillet = osel.item2(I).value

MsgBox oFillet.Radius.Value


gehen

Gruß
Bernd

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 04. Dez. 2017 21: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 thorstenS 10 Unities + Antwort hilfreich

Herzlichen Dank für die Antwort! Hat funktioniert!

Hier der Code für alle:

Sub CATMain ()
Dim Liste As Selection
Set Liste = CATIA.ActiveDocument.Selection
Liste.Clear
Liste.Search "CATPrtSearch.Fillet,all"
Dim UserSelektion As Reference

Set UserSelektion = CATIA.ActiveDocument.Selection
If UserSelektion.Count >0 Then
For I = 1 to UserSelektion.Count
'MsgBox(UserSelektion.Item(I).Value.Name)

Dim oFillet as Object

Set oFillet = UserSelektion.item2(I).value
'MsgBox oFillet.Radius.Value
Wert=oFillet.Radius.Value

UserSelektion.Item(I).Value.Name= "R" &Wert


Next
End If

End Sub

Nun möchte ich neben dem Radius auch noch die zugeordnete Farbe der Kantenverrundung als rgb Wert ausgeben lassen:

Dim r, g, b
    r = CLng(0)
    g = CLng(0)
    b = CLng(0)
    Set visProperties1 = CATIA.ActiveDocument.Selection.VisProperties
    visProperties1.GetRealColor r, g, b
    MsgBox "r = " & r & " g = " & g & " b = " & b

Setzte ich diesen Code-Schnipsel in die For-Schleife ein, so gibt die . GetRealColor Anweisung nur den ersten rgb Wert der Selektion aus. Verändere ich den Code auf:

Set visProperties1 = UserSelektion.Item(I).VisProperties
    visProperties1.GetRealColor r, g, b
    MsgBox "r = " & r & " g = " & g & " b = " & b

funktioniert die Funktion VisProperties nicht mehr. Irgendwelche Ideen?

------------------
Viele Grüße,
Jerre95

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 04. Dez. 2017 21:23    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 thorstenS 10 Unities + Antwort hilfreich

Also ich weiß aus dem Forum das die Selektion zwischengespeichert werden muss. Aber wie ? :-)

------------------
Viele Grüße,
Jerre95

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: 04. Dez. 2017 21:24    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 thorstenS 10 Unities + Antwort hilfreich

Servus

VisProperties gibt es nur für die ganze Selektion.
Also zB Verrundungen suchen, Ergebnis der Suche in einem Array zwischenspeichern, Elemente aus dem Array einzeln selektieren und VisProperties auslesen.

Gruß
Bernd

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 04. Dez. 2017 21:32    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 thorstenS 10 Unities + Antwort hilfreich

Danke Bernd!

Ich probiere es mal damit:

Dim Datenfeld()
ReDim Datenfeld(UserSelection.Count2)
For i = 1 To UserSelection.Count2
    Set Datenfeld(i) = UserSelection.Item2(i).Value
Next

UserSelection.Clear

UserSelection.Add Datenfeld(1)
UserSelection.Copy

------------------
Viele Grüße,
Jerre95

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 05. Dez. 2017 13:32    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 thorstenS 10 Unities + Antwort hilfreich

Servus,

hat funktioniert, vielen Dank!

Allerdings kann das Makro nur aufgeführt werden, wenn das Part im separaten Fenster geöffnet ist. Befindet es sich in einer Baugruppe klappt es nicht. Gibt es hierfür eine Lösung?

------------------
Viele Grüße,
Jerre95

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: 05. Dez. 2017 13:54    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 thorstenS 10 Unities + Antwort hilfreich

Servus

Wie sieht dein Code aus?
Kommt denn eine Fehlermeldung?
Wird denn eine Verrundung gefunden?

Gruß
Bernd

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 05. Dez. 2017 13:59    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 thorstenS 10 Unities + Antwort hilfreich

Hier der Code:

Dim Liste As Selection
Set Liste = CATIA.ActiveDocument.Selection
Liste.Clear
Liste.Search "CATPrtSearch.Fillet,all"
Dim UserSelektion As Reference

Set UserSelektion = CATIA.ActiveDocument.Selection
If UserSelektion.Count >0 Then

'-----------------------------Nach Kantenverrundungen suchen und in Collection speichern
Dim Datenfeld() As object
ReDim Datenfeld(UserSelektion.Count)

For I = 1 to UserSelektion.Count
Set Datenfeld(I) = UserSelektion.Item2(I).Value
Next

'-----------------------------Schleife über Collection
Dim r, g, b
Dim oFillet as Object

For I = 1 To UBound(Datenfeld)
UserSelektion.Clear 
UserSelektion.Add Datenfeld(I)

'-----------------------------Zugeordnete Farbe der Funktion auslesen

UserSelektion.VisProperties.GetRealColor r, g, b

'-----------------------------Wert des Radius: Komma durch Punkt ersetzen.

Set oFillet = Datenfeld(I)
Wert=oFillet.Radius.Value
v=Instr(Wert,",")

If v>0 then

Wertneu=Left(wert,v-1)
Wertneufinal=Wertneu & "."& Right(Wert, Len(Wert) - v)
Wert=Wertneufinal

'-----------------------------Wenn Farbe gelb dann:

If r= 255 and g=255 and b= 0 then

oFillet.Name= "R" & Wert & " - passend"

Else
oFillet.Name= "R" &Wert

End if

Else

If r= 255 and g=255 and b= 0 then
oFillet.Name= "R" & Wert & " - passend"
Else
oFillet.Name= "R" &Wert
End if


End If
Next

End If
End Sub


Funktioniert alles bestens. Fehler ist die Funktion variable Verrundung. Hier kann kein Wert ausgelesen werden.

------------------
Viele Grüße,
Jerre95

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: 05. Dez. 2017 14:14    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 thorstenS 10 Unities + Antwort hilfreich

Servus

Bitte Code in entsprechende Tags posten.
Ohne Einrückungen ist dein Code schwer zu lesen.
Bei mir lief der Code auch in einer Baugruppe durch. (ob es sinnhaft ist jede Instanz eines Parts zu prüfen/modifizieren sei dahingestellt)
Schon mal in die Doku geschaut? Gibt es bei einer variablen Verrundung einen Radius (es gibt bestimmt mehrere)? Welchen willst du denn da haben?

Gruß
Bernd

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 05. Dez. 2017 15: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 Nur für thorstenS 10 Unities + Antwort hilfreich

Servus,

Stimmt der Code läuft auch in der Baugruppe durch. Aber sinnvoller ist es nur das aktive Part zu modifizieren.
Bezüglich der Variablen Verrundung wäre eine Ausgabe aller Radien (Radius.1 , Raddius.1 etc.) wünschenswert.

------------------
Viele Grüße,
Jerre95

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: 05. Dez. 2017 15: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 thorstenS 10 Unities + Antwort hilfreich

Servus

Schon mal dazu in die V5Automation.chm geschaut?
Meine Ideen dazu:
- mit ImposedVertexRadius die einzelnen Radien auslesen
- mit Sublist auf die Parameter der Verrundung zugreifen und diese untersuchen (sind es alles Radien, ...)

Gruß
Bernd

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 05. Dez. 2017 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 Nur für thorstenS 10 Unities + Antwort hilfreich

Servus Bernd,

danke für deine Hilfe. Bin leider noch nicht fündig geworden.

Ziel wäre sowas:

Wenn variable Verrundung dann eine Schleife über die variable Verwundung mit der Ausgabe der einzelnen Radien. (Anzahl unbekannt)


------------------
Viele Grüße,
Jerre95

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 03. Jan. 2018 09:02    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 thorstenS 10 Unities + Antwort hilfreich


Fehlermeldung.JPG

 
Hallo Zusammen,

habe das Makro nun mal im Catia V5-6R26 getestet.

Nun funktioniert die Methode oFillet.Radius nicht mehr. Anbei die Fehlermeldung. Mir ist aufgefallen, dass die Funktion Kantenverrundung in der neuen Version anderst aufgebaut ist.
Hat jemand eine Idee?

------------------
Viele Grüße,
Jerre95

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: 03. Jan. 2018 09:11    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 thorstenS 10 Unities + Antwort hilfreich

Servus

Hast du schon mal in die neue V5Automation.chm geschaut?
(zB bei "What's new" oder bei dem entsprechenden Objekt)
Was für ein Objekt ist denn oFillet genau? (TypeName)

Gruß
Bernd

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 12. Jan. 2018 07:11    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 thorstenS 10 Unities + Antwort hilfreich


Kantenverrundung_R26.JPG

 
Guten Morgen,

danke für die Antwort.
Die Funktion Kantenverrundung im R26 hat folgende Neuheiten:

Man kann nun in der Funktion selbst umschalten zwischen einem variablen Radius und einem Konstanten. Das ist der Unterschied. Anbei auch ein Bild der Funktion.

Hier ist das Skript bis zu dem Fehler:

Dim Liste As Selection
Set Liste = CATIA.ActiveDocument.Selection
Liste.Clear
Liste.Search "CATPrtSearch.Fillet,in"
Dim UserSelektion As Reference

Set UserSelektion = CATIA.ActiveDocument.Selection
If UserSelektion.Count >0 Then

'-----------------------------Nach Kantenverrundungen suchen und in Collection speichern

Dim Datenfeld() As object
ReDim Datenfeld(UserSelektion.Count)

For I = 1 to UserSelektion.Count
Set Datenfeld(I) = UserSelektion.Item2(I).Value
Next

'-----------------------------Schleife über Collection
Dim r, g, b
Dim oFillet as Object

For I = 1 To UBound(Datenfeld)

UserSelektion.Clear 
UserSelektion.Add Datenfeld(I)

'-----------------------------Zugeordnete Farbe der Funktion auslesen


UserSelektion.VisProperties.GetRealColor r, g, b

'-----------------------------Wert des Radius: Komma durch Punkt ersetzen.

Set oFillet = Datenfeld(I)

'hier ist der Fehler  "oFillet.Radius.Value"

Wert="R" & oFillet.Radius.Value

------------------
Viele Grüße,
Jerre95

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 16. Jan. 2018 19:25    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 thorstenS 10 Unities + Antwort hilfreich

Vielleicht funktioniert es mit:

Set radius = oFillet.ImposedVertexRadius(vertex)

------------------
Viele Grüße,
Jerre95

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: 17. Jan. 2018 11:51    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 thorstenS 10 Unities + Antwort hilfreich

Servus

Was denn nun, hast du "nur" Probleme mit den Verrundungen mit variablen Radien, oder mit allen Verrundungen?
Zu Variable Fillet schau dir zB diese Diskussion an.

Gruß
Bernd

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 17. Jan. 2018 12:12    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 thorstenS 10 Unities + Antwort hilfreich

Hallo,

danke für die Antwort! Das Problem mit der variablen Verrundung habe ich bereits gelöst mit:

Dim ReferenzPunkt As Reference
Set ReferenzPunkt = oFillet.ImposedVertices.Item(1)

Allerdings kann ich im R26 den Wert der konstanten Verrundungen noch nicht ermitteln.

------------------
Viele Grüße,
Jerre95

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: 17. Jan. 2018 12:15    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 thorstenS 10 Unities + Antwort hilfreich

Servus

Und hast du dazu mal in der V5Automation.chm der R26 geschaut welche Methoden und Eigenschaften ein ConstRadEdgeFillet (oder wie das auch immer unter R26 heißt) hat?

Gruß
Bernd

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 17. Jan. 2018 13:12    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 thorstenS 10 Unities + Antwort hilfreich

Jawohl das habe ich. Allerdings ist hier nichts neues aufgeführt. Dort steht auch:
oFillet.Radius.Value

------------------
Viele Grüße,
Jerre95

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 07. Mai. 2019 13:10    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 thorstenS 10 Unities + Antwort hilfreich

Hallo liebes Forum,

gibt es inzwischen einen Lösungsansatz für das CATIA V5 R26 Problem?

Die Funktion oFillet.Radius.Value liefert im R26 keine Ausgabe (im R24 funktioniert es ohne Probleme)

Vorab danke für die Unterstützung!
Viele Grüße

------------------
Viele Grüße,
Jerre95

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: 07. Mai. 2019 21:48    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 thorstenS 10 Unities + Antwort hilfreich

Servus

Liefert dir das Watch/Local-Fenster des VBA-Editors vielleicht was brauchbares?

Gruß
Bernd

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 08. Mai. 2019 09:08    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 thorstenS 10 Unities + Antwort hilfreich

Hallo,

es handelt sich bei dem Makro um ein CATScript.

In der Makrosprache MS VBScript kann ich es nicht ausführen.

------------------
Viele Grüße,
Jerre95

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: 08. Mai. 2019 10:16    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 thorstenS 10 Unities + Antwort hilfreich

Servus

Ich hab VBA-Editor (ALT+F11) geschrieben, nicht vbs.
Dort sollte auch ein CATScript-Code laufen.
Obwohl du ggf nur eine Objektauflösung und einen Haltepunkt benötigst zur Analyse eine bestehenden Kantenverrundung.
ggf solltest du dich etwas mehr in die Grundlagen einarbeiten.

Gruß
Bernd

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 10. Mai. 2019 13:51    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 thorstenS 10 Unities + Antwort hilfreich


Kantenverrundung.PNG

 
Hallo,

nach erneuter Suche konnte ich den Wert der Kantenverrundung im Local-Fenster finden:

oFillet/Parent/Item/Radius/Value

Diesen bekomme ich auch ausgegeben.

Da die Kantenverrundung beispielsweise erst an Item-Nummer 5 auftreten kann, in der Collection aber zum Beispiel an zweiter Stelle steht, funktioniert oFillet.Parent.Item(I).Radius.Value hier nicht. I entspricht hierbei dem Zähler innerhalb der Collection.

Ich schaffe es leider nicht eine Lösung zu finden.


------------------
Viele Grüße,
Jerre95

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: 10. Mai. 2019 18:25    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 thorstenS 10 Unities + Antwort hilfreich

Servus

Bitte poste mal ein Bild des Watch- bzw Localfenster von oFillet (mit aufgeklapptem Baum)
Was für ein Objekt-Typ ist den oFillet? Was für ein Typ ist .Parent? Werden auch nur Kantenverrundungen mit deinem Code gefunden?

Gruß
Bernd

PS: Warum hast du in deiner Suche die "Option" ,in? Wäre da ggf ,all besser?
PS2: ggf die Suche weiter einschränken (UserSelektion.Search "CATPrtSearch.ConstantEdgeFillet,all")

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

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

Jerre95
Mitglied



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

Beiträge: 27
Registriert: 04.12.2017

CATIA V5 R24

erstellt am: 14. Mai. 2019 10:13    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 thorstenS 10 Unities + Antwort hilfreich


oFillet.PNG

 
Hallo,

danke für die Hilfe. Im Anhang befindet sich das Bild.

Mit dem Code werden nur Kantenverrundungen gesucht. oFillet ist ein VarRadEdgeFillet. Die Suche weiter einschränken brachte auch kein Erfolg.

------------------
Viele Grüße,
Jerre95

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: 14. Mai. 2019 17:11    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 thorstenS 10 Unities + Antwort hilfreich

Servus

Dabei handelt es sich wohl um eine Verrundung mit variablem Radius (das hättest dir die Doku auch geliefert).
Da wird anders auf den Radius zugegriffen.
Also entweder den Suchfilter anpassen (siehe letzten Post von mit in PS2) oder den TypeName auswerten.

Gruß
Bernd

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

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