Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Macroproblem Do...Loop Schleife

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:  Macroproblem Do...Loop Schleife (1427 mal gelesen)
ssvulm1846
Mitglied
Support, Methods


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

Beiträge: 42
Registriert: 01.06.2004

CATIA V5 R16 - SP4, UNIX auf SUN

erstellt am: 07. Okt. 2008 09: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


PicMacro.jpg


Part_for_Macro.Zip

 
Hallo liebe CADler,

Testweise wollte ich ein kleines Macro erzeugen, leider funktioniert es nicht so, wie angedacht.

Aufgabenstellung.
Ein Auto steht in der Garage. Es soll die Heckklappe geoeffnet werden, allerdings nur so weit, dass die Klappe nicht an die Garage stoesst.
Als Ergebnis soll ein Winkel ausgegeben werden, der der maximal moeglichen Drehung entspricht.

Die Klappe (gelb) wird mittels Drehachse gedreht. Da so eine Klappe immer unterschiedliche Formen aufweisen kann, ermittelt man nach jeder Drehung den
Extremwert in Z auf der Klappe. Sobald dieser Extremwert eine groessere Z-Hoehe hat als die Garagenhoehe (blau), soll die Berechnung abbrechen.

Der Drehvorgang soll durch eine Do...Loop Schleife erfolgen
Der Drehwinkel, den das Programm ausgibt, stimmt leider nicht mit dem Ueberein, was
rauskommen soll, er ist immer ca. 10% groesser.

OWert = Hoehe Garage
UWert = Extrempunkt auf Klappe
DWert = Drehwinkel
EWert = OWert - UWert (soll das Kriterium sein um die Do Schleife zu beenden)

Angehaengte Datei (PartMacro) ist ein CATPart, bitte die Endung .Zip gegen .CATPart austauschen. 

Macro ist im Part integriert.

Danke fuer Eure Hilfe.

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

ssvulm1846
Mitglied
Support, Methods


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

Beiträge: 42
Registriert: 01.06.2004

CATIA V5 R16 - SP4, UNIX auf SUN

erstellt am: 07. Okt. 2008 09:40    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


PartMacro.ZIp

 
Tschuldigung, falsche Zip(CATPart) Datei eingehaengt...

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

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 07. Okt. 2008 10: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 Nur für ssvulm1846 10 Unities + Antwort hilfreich

Hallo,
ich habs korrigiert:
--------Schnip----------------
Sub CATMain()
'Predefinitions
Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
'Paramerer Definition
Dim intParam1 As Parameter
Set intParam1 = parameters1.Item("OWert")
Dim intParam2 As Parameter
Set intParam2 = parameters1.Item("UWert")
Dim intParam4 As Parameter
Set intParam4 = parameters1.Item("BWert")
Dim intParam6 As Parameter
Set intParam6 = parameters1.Item("DWert")
Dim I 'As Integer
Dim DWert 'As Integer
Dim BWert 'As Integer
'Handover parameters
'Calculation
BWert = 1
'I = 0
DWert = 1
intParam6.ValuateFromString (DWert)
part1.Update
Do
    DWert = DWert + 1
    intParam6.ValuateFromString (DWert)
    part1.Update
    'I = I + 1
    Dim wert1, wert2
    wert1 = Left(intParam1.ValueAsString, InStrRev(intParam1.ValueAsString, "mm") - 1)
    wert2 = Left(intParam2.ValueAsString, InStrRev(intParam2.ValueAsString, "mm") - 1)
    BWert = wert1 - wert2
Loop Until BWert < 0
intParam4.ValuateFromString (BWert)
part1.Update
End Sub
----------Schnap-----------------------

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Private Seite
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