Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  PointOnCurve parametrisch gesteuert

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:  PointOnCurve parametrisch gesteuert (1370 mal gelesen)
studmija
Mitglied
Student


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

Beiträge: 49
Registriert: 22.11.2010

System:
Microsoft Windows XP
Professional x64 Edition
Version 2003
Sevice Pack 2
Computer:
Intel(R)Xeon(R)CPU
2,80GHz, 12 GB RAM
Software:
CATIA V5R19

erstellt am: 30. Nov. 2010 16: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

Servus!
Ich möchte mit einem Makro einen Punkt auf einer Kurve erzeugen und die Position des Punktes auf dieser Kurve mittels einen Parameter ("Höhe") steuern.
Auf den ersten Blick funktioniert mein Makro...Paramter und Punkt werden erzeugt. Wenn ich jedoch den Wert des Paramters ändere zieht er mir den Punkt nicht nach! Wo liegt mein Problem????


.....

' Paramter für Höhe erzeugen------------------------------------
Dim Params As Parameters
Set Params = NewPart.Parameters
Dim Hoehe As Dimension    ' evtl Double
Set Hoehe = Params.CreateDimension ("Höhe", "Length", 2500)

'Geometrie des Punktes vordefinieren ---------------------------------------------

Dim Pr1 As HybridShapePointOnCurve
Set Pr1 = Wzk3D.AddNewPointOnCurveWithReferenceFromDistance (Ref1,Ref2, Hoehe.Value, True)

'Geometrisches Set "Limits" deklarieren -------------------------

Dim GS As HybridBody
Set GS = NewPart.HybridBodies.Add
GS.Name = "Limit"


' Geometrie dem geometrischen Set zuweisen ---------------------

GS.AppendHybridShape Pr1

.....

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 30. Nov. 2010 20:16    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 studmija 10 Unities + Antwort hilfreich

Servus,

das Problem liegt daran, dass du keine Formel erstellt hast. Somit kann das ja auch nicht klappen.
Wenn du diesen Punkt händisch erstellst und mit dem Parameter verknüpfst bekommst du ja auch automatisch eine neue Formel im Strukturbaum.
Zum Thema Formel findest du über die SuFu ein paar Beispiele dazu.

PS: Systeminfo ausfüllen

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

Celsius-Mobile H720
i7-3840QM
32 Gb Arbeitsspeicher
256 Gb SSD
Quadro K2000M
Windows 7 Professional (64 Bit)
Catia V5R19 (64 Bit)
SpacePilot Pro

erstellt am: 01. Dez. 2010 08:49    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 studmija 10 Unities + Antwort hilfreich


Create_PointOnCurve.rar

 
Servus,

hatte gerade etwas Zeit.
Anbei ein VBA Makro wie das mit der Formel aussehen könnte.

Edit: Datum und Zweck im Makro geändert

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

[Diese Nachricht wurde von Christian.O am 01. Dez. 2010 editiert.]

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

studmija
Mitglied
Student


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

Beiträge: 49
Registriert: 22.11.2010

System:
Microsoft Windows XP
Professional x64 Edition
Version 2003
Sevice Pack 2
Computer:
Intel(R)Xeon(R)CPU
2,80GHz, 12 GB RAM
Software:
CATIA V5R19

erstellt am: 01. Dez. 2010 10:41    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

Hi Christian,
danke für deine Mühe! Aber irgendwie bin ich immer noch nicht weiter gekommen.
Das ich eine Formel einfügen muss, habe ich mir schon gedacht.
Dein Makro kann ich auch bis auf folgenden Abschnitt nachvollziehen...

...

