Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  NC Parameter bearbeiten

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:  NC Parameter bearbeiten (1237 mal gelesen)
Tiberius
Mitglied
 


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

Beiträge: 414
Registriert: 19.02.2002

erstellt am: 22. Jul. 2009 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


Eigenschaften.jpg

 
Hallo,

ich hatte vor einiger Zeit schon mal nen Post losgelassen, jedoch mußte ich das Skript wegen was anderem erstmal liegen lassen. Nun greif ich es nochmal auf.

Meine Absicht ist es auf die im Anhang dargestellten Parameter per Makro zuzugreifen, die ggf. dann dort in einer eigens erstellten Maske (ein anderes Skript das die Parameter als Übergabe bekommt) aufzubreiten und nach der Änderung diese wieder zurückzuschreiben.

HoBLila hatte schon einen Lösungsansatz, jedoch ist mir noch nicht so klar wie er das meint.

http://ww3.cad.de/foren/ubb/Forum137/HTML/003081.shtml

Ich hab die Vermutung dass ich nen Wust an Parametern bekomme und dann Probleme habe diese zuzuordnen.

Gruß

Tiberius

[Diese Nachricht wurde von Tiberius am 22. Jul. 2009 editiert.]

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 22. Jul. 2009 16:34    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 Tiberius 10 Unities + Antwort hilfreich

Also was du suchst sind die Kopfparameter, wenn ich mich nicht irre.
Habe dazu aber gerade kein Beispiel parat, ich hoffe die nächsten Tage mal ein paar Minuten Zeit zu haben da zu schauen.
Die gehen somit glaube ich nicht über die Parameter, zumindest nicht über die Normalen. Es ist jedenfalls möglich deine Eintragungen zu machen.

Ansonsten wenn du Parameter hast als ParameterSet kannst du die Methode SubParameters (oder so ähnlich) aufrufen an die du das Objekt, von dem du nur die Parameter haben willst, übergibst.

Beispiel (ist nicht korrekt, da ich grad' hier kein CATIA habe):
Set parametersWork = processWork.Parameters
set parametersWork = parametersWork.SubParameters(processWork)

Auf diese Weise sind in dem Set nur noch die Parameter des Processes.
Das spart enorme Verarbeitungszeit, da du nicht mehr alle duchgehen musst und sie sind auch recht eindeutig identifiziert.

Was du aber suchst befindet sich glaube ich in irgend einem ProcessHeader-Objekt.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 22. Jul. 2009 18:56    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 Tiberius 10 Unities + Antwort hilfreich

Habe mir gerade dein Bild angeschaut und festgestellt, dass das was ich da zumindest glaube zu sehen, noch viel einfacher ist, als ich gedacht hatte:

Code:

Option Explicit

Public Sub CATMain()

    Dim selWork        As INFITF.Selection
    Dim objWork        As Object
    Dim manuprogWork    As MANUFACTURING.ManufacturingProgram
   
    Set selWork = CATIA.ActiveDocument.Selection
   
    Set manuprogWork = selWork.Item2(1).Value
    MsgBox manuprogWork.Description

End Sub


Einfach Spliten nach vbCrLf und dann eben den String danach weiter spliten, was du machen möchtest. 

Wenn's nicht das gesuchte ist, Bescheid geben. 

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

Tiberius
Mitglied
 


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

Beiträge: 414
Registriert: 19.02.2002

erstellt am: 23. Jul. 2009 08: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

Soweit ich sehen kann ist es genau das was mir noch gefehlt hat.

Danke schonmal an Dich!

Ich hab da aber noch ne andere Sache, die aber hier mit reinspielt.
Zunächst muß ich sagen, dass mein Skript aus einem anderen heraus aufgerufen wird. Und bevor
das (erstere) Skript gestartet wird, wird eine Selektion vorgenommen. Dort wird ggf. die eine oder andere Aufspannung und dazu einzelne ausgewählte Programme selketiert. Die Aufspannungen suchen und gucken wie sie heißen ist kein Problem, jedoch wenn ich eine Logikkontrolle mache für verschiedene Fälle (Aufspannung 1 selektiert, jedoch kein Programm in Aufspannung 1 sondern in Aufspannung 2 usw.).

Ich müßte nun feststellen welche Programme in welcher Aufspannung sind und ob diese mit in der anfänglichen Selektion waren bevor Skript 1 gestartet wurde. Gleich an Anfang von Skript 1 wird mein Skript aufgerufen, d.h. die Selektion ist noch vorhanden und könnte ausgewertet werden.

Über ChildrenActivities kann ich ja schauen was in einem Prozess enthalten ist. Gibt es die möglichkeit auch für ne Aufspannung?

Gruß

Tiberius

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 27. Jul. 2009 16:01    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 Tiberius 10 Unities + Antwort hilfreich

Sorry, dass ich erst jetzt antworte, aber am Wochenende habe ich meist was anderes zu tun. ^^

Hier der Code, der dir hoffentlich weiter hilft. Wirst Dich ärgern, denn auch das war nicht sonderlich schwer.
Vergleich anhand von der Collection kannst du sicherlich besser hoinzufügen, da du die Kritieren genauer kennst.

Code:

Option Explicit

Public Sub CATMain()

    Dim arrOfVariant(1) As Variant
    Dim iIterator      As Integer
    Dim manuProgWork    As MANUFACTURING.ManufacturingProgram
    Dim manuSetupWork  As MANUFACTURING.ManufacturingSetup
    Dim mfgActsWork    As MANUFACTURING.MfgActivities
    Dim objBuffer      As Object
    Dim selWork        As INFITF.Selection
    Dim sOutput        As String
    Dim sStatus        As String
   
    arrOfVariant(0) = "ManufacturingProgram"
    arrOfVariant(1) = "ManufacturingSetup"
   
    Set selWork = CATIA.ActiveDocument.Selection

    Set objBuffer = selWork
    sStatus = objBuffer.SelectElement2(arrOfVariant, "Bitte Aufspannung oder Programm selektieren", True)
   
    If Not sStatus = "Normal" Then
   
        Exit Sub
   
    End If
   
    Set objBuffer = objBuffer.Item2(1).Value
   
    Select Case TypeName(objBuffer)
   
        Case "ManufacturingProgram":
       
            Set manuProgWork = objBuffer
            MsgBox "Selektierte Programme:" & vbCrLf & vbCrLf & manuProgWork.Name, vbOKOnly, "Ausgabe der Programmnamen"
       
        Case "ManufacturingSetup":
       
            Set manuSetupWork = objBuffer
       
        Case Else
       
            Exit Sub
       
    End Select
   
    If manuSetupWork Is Nothing Then
   
        Exit Sub
       
    End If
   
    Set mfgActsWork = manuSetupWork.Programs
   
    If mfgActsWork.Count = 0 Then
   
        MsgBox "Selektierte Aufspannung enthält keine Programme"
   
    End If
   
    sOutput = ""
   
    For iIterator = 1 To mfgActsWork.Count
   
        Set manuProgWork = mfgActsWork.GetElement(iIterator)
        sOutput = sOutput & vbCrLf & manuProgWork.Name
   
    Next iIterator
   
    MsgBox "Selektierte Programme:" & vbCrLf & sOutput, vbOKOnly, "Ausgabe der Programmnamen"

End Sub


------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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