Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Constraint-Problem

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:  Constraint-Problem (1086 mal gelesen)
Helmut Steeg
Mitglied
Programmierer


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

Beiträge: 19
Registriert: 30.05.2007

Catia V5R16

erstellt am: 30. Mai. 2007 14: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

Hallo allerseits.

Ich habe ein Problem mit programmatisch erzeugten Constraints via AddBiEltCst()

Ich habe diverse Objekte in einem Product, in denen Constraints an bestimmte Publicationen erzeugt werden sollen.

d.h. ich habe mehrere Parts mit 4 Publications (oben, unten, links, rechts) und habe nun eine Funktion, die mir die Parts durchläuft, den Constraint erzeugt und dann das Product updated.

Soweit ist auch alles ganz gut. Das Product sieht am Bildschirm ok aus. Das Problem ist nun, wenn ich die Datei speichere, schliesse und dann neu lade, sind die Constraints alle weg.

Ich hänge mal die entsprechende funktion an diesen Beitrag an, in der Hoffnung, das mir jemand eine Information geben kann, wo ich *ahem* Bockmist gemacht habe ;-)

Bin für jeden Hinweis/Tip dankbar.

Gruss,
    Helmut Steeg

Code:

' Erzeuge einen Constraint und liefere das erzeugte Objekt zurück
' Parameter:
' eOrientation: enum CatConstraintOrientation
'                  catCstOrientOpposite zum stapeln
'                  catCstOrientSame zum Positionieren
' sFromObject:  string
'                  Name des ersten Objektes, dem der Constraint
'                  zugeordnet wird
' sToObject: string
'                  Name des zweiten Objektes, dem der Constraint
'                  zugeordnet wird
' sFromPublication: string
'                  Publication, an der der Constraint zugeordnet wird
' sToPublication: optional string
'                  Publication, an der der Constraint zugeordnet
'                  wird. Ist der String leer oder nicht vorhanden,
'                  wird sFromPublication verwendet
Private Function CreateConstraint( _
        eOrientation As CatConstraintOrientation, _
        sFromObject As String, _
        sToObject As String, _
        sFromPublication As String, _
        Optional sToPublication As String) As Object

    Dim oProd1 As Object, oProd2 As Object
    Dim oPub1 As Object, opub2 As Object
    Dim oRef1 As Object, oRef2 As Object
    Dim oCst0 As Object, oCst1 As Object
    Dim oLength As Object
   
    ' Zu verwendende Produkte abfragen
    Set oProd1 = CATIA.ActiveDocument.Product.Products.Item(sFromObject)
    Set oProd2 = CATIA.ActiveDocument.Product.Products.Item(sToObject)
   
    ' sToPublication auf Inhalt überprüfen. Ist keiner vorhanden,
    ' den gleichen Wert wie sFromPublication verwenden
    If IsNull(sToPublication) Or _
      IsEmpty(sToPublication) Or _
      sToPublication = "" Then
     
        sToPublication = sFromPublication
    End If
   
'    DebugInfo "CreateConstraint: Prod1::Name = " & oProd1.Name
'    DebugInfo "CreateConstraint::sFromPublication = " & sFromPublication
'    DebugInfo "CreateConstraint::sToPublication = " & sToPublication
   
    ' Publication im Quellobject abfragen und dazugehörige Referenz erzeugen
    Set oPub1 = oProd1.Publications.Item(sToPublication)
    Set oRef1 = oPub1.Valuation
   
'    DebugInfo "CreateConstraint: Prod2::Name = " & oProd2.Name
   
    ' Publication in Zielobjekt abfragen und dazugehörige Referenz erzeugen
    Set opub2 = oProd2.Publications.Item(sFromPublication)
    Set oRef2 = opub2.Valuation
   
    ' Constraint-Liste abfragen und einen Constraint aus zwei Elementen
    ' erzeugen
    Set oCst0 = oProd1.Connections("CATIAConstraints")
    Set oCst1 = oCst0.AddBiEltCst(catCstTypeDistance, oRef1, oRef2)
   
    ' Die Länge auf 0 setzen, das ist der Abstand zwischen den beiden
    ' Elementen
    Set oLength = oCst1.Dimension
    oLength.Value = 0#
   
    ' Typ des Constraints einstellen (Opposite, SameSide...)
    oCst1.Orientation = eOrientation
   
    ' und noch das Objekt an die aufrufende Funktion zurückliefern.
    Set CreateConstraint = oCst1
End Function



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