'***Parameter vom Punkt ansprechen
    Set lgPoint_Abstand = objParameters.Item(objPart.Name & "\Point_on_Curve\Point_on_Curve\Length"

...

An der Stelle fügen wir eine neue Variable als Referenz für die Formel ein. Die Variable wird gleichgesetzt mit unseren zuvor erstellten Parameter...soweit so klar (korrigiere mich wenn ich falsch bin).
Aber ich habe den Ausdruck in der Klammer nicht gecheckt.
Kannst du mir diesen Klammerausdruck noch mal genauer erklären??   also was eigentlich in der Klammer steht und warum???
Weil wenn ich das ganze auf mein Makro übertrage kriege ich Fehlermeldung!
Gruß Micha

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 01. Dez. 2010 11: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 Nur für studmija 10 Unities + Antwort hilfreich

Servus,

in der Klammer steht der gesamte Pfad zum Parameter vom Punkt. Dieser Pfad ist immer in "" zu setzen solange du keine Variablen drinnen hast. Bei meinem Beispiel hab ich objPart.Name deshalb benutzt, weil deine Datei sicherlich anders heißt als deine. Den Parameter siehst du wenn du den Punkt im Strukturbaum aufklappst.
objPart.Name steht für den Dateinamen im Strukturbaum (ganz oben). Das Erste Point_on_Curve steht für das Geometrische Set. Das Zweite Point_on_Curve steht für den Punktname. Die Benennungen ist vielleicht etwas ungeschickt gewählt. Naja. Mit Length kommst du dann zum Wert des Parameters.

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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

studmija
Mitglied
Student


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

Beiträge: 49
Registriert: 22.11.2010

System:
Microsoft Windows XP
Professional x64 Edition
Version 2003
Sevice Pack 2
Computer:
Intel(R)Xeon(R)CPU
2,80GHz, 12 GB RAM
Software:
CATIA V5R19

erstellt am: 01. Dez. 2010 13: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


Strukturbaum.jpg

 
Servus,

danke für die super Erklärung!  Das hab ich jetzt gecheckt!

Aber irgendwie wird meine Formel nicht mit dem "Wert" des Paramters verknüpft!??? 
(SIEHE ANGEHÄNGTES BILD!!!)

mein Makro sieht jetzt so aus:

Ref1 ist die erste Referenz (Kurve) und Ref2 ist der Startpunkt
der zu erzeugende Punkt wird im GS "Limits" abgelegt

...

'*** Paramter für Höhe erzeugen------------------------------------
Dim Params As Parameters
Set Params = NewPart.Parameters
Dim Hoehe As Dimension   
Set Hoehe = Params.CreateDimension ("Höhe", "Length", 2500)

'***Geometrie vordefinieren ---------------------------------------------
Dim Pr1 As HybridShapePointOnCurve
Set Pr1 = Wzk3D.AddNewPointOnCurveWithReferenceFromDistance (Ref1,Ref2, Hoehe.Value, True)
Pr1.Name = "LimitPt1"

'*** Geometrie dem geometrischen Set zuweisen ---------------------
GS.AppendHybridShape Pr1

'***Parameter vom Punkt ansprechen
Set lgHoehe = Params.Item (NewPart.Name & "\Limits\LimitPt1\Length")

'***Formel erstellen
Dim Rels As Relations   
Set Rels = NewPart.Relations

'***Formel zur Verknüpfung mit dem Parameter
Dim FName, FKom, FInhalt As CATBSTR
FName = "Abstand LimitPt1"
FKom = "Zuweisung des Parameters Höhe als Abstand"
FInhalt = "Hoehe"
Set Formel = Rels.CreateFormula (FName, FKom, lgHoehe, FInhalt)

NewPart.Update

...


Wo liegt der Fehler???

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 01. Dez. 2010 14: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 Nur für studmija 10 Unities + Antwort hilfreich

Servus,

dein Problem ist, dass du mit FInhalt = "Hoehe" den Parameter ansprechen willst. Dieser Parameter erstellst du mit

Code:
Set Hoehe = Params.CreateDimension ("Höhe", "Length", 2500)

Das Ansprechen des Parameters geht aber auf den Namen des Parameters wie er im Strukturbaum heißt. Du nennst ihn dann aber Höhe statt Hoehe. Deshalb wird dieser nicht gefunden, weil dieser nicht über deine Deklaration angesprochen wird.

Ich erstell diesen Parameter

Code:
Set lgAbstand = objParameters.CreateDimension("Abstand", "Length", 123)
so. Für meine Formel hab ich dann auch Abstand als Formelinhalt angegben und nicht lgAbstand (hier wieder Deklaration).

Hoffe es ist verständlich rübergekommen.

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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

studmija
Mitglied
Student


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

Beiträge: 49
Registriert: 22.11.2010

System:
Microsoft Windows XP
Professional x64 Edition
Version 2003
Sevice Pack 2
Computer:
Intel(R)Xeon(R)CPU
2,80GHz, 12 GB RAM
Software:
CATIA V5R19

erstellt am: 01. Dez. 2010 15: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

Ob ich jetzt FInhalt = "Hoehe" oder FInhalt = "Höhe" deklariere, das Problem bleibt das selbe!

Liegt der Fehler nicht vielleicht irgendwo an dieser Stelle???

...
Dim Pr1 As HybridShapePointOnCurve
Set Pr1 = Wzk3D.AddNewPointOnCurveWithReferenceFromDistance (Ref1,Ref2, Hoehe.Value, True)

...
Oder hab ich jetzt was falsch verstanden?
Im Endeffekt will ich doch nur eine Variable mit dem Inhalt eines Parameters verknüpfen!!!

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

studmija
Mitglied
Student


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

Beiträge: 49
Registriert: 22.11.2010

System:
Microsoft Windows XP
Professional x64 Edition
Version 2003
Sevice Pack 2
Computer:
Intel(R)Xeon(R)CPU
2,80GHz, 12 GB RAM
Software:
CATIA V5R19

erstellt am: 01. Dez. 2010 15:28    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

Ohhh Pardon! mein Fehler! Ich hatte eine Kleinigkeit übersehen!
Jetzt klappts! 

Also noch mal vielen Dank!

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

erstellt am: 01. Dez. 2010 15:30    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 studmija 10 Unities + Antwort hilfreich

Servus,

wenn ich bei der Formelerstellung beim Schluss "Abstand" durch "lgAbstand" austausche ist die Formel fehlerhaft.
Der Fehler kann bei der Punkterstellung nicht sein, da hier nur der Punkt mit einem Abstand x gleich Parameterwert (Hoehe) erstellt wird. Die Verknüpfung beider Parameter erfolgt eben bei der Formelerstellung.

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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