Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Spline Erstellung durch Makro - Versionsunterschiede?

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:  Spline Erstellung durch Makro - Versionsunterschiede? (1515 mal gelesen)
CabinMaster
Mitglied
Diplomingenieur L&R


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

Beiträge: 19
Registriert: 31.07.2009

Windows XP
Catia V5 R18
[und nein: Katja mag nur einen Prozessor zur Zeit benutzen]
Makro mit CATVBS

erstellt am: 23. Nov. 2009 10:51    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


spline_mistery_1.jpg


spline_mistery_2.jpg

 
Hallo Forum,

mich plagt ein sehr spezielles Problem und vielleicht hat jemand eine Idee, was schief laufen könnte.

Ein Makro erzeugt für mich auch einer Punktewolke Splines, welche anschließend zu einer Multi-Section-Surface vereint werden. Die Splines erzeuge ich auf einer "Sketch". Hier ist der Code, welcher die Splines generiert:

Code:

For icf = StartFrame To EndFrame
' first: create reference plane
offset = x(icf,1) + CabX0(cab_nr)
Set CabPlane(icf) = Wzk3D.AddNewPlaneOffset(GlobalRefPlane, offset, False)
CabPlane(icf).Name = "CabFrame" & icf
CabFrames.AppendHybridShape CabPlane(icf)
P.Part.Update
' second: create sketch on new reference plane, open factory
Set FrameSketch(icf) = CabinWire.HybridSketches.Add(CabPlane(icf))
FrameSketch(icf).Name = "CabFrame" & icf
Set Wzk2D = FrameSketch(icf).OpenEdition()
' third: make sketch
For ip = 1 To PTS(icf)
y_local = y(icf,ip) + CabY0(cab_nr)
z_local = z(icf,ip) + CabZ0(cab_nr)
Set CtrlPoints2D(ip) = Wzk2D.CreateControlPoint(y_local,z_local)
Next
' fourth: create spline using control points & Update
Set TheSpline(icf) = Wzk2D.CreateSpline(CtrlPoints2D)
TheSpline(icf).Name = "CabFrame" & icf
FrameSketch(icf).CloseEdition
P.Part.Update
CATIA.ActiveWindow.ActiveViewer.Reframe
Next ' finished loop for spline creation

Dazu einige Anmerkungen: die Variabeln x, y, z, CabX0 und CabY0 werden vorher mit Zahlen gefüllt. Die sind keine Fehlerquelle.

Ich führe den Code auf meiner CATIA V5R18 SP4 ohne Probleme aus. Muss dazu sagen, dass es sich um eine Hochschulversion handelt. Führe ich das exakt gleiche Skript jedoch auf einem "normalen" V5R18 aus, kommt es zu einem Fehler. Gleiches gilt für V5R19.

Anhang 1: richtige Ausführung auf meiner CATIA-Version
Anhang 2: anscheinend fehlgeschlagene Ausführung

Ich kann die Skizzen nicht mal selektieren, um manuell eine Multi-Section Surface (oder andere Flächen im Generative Shape Design) zu erstellen. Wenn ich aber mit meiner Schulungsversion eine bereits erstellte Multi-Section Surface (mit den tragenden Splines im NoShow) in den anderen CATIAs öffne, läuft alles reibungslos.

Nun, was könnte ursächlich sein?
- die Inputdaten und Skripte sind exakt die gleichen
- die CATIA-Versionen sind generell nicht zu unterschiedlich
- eines der CATIAs ist eine Schulungsversion (aber in der habe ich bisher noch keine eingeschränkte Funktionalität entdecken können).

Meine Vermutung geht in die Richtung, dass eine Einstellung eine andersartige Spline-Erstellung nach sich zieht. Nur welche Einstellungen haben hier Einfluss?

Sorry für den langen Text, aber das Problem ist etwas abgefahren und ich wollte präzise beschreiben.

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

CabinMaster
Mitglied
Diplomingenieur L&R


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

Beiträge: 19
Registriert: 31.07.2009

Windows XP
Catia V5 R18
[und nein: Katja mag nur einen Prozessor zur Zeit benutzen]
Makro mit CATVBS

erstellt am: 23. Nov. 2009 16:46    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

So, schön, dass ich meine Frage selbst beantworte, aber auf die Ursache wäre auch sicher niemand gekommen.

Das Problem liegt in der Ländereinstellung von Windows. Namentlich, die Wahl des Dezimaltrennzeichens. Da habe ganz undeutsch einen Punkt und kein Komma. Mein Zahlengenerator (namentlich Matlab) benutzt immer einen Punkt, und schreibt dies so in ASCII Dateien. Öffne ich diese per Script (mit OpenTeytAsStream), so wird die lokale Windows Einstellung genommen. Sobald ich also meinen Kram auf ein anderes (deutsches) System portiere, kommt kompletter Unsinn bei raus.

Mal wieder was gelernt. Lang lebe die Friktion.

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