Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Repeat Points on 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:  Repeat Points on Curve (1420 mal gelesen)
Kay Petri
Mitglied
Konstrukteur Catia V5


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

Beiträge: 24
Registriert: 18.06.2012

Workstation HP 840

erstellt am: 18. Apr. 2013 10: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

Hallo ich nochmal.

Ein erneutes kleines Problem dass aber große Ausmaße hat.

Ich möchte Punkte mit einem bestimmten Abstand auf eine Curve machen und zwar mit Repeat. Also Händisch kann ich ja sagen setzte mir einen Punkt auf die Curve und wiederhole den Xmal mit einem Abstand von X mm. Wie kann ich das in vba umsetzen? Ich bekomme es nur soweit dass er 1 Punkt macht.

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 18. Apr. 2013 10:57    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 Kay Petri 10 Unities + Antwort hilfreich

Servus
Du musst über eine Schleife die weiteren Punkt auch per Makro erstellen.
Händisch läuft intern ja das gleiche ab. AFAIK kann man dies aber nicht über ein Makro auslösen (vielleicht über Startcommand und Sendkeys (WindosAPI), ist bestimmt komplexer als eine Schleife zu erstellen)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

imation1999
Mitglied
dipl.-ing. Maschinenbau


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

Beiträge: 276
Registriert: 02.08.2011

Dell Precision T3500
Intel® Xeon® Quad Core
NVIDIA Quadro® 5000
Win7 x64 Ultimate
CATIA V5 R20 SP2

erstellt am: 18. Apr. 2013 11: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 Kay Petri 10 Unities + Antwort hilfreich

so z.B:

Code:
Language="VBSCRIPT"

Sub CATMain()

Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridBody1.HybridShapes

Dim hybridShapeLinePtDir1 As HybridShape
Set hybridShapeLinePtDir1 = hybridShapes1.Item("Line.1")

Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeLinePtDir1)

Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory

Dim hybridShapePointOnCurve1 As HybridShapePointOnCurve
Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveFromDistance(reference1, 0, False)

hybridShapePointOnCurve1.DistanceType = 1

hybridBody1.AppendHybridShape hybridShapePointOnCurve1

dim Abstand
Abstand = 10

For i=1 to 5

Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapeLinePtDir1)

Dim reference3 As Reference
Set reference3 = part1.CreateReferenceFromObject(hybridShapePointOnCurve1)

Dim hybridShapePointOnCurve2 As HybridShapePointOnCurve

Set hybridShapePointOnCurve2 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference2, reference3, Abstand*i, False)

hybridShapePointOnCurve2.DistanceType = 1

hybridBody1.AppendHybridShape hybridShapePointOnCurve2

next

part1.Update

End Sub


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

Kay Petri
Mitglied
Konstrukteur Catia V5


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

Beiträge: 24
Registriert: 18.06.2012

Workstation HP 840

erstellt am: 18. Apr. 2013 11:23    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

Ui. Super. Ich war schon nah dran. Danke.

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

Kay Petri
Mitglied
Konstrukteur Catia V5


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

Beiträge: 24
Registriert: 18.06.2012

Workstation HP 840

erstellt am: 18. Apr. 2013 15:13    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

jetzt brauch ich nochmal hilfe. ich stehe auf dem Schlauch.

Ich habe 3 selektionen zu machen. mit den selektionen mache ich in einer schleife eine transformation. der ändert meine userselection aber immer in die letzte selektion des scriptes. wie kann ich dem denn sagen er möge doch bitte die ausgewähöten objecte auch behalten und verwenden.

Code:
Set oSelection2 = CATIA.ActiveDocument.Selection
    'oSelection2.Clear
    MsgBox ("Bitte Transform Join auswählen")
    Status2 = oSelection2.SelectElement2(Filter, " Bitte zu transformierendes  Teil selektieren", False) 'transfer element
  
    Set oSelection3 = CATIA.ActiveDocument.Selection
    'oSelection3.Clear
    MsgBox ("Bitte Startpunkt auswählen")
    Status3 = oSelection3.SelectElement2(Filter, " Bitte Startpunkt selektieren", False) 'transferpunkt eins


    Set selSet = CATIA.ActiveDocument.Selection    ' Selektion dem aktiven Geoset zuweisen
    selSet.search "Name=" & SetName.Name & ",all"

    Set selPoint2 = CATIA.ActiveDocument.Selection  'Suche alle punkte im set für transferpunkt zwei
        selPoint2.search "Type=Point*,sel"

    For i = 1 To selPoint2.Count
    Set Element = selPoint2.Item(i).Value
    '----------------------------------Transformation an jedem erkannten punkt

    Dim refJoin As Reference
    Set refJoin = Document1.Part.CreateReferenceFromObject(oSelection2.Item(1).Value) '<--- hier wählt er den ersten Punkt im Geoset aus, obwohl ich im sage es soll oSelection2 sein.


[Diese Nachricht wurde von Kay Petri am 18. Apr. 2013 editiert.]

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 18. Apr. 2013 15:26    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 Kay Petri 10 Unities + Antwort hilfreich

Servus
Es gibt nur eine Selektion in einem Dokument. Wenn du zwischendurch was anderes Selektieren willst musst du dies Selektion zwischenspeichern (zB Collection, Array) siehe hier.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Kay Petri
Mitglied
Konstrukteur Catia V5


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

Beiträge: 24
Registriert: 18.06.2012

Workstation HP 840

erstellt am: 18. Apr. 2013 15: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

Ohje. Vom Regen in die Traufen. Ich bin normal VB Express gewohnt. da sind solche Dinge finde ich einfacher. Da kann ich immer auf namen zugreifen. nur hier in catia ist das alles merkwürdig.

Muss ich dann für jede selection ein array oder eine collection anlegen?

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

Kay Petri
Mitglied
Konstrukteur Catia V5


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

Beiträge: 24
Registriert: 18.06.2012

Workstation HP 840

erstellt am: 19. Apr. 2013 11:08    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

Ok. Ich habe es jetzt fertig. Die Reihenfolge war auch der Trick. Aber Danke für den Hinweis mit dem Array. Das hat geholfen.

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