Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Startpunkt von geschlossener Kurve

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:  Startpunkt von geschlossener Kurve (2279 mal gelesen)
Bertel
Mitglied



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

Beiträge: 300
Registriert: 03.04.2002

CATIA V5 R26SP3HF21
Win10
Lenovo P52
Intel Xenon 16GB Ram
NVIDIA Quadro P2000
EUKLID V14
ViCADo 2015

erstellt am: 08. Dez. 2010 14:47    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,

möchte einen Punkten auf eine Kurve(Randkurve von Fläche) erzeugen.
Das funktioniert bei einer offenen Kurve z.B. mit:
AddNewPointOnCurveFromPercent(Kurve, 0.5,True)

Nun ist die Kurve aber geschlossen also brauche ich:
AddNewPointOnCurveWithReferenceFromPercent(Kurve, Refpt,0.2,True)

hier wieß ich leider nicht, wie ich einen Startpunkt ermitteln soll!

Andere Möglichkeit: aus der geschlossenen Kurve eine offene machen, indem man da ein Stückchen wegschneidet - nur, wie geht das?

Kann mir jemand einen Tip oder ein Beispiel geben?
Danke.

Gruß
Bertel

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

Starbirth
Mitglied
Konstrukteur


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

Beiträge: 119
Registriert: 22.10.2009

erstellt am: 08. Dez. 2010 16:02    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 Bertel 10 Unities + Antwort hilfreich

Klingt für mich fast so als wäre dir egal wo der erzeugte Punkt liegt, hauptsache auf der Kurve.

In dem Fall nimm einen Extrempunkt, den kannst du auch auf geschlossenen Kurven erzeugen.
Sollte es doch nicht egal sein, erzeuge einen Extrempunkt und nimm diesen als Referenzpunkt für die bereits erwähnte Funktion.

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

Bertel
Mitglied



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

Beiträge: 300
Registriert: 03.04.2002

CATIA V5 R26SP3HF21
Win10
Lenovo P52
Intel Xenon 16GB Ram
NVIDIA Quadro P2000
EUKLID V14
ViCADo 2015

erstellt am: 08. Dez. 2010 16:47    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 Starbirth,

danke für die Info.

Das mit dem Extrempunkt klingt vielversprechend - nur, wie geht denn das? Die Doku schweigt sich darüber leider aus.
"HybridShapeExtremum" habe ich gefunden - weiß aber nicht, wie ich es meinem CATScript sagen soll.
Hast Du vielleicht ein Beispiel?

Gruß
Bertel

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

Bertel
Mitglied



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

Beiträge: 300
Registriert: 03.04.2002

CATIA V5 R26SP3HF21
Win10
Lenovo P52
Intel Xenon 16GB Ram
NVIDIA Quadro P2000
EUKLID V14
ViCADo 2015

erstellt am: 08. Dez. 2010 17:06    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 Starbirth,

hab hier im Forum was gefunden - das funktioniert.

Dim Ref1 As Reference
Set Ref1 = Bauteil.CreateReferenceFromObject(HShapeEdge1)

Dim Richtung As HybridShapeDirection
Set Richtung = Wzk3d.AddNewDirectionByCoord(0,-100,-100)

Dim iPoint As AnyObject
Set iPoint = Wzk3d.AddNewExtremum(Ref1,Richtung,1)

Nochmal Danke für den Tip.

Gruß
Bertel

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: 08. Dez. 2010 17: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 Nur für Bertel 10 Unities + Antwort hilfreich

CATIA macht intern übrigens auch einen Extrempunkt.

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

Starbirth
Mitglied
Konstrukteur


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

Beiträge: 119
Registriert: 22.10.2009

erstellt am: 09. Dez. 2010 08:33    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 Bertel 10 Unities + Antwort hilfreich

Den Code hast du ja schon, aber mal so als kleiner Tipp fürs nächste mal:
Ich hab den Extrempunkt damals einfach über den Makrorecorder aufgezeichnet und wusste somit recht schnell wie alles auszusehen hat 
Funktioniert bei recht vielen, leider aber nicht allen, Funktionen. Und wenn das nicht läuft kann man immer noch die Doku wälzen.

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. Dez. 2010 09: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 Bertel 10 Unities + Antwort hilfreich

Ich glaube im VBA kann man sogar einen Punkt auf einer Kurve mit Referenz-Punkt auf die Kurve erzeugen und erhält dann den entsprechenden 0-Punkt.

also sprich .AddNewPointOnCurve(Kurve, Kuve,0.0) könnte auch funktionieren.

Dann braucht man sich keine Gedanken um den Vektor für das Extremum machen.

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

ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 20. Apr. 2011 10:47    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 Bertel 10 Unities + Antwort hilfreich

Hallo zusammen,
Ich versuche auch einen Extrempunkt zu erstellen, auf einer Kurve, die zuvor vom Benutzer ausgewählt werden kann. Ihc denke ich habe die Inputs richtig definiert, bekomme aber trotzdem einen Felher bei der Vorletzten Zeile meines Codes:

Code:
Sub CATMain()

Dim Document As Document
Set Document = CATIA.ActiveDocument

Dim MyPart As Part
Set MyPart = Document.Part


'Auswahl definieren
Dim Selection As Object
Set Selection = CATIA.ActiveDocument.Selection
Selection.Clear

'Filter definieren

Dim Filter(0)
Filter(0) = "Edge"

' Auswahl vornehmen lassen
Dim E
E = Selection.SelectElement2(Filter, "Wählen Sie eine Kurve aus", False)


'NAmen der Auswahl zuweisen

Dim k As String
k = Selection.Item(1).Value.Name

' Referenz von der Auswahl erzeugen

Dim ref1 As Reference
Set ref1 = MyPart.CreateReferenceFromName(k)


'--------------------------------------------------
' Extremum erzeugen
'--------------------------------------------------

Dim HBs As HybridBodies
Set HBs = MyPart.HybridBodies

Dim HB As HybridBody
Set HB = HBs.Add
HB.Name = "Extrempunkte"

Dim HSFactory As HybridShapeFactory
Set HSFactory = MyPart.HybridShapeFactory

Dim Richtung As HybridShapeDirection
Set Richtung = HSFactory.AddNewDirectionByCoord(0, 0, 1)

Dim Point As HybridShapeExtremum
Set Point = HSFactory.AddNewExtremum(ref1, Richtung, 1)

HB.AppendHybridShape Point

End Sub



Hat jemand eine Idee warum er mir den Punkt nicht erstellt?

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

ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 20. Apr. 2011 14:11    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 Bertel 10 Unities + Antwort hilfreich

Ich habe jetzt heraus gefunden, dass es funktioniert, wenn ich bei der Funktion AddNewExtremum ein Objekt statt einer Referenz einfüge. Aber warum? In der Doku steht, dass eine Referenz verlangt wird, und ich habe ein zweites Makro zum Test erstellt, bei dem funktioniert es auch mit einer Referenz...

Meine zweite Frage ist:
Ich habe als Filter "Edge" angegeben, dadurch kann ich alle Kanten und Linien selektieren genau wie ich es möchte.
Wenn ich eine Kante einer Fläche auswähle funktioniert es einwandfrei. Wenn ich aber einen Extract einer solchen Kante auswähle bekomme ich eine Fehlermeldung, obwohl der Typ des Extracts mir ebenfalls als Edge angezeigt wird.

Weiß da vll jemand Rat?

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: 26. Apr. 2011 15: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 Nur für Bertel 10 Unities + Antwort hilfreich

Ich vermute Deine Referenz ist schon defekt. :-)

Manchmal ist die Doku aber auch einfach nur Falsch.

Code:

MyPart.CreateReferenceFromName(k)

ist unnötig, da Du

Code:

Selection.Item(1).Reference

machen kannst.

Zu zweitens kann ich nur sagen: Du schreibst einfach viel zu allgemein. Wenn Du mehr Informationen hast, dann gib sie uns doch, wenn wir helfen sollen. Sprich: Was für eine Fehlermeldung?

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

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