Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Pad-Problem - Unterschied Direction aus Linie oder BREP

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:  Pad-Problem - Unterschied Direction aus Linie oder BREP (1104 mal gelesen)
AL-Fonse
Mitglied
Entwicklungsingenieur


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

Beiträge: 37
Registriert: 23.02.2010

Win Vista<P>CatiaV5 R16 R19

erstellt am: 22. Sep. 2011 08: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

Servus Allen!

Ich habe folgendes Problem, ich kann bei meinem Makro eine Draft-Direction auswählen entweder über eingabe einer Linei oder über ein BREP eine Achsenrichtung(X,Y oderZ).
Bei der Auswahl der Linie läuft meine Makro ohne Probleme durch, doch bei der Auswahl einer Achsenrichtung (also BREP) stürzt CATIA in der PAD-Unterfunktion ( bei Pad1.SetDirection Ref_Direction)ab.

Folgend ein paar Ausschnitte aus meinem Code:

Referenzerzeugung aus BREP
...
Dim Ref_YZ_Plane As Reference
Set Ref_YZ_Plane = part1.CreateReferenceFromBRepName("RSur Face Brp " & AxisSystemName & ";2);None );Cf11 ));WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", axisSystem1)

Dim Ref_XAxis As Reference
Set Ref_XAxis = part1.CreateReferenceFromBRepName("REdge Edge Face Brp " & AxisSystemName & ";1);None );Cf11 ));Face Brp " & AxisSystemName & ";3);None );Cf11 ));None Limits1 );Limits2 ));Cf11 ));WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", axisSystem1)

Dim Ref_YAxis As Reference
Set Ref_YAxis = part1.CreateReferenceFromBRepName("REdge Edge Face Brp " & AxisSystemName & ";2);None );Cf11 ));Face Brp " & AxisSystemName & ";1);None );Cf11 ));None Limits1 );Limits2 ));Cf11 ));WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", axisSystem1)

Dim Ref_ZAxis As Reference
Set Ref_ZAxis = part1.CreateReferenceFromBRepName("REdge Edge Face Brp " & AxisSystemName & ";3);None );Cf11 ));Face Brp " & AxisSystemName & ";2);None );Cf11 ));None Limits1 );Limits2 ));Cf11 ));WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", axisSystem1)


Zuweisung der Ref_Direction
....
If DraftSelect = True Then
    Set Ref_DraftDirec:tion = part1.CreateReferenceFromObject(HybridDirectionDraft)
ElseIf DraftZ = True Then
    Set Ref_DraftDirection = Ref_ZAxis
ElseIf DraftX = True Then
    Set Ref_DraftDirection = Ref_XAxis
ElseIf DraftY = True Then
    Set Ref_DraftDirection = Ref_YAxis
End If

....
Unterfunktion FuncPad
...
Function FuncPad(Ref_Surface As Reference, Ref_Direction As Reference, FirstLimit As String, SecondLimit As String, SecondLimitWert As Double, FirstLimitWert As Double, bodyAblage As Body, PadName As String, PreFixName As String, n As Integer) As Pad
   
    Dim Ref_Pad As Reference
    Set Ref_Pad = part1.FindObjectByName("")
   
    Dim pad1 As Pad
    Set pad1 = shapeFactory1.AddNewPadFromRef(Ref_Pad, FirstLimitWert)
   
    Set formulaFirstLimit = relation.CreateFormula(PreFixName + "Betrag_FirstLimit_" + CStr(n), "", pad1.FirstLimit.Dimension, FirstLimit)
   
    pad1.SetProfileElement Ref_Surface
   
    Dim limit1 As Limit
    Set limit1 = pad1.SecondLimit

    Dim length1 As Length
    Set length1 = limit1.Dimension

    length1.Value = SecondLimitWert
   
    Set formulaSecondLimit = relation.CreateFormula(PreFixName + "Betrag_SecondLimit_" + CStr(n), "", pad1.SecondLimit.Dimension, SecondLimit)
   

    pad1.SetDirection Ref_Direction
   
    pad1.DirectionOrientation = catInverseOrientation
   
    pad1.Name = PadName
   
    part1.Update
   
    Set FuncPad = pad1

End Function

....

Vielen Dank schon mal für eueren Support!

Gruß

AL-Fonse

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

Kne
Mitglied
System-Ingenieur


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

Beiträge: 88
Registriert: 16.11.2007

Intel Xenon 2 x 2,53Mhz
12 GB Ram
NVIDIA Quadro Fx 1800
Vista 64bit
CATIA v5R18 + v5R19

erstellt am: 22. Sep. 2011 08:36    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 AL-Fonse 10 Unities + Antwort hilfreich

Hallo,

bei der Zuweisung heißt die Variable "Ref_DraftDirection" (wobei da in der ersten Zeile auch ein Tippfehler ist; da hat sich ein Doppelpunkt eingeschlichen) und bei der Übergabe willst du die Variable "Ref_Direction" übergeben.

------------------
Grüße aus Köln
Stefan

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

AL-Fonse
Mitglied
Entwicklungsingenieur


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

Beiträge: 37
Registriert: 23.02.2010

Win Vista<P>CatiaV5 R16 R19

erstellt am: 22. Sep. 2011 08:43    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 KNE,

das ist denke ich nicht das Problem, weil nur im Unterprogramm die Direction Ref_Direction heißt (siehe hier Aufruf der Unterfunktion), welcher ja beim Aufruf der Unterfunktion die Ref_Draftdirection übergeben wird. Das Programm läuft ausserdem ja durch wenn die Ref_Draftdirection Referenz einer Linie ist und nicht einer BREP-Achsenrichtung.

Dim ZackenPad As Pad
        Set ZackenPad = FuncPad(Ref_ZackenFill, Ref_DraftDirection, FirstLimit, SecondLimit, CatiaParameterSecondLimit.Value, CatiaParameterFirstLimit.Value, bodyZackenPad, PreFixName + "ZackenBarsch_" + CStr(n), PreFixName, n)

Gruß

AL-Fonse
       

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

Kne
Mitglied
System-Ingenieur


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

Beiträge: 88
Registriert: 16.11.2007

Intel Xenon 2 x 2,53Mhz
12 GB Ram
NVIDIA Quadro Fx 1800
Vista 64bit
CATIA v5R18 + v5R19

erstellt am: 22. Sep. 2011 09:04    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 AL-Fonse 10 Unities + Antwort hilfreich

Jeden einzelen Codeschnipsel zu verstehen ist schwer wenn man den Gesamtzusammenhang nicht kennt
Ein Vorschlag: Du meintest doch, dass wenn eine Linie ausgewählt ist alles problemlos läuft. Warum erzeugst du dann nicht einfach eine Linie vom Urspruch in die gewünschte Richtung und benutzt diese als Referenz?

------------------
Grüße aus Köln
Stefan

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

AL-Fonse
Mitglied
Entwicklungsingenieur


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

Beiträge: 37
Registriert: 23.02.2010

Win Vista<P>CatiaV5 R16 R19

erstellt am: 22. Sep. 2011 09: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

Servus!

Daran habe ich schon gedacht, habe aber den Ehrgeiz entwickelt das zu umgehen, wenn es möglich ist!

Gruß in die Domstadt

AL-Fonse

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

Kne
Mitglied
System-Ingenieur


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

Beiträge: 88
Registriert: 16.11.2007

Intel Xenon 2 x 2,53Mhz
12 GB Ram
NVIDIA Quadro Fx 1800
Vista 64bit
CATIA v5R18 + v5R19

erstellt am: 22. Sep. 2011 09: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 Nur für AL-Fonse 10 Unities + Antwort hilfreich

Ja das kenne ich Warum einfach wenns auch schöner geht^^

Es kann ja nur daran liegen, dass
Set Ref_DraftDirection = part1.CreateReferenceFromObject(HybridDirectionDraft)
und
Set Ref_DraftDirection = Ref_ZAxis
unterschiedliche Informationen enthalten. Hast du mal überprüft was für Informationen die Variable Ref_DraftDirection nach den jeweiligen Zuweisungen enthält? Vielleicht hilft das weiter die Information von den BREPs an die der Linie anzupassen. Ich habe leider im Moment keine vollständige Doku zur Verfügung, um die ausgegebenen und erwarteten Infos zu vergleichen.

------------------
Grüße aus Köln
Stefan

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