Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Fehler bei Erstellung einer Law mit VBA

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:  Fehler bei Erstellung einer Law mit VBA (1404 mal gelesen)
Vegas13
Mitglied


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

Beiträge: 5
Registriert: 07.10.2013

erstellt am: 09. Okt. 2013 10:21    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 zusammen!

Ich bin dabei ein Makro zu schreiben, was eine Ausgleichsgerade éiner Punktwolke berechnet und diese dann in Catia darstellt.
Die Berechnungen usw. funktionieren auch und es klappt auch grundsätzlich mit VBA eine Law zu erstellen(Daraus wird dann mit Paralles Curve später die Funktion gezeichnet).
Das Problem ist jetzt folgendes: Da ja die Punkte nicht immer gleich sind, hat die Funktion die allgemeine Form z.B.: y=m*x
y und x erstelle ich jeweils als Variable der Form "Real" und m habe ich als "Integer" erstellt. Jetzt hat m mal angenommen den Wert 3, sollte also eine Gerade entstehen. Catia macht daraus aber eine Kurve. Wenn ich aber händisch eine Regel mit y=3*x erstelle, also dass die Steigung nicht variabel ist, kommt auch die richtige Gerade dabei raus.

Hat jetzt jemand eine Idee, woran es liegt, dass bei der mit VBA erstellten Regel keine Gerade, sondern eine Kurve entsteht? Liegt das vielleicht an der Dimensionierung der Variable m?

Ich bin für jede Hilfe dankbar!

Gruß, Simon 

P.S.: Gerade ist noch ein weiterer Fehler aufgetreten... Der Makro-Recorder nimmt nichts mehr auf

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: 09. Okt. 2013 12: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 Vegas13 10 Unities + Antwort hilfreich

Bitte Systeminfo ausfüllen.

Ich rate einfach mal in's Blaue: Es gibt Probleme mit den Wertebereichen Deiner Variablen. Vielleicht läuft ein Cast nicht ganz sauber.

Könnten wir einen Code-Schnipsel dafür bekommen?

Müsste bei der Formel nicht immer eine Gerade herauskommen?

Wie hoch ist die Abweichung der Kurve?

------------------
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

Vegas13
Mitglied


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

Beiträge: 5
Registriert: 07.10.2013

erstellt am: 09. Okt. 2013 12:14    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,

vielen Dank schon einmal für die Antwort.

Hier der Codeschnipsel(ich hoffe das geht so, denn der Rechner auf dem Catia installiert ist, hat kein Internet, so dass ich neben dran mit Notebook arbeiten muss...), der die Law erstellt:

Set AusgleichsgeradeLaw = NeuesPart.Part.Relations.CreateLaw("Ausgleichsgerade", "", "")
AusgleichsgeradeLaw.AddFormalParameter "y", "Real"
AusgleichsgeradeLaw.AddFormalParameter "x", "Real"
AusgleichsgeradeLaw.AddFormalParameter "m", "Integer"

AusgleichsgeradeLaw.Modify "y=m*x"


Dieser Code funktioniert auch, erstellt also eine Law, die auch im Strukturbaum dann zu sehen ist.
Wenn ich jetzt händisch (das Erstellen der ParalleCurve habe ich noch nicht in VBA umgesetzt) die Gerade mit ParallelCurve zeichne, also keinen Punkt sondern diese Law auswähle, ensteht eine Kurve, keine Gerade. Diese müsste eigentlich entstehen, da ich m weiter oben im Programm den Wert 3 zugewiesen habe.

Was ist genau mit Kurvenabstand gemeint?

Sorry, wenn ich vielleicht blöde Fragen stelle, ist das erste mal, dass ich etwas in Catia mit VBA programmiere...

Danke schon einmal!

Gruß, Simon

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