Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Punkt an geschlossene Curve

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:  Punkt an geschlossene Curve (1000 mal gelesen)
Sylas
Mitglied



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

Beiträge: 322
Registriert: 19.11.2012

Dell Precision T3500
Intel Xeon W3550 @ 3,07 GHz
12 GB RAM
CATIA V5 R28

erstellt am: 28. Mai. 2018 15:00    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
Ich bin gerade bei ein Makro, welsches mehrere Punkte an geschlossene Curve Generierst.
Einfache Code:
Code:

Sub xStart()
Dim oCurve As HybridShapeCurveExplicit
Dim oRef As Reference
Dim oPoint As HybridShapePointOnCurve
Dim oHSF As HybridShapeFactory
Dim oSel As Selection
Set oSel = CATIA.ActiveDocument.Selection
Dim sInput As Double
Dim sStatus As String
ReDim strArray(0)
strArray(0) = "HybridShapeCurveExplicit"
Dim oPart As Part
Dim oHybridbody As HybridBody
Dim dSel
Dim lStep As Double


Set oPart = CATIA.ActiveDocument.Part
Set oHSF = oPart.HybridShapeFactory
Set dSel = oSel
sInput = InputBox("Wie viel Punkte möchtest du?", "Punkt_Anzahl", 100)
sStatus = dSel.SelectElement3(strArray, "Nimmt ein Curve", False, CATMultiSelTriggWhenUserValidatesSelection, False)
oPart.HybridBodies.Add
oPart.HybridBodies.Item(oPart.HybridBodies.Count).Name = "Result"
Set oHybridbody = oPart.HybridBodies.Item("Result")
lStep = 1 / sInput
For i = 1 To oSel.Count
    Set oCurve = dSel.Item(i).Value
    Set oRef = dSel.Item(i).Value
    A = 1
    Do While lStep <= 1
        Set oPoint = oHSF.AddNewPointOnCurveFromPercent(oRef, lStep, True)
        oHybridbody.AppendHybridShape oPoint
        oPoint.Name = "Point." & A
        lStep = lStep + lStep
        A = A + 1
    Loop
Next
oPart.Update
End Sub


Aber Catia sagt mir ein Fehler schon bei erstem Punkt:

Kann mir jemand sagen, was habe ich falsch gemacht?

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 28. Mai. 2018 15:04    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 Sylas 10 Unities + Antwort hilfreich

Hallo Sylas,

die Fehlermaldung sagt, das es keine geschlossene Kurve sein darf.

Funktioniert dein Vorhaben wenn du es handisch machst?

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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

Sylas
Mitglied



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

Beiträge: 322
Registriert: 19.11.2012

Dell Precision T3500
Intel Xeon W3550 @ 3,07 GHz
12 GB RAM
CATIA V5 R28

erstellt am: 28. Mai. 2018 15:50    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

Gruss dich
Ja es funktioniert. Catia nimmt ein Vertex als Referenz automatisch. Welches Vertex ist das, oder wohin Catia weisst, welches Punkt zu nehmen ist ein Mystery fuer mich 😉

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

89marbru
Mitglied



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

Beiträge: 25
Registriert: 13.06.2016

Catia V5R21
Windows 7
catvba

erstellt am: 28. Mai. 2018 16: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 Sylas 10 Unities + Antwort hilfreich

Hi,

vllt klappt folgender Workaround für dich.

Du kannst mittels Makro einen neuen Punkt im globalen Koordinatensystem erstellen z.B. x=0 y=0 und z=0

Jetzt kannst du einen Punkt auf die geschlossene Linie setzen, wenn du den erstellen Punkt (0/0/0) oben als Referenz angibst und davon dann das Makro aufbaust

Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference1, reference2, 22.786, False)

Wenn du einen Punkt auf der Linie hast, kannst von dem aus die weiteren mit deinem Befehl von oben erstellen.

[Diese Nachricht wurde von 89marbru am 28. Mai. 2018 editiert.]

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

Sylas
Mitglied



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

Beiträge: 322
Registriert: 19.11.2012

Dell Precision T3500
Intel Xeon W3550 @ 3,07 GHz
12 GB RAM
CATIA V5 R28

erstellt am: 28. Mai. 2018 20:53    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

Zitat:
Original erstellt von 89marbru:
Hi,

vllt klappt folgender Workaround für dich.

Du kannst mittels Makro einen neuen Punkt im globalen Koordinatensystem erstellen z.B. x=0 y=0 und z=0

Jetzt kannst du einen Punkt auf die geschlossene Linie setzen, wenn du den erstellen Punkt (0/0/0) oben als Referenz angibst und davon dann das Makro aufbaust

Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference1, reference2, 22.786, False)

Wenn du einen Punkt auf der Linie hast, kannst von dem aus die weiteren mit deinem Befehl von oben erstellen.

[Diese Nachricht wurde von 89marbru am 28. Mai. 2018 editiert.]


Das kann klappen, aber ich habe Angst, das den Referenzpunkt muss auch auf der Curve liegen... Ich versuche das Morgen und melde ich zuruck... Sorry fuer mein schlechtes Deitsch 😉

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

Sylas
Mitglied



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

Beiträge: 322
Registriert: 19.11.2012

Dell Precision T3500
Intel Xeon W3550 @ 3,07 GHz
12 GB RAM
CATIA V5 R28

erstellt am: 29. Mai. 2018 09:38    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

Nur zur Info:
Ich habe das so gelöst, das ich habe mit Selektion jedes Edge vom geschlossene Curve gefunden, und das als Reference genuztz. Dann mit einfache Loop mit jede 10% Edge-Länge ein Punkt erstellt.

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