Mahlzeit Welt
hab da ma ein Problem..
um die optimale Länge einer Kurve im Modell darzustellen
(Paramter "Zielumfang" = Fertigungslänge bzw. neutrale Faser eines Bauteils),
habe ich eine Reaction im Modell, welche den vorhandenen, gemessenen Wert der Kurve "Umfang"
mit dem Wunschwert "Zielumfang" vergleicht und dann Einfluss auf einen
Winkel "Uebergangswinkel" nimmt und diesen bei Bedarf anpasst, was wiederum den "Umfang"
näher an den "Zielumfang" bringen soll(te)
mit einer festgelegten Toleranz, Wert muss nicht 1:1 identisch sein.
als Toleranz habe ich 0.1mm angedacht.
Funktioniert so weit..manchmal...
Hatte jetzt schon ca. 100x den Fall, dass sich Catia aufhängt,
so bald die Reaction angestossen wird.
RU bzw. RO soll die Ober- bzw. Untergrenze für den "Uebergangswinkel" sein,
also der Übergangswinkel soll zwischen 3 und 8° liegen.
hab ich da was falsch gemacht?
Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
Dim length1 As Parameter
Set length1 = parameters1.Item("Umfang")
Set angle2 = parameters1.Item("Uebergangswinkel")
Set length3 = parameters1.Item("Zielumfang")
Set length4 = parameters1.Item("Toleranz")
Dim i as boolean
dim k as integer
Dim l as real
Dim ru as real
Dim ro as real
Dim zu as real
Dim tol as real
zu = length3.value
tol = length4.value
otol = zu+tol
utol = zu -tol
'msgbox zu
'msgbox tol
i = false
if length1.value > otol then
ru = 3
ro = angle2.value
elseif length1.value < utol then
ru = angle2.value
ro = 8
end if
k=0
do while i = false
k=k+1
'msgbox ru
'msgbox ro
'msgbox length1.value
if length1.value > otol or length1.value < utol then
l = (ru +ro)/2
angle2.value = l
if l <0 then
i = true
end if
else
i = true
end if
part1.update
if length1.value < utol then
ru=l
end if
if length1.value > otol then
ro=l
end if
if abs(zu-length1.value)<length4.value then
i=true
msgbox "ZIELWERT ERREICHT!"
end if
loop
End sub
------------------
Zum Beenden OK anklicken!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP