Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  in einem ArrayPunkt Namen zuweisen

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:  in einem ArrayPunkt Namen zuweisen (423 mal gelesen)
miezeka
Mitglied
Ingenieurin


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

Beiträge: 44
Registriert: 30.09.2008

CATIA V5R16SP5
Catia V5 R18<P>Win XP Prof

erstellt am: 30. Okt. 2008 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

Hallo
ich möchte beim erzeugen meiner Punkte, den Punkten einen bestimmten Namen zuweisen.

'Punkte erzeugen
Dim i As Integer
Dim AbstandPunkte As Double

Dim RefHGProj As Reference
Set RefHGProj = part1.CreateReferenceFromObject(ProjectHG)

Dim PunktHG As HybridShapePointOnCurve
AnzahlPunkte = 14

For i = 0 To AnzahlPunkte Step 1
AbstandPunkte = i / AnzahlPunkte

Set PunktHG = Wzk3DH.AddNewPointOnCurveFromPercent(RefHGProj, AbstandPunkte, True)

PunktHG.Name = "PunktHG."(i+1)  <--Hier sollte bei PunktHG.1 beginnen und bis PunkgHG.15 enden, aber wie??

GeoSet_PunkteHG.AppendHybridShape PunktHG


part1.Update
Next

Danke für jede Hilfe

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

denyo_1
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 30. Okt. 2008 16:20    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 miezeka 10 Unities + Antwort hilfreich

Hallo Katze,

is ganz einfach. 

folgende Codezeile anpassen und schon geht´s:

Code:
PunktHG.Name = "PunktHG." & i + 1

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

miezeka
Mitglied
Ingenieurin


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

Beiträge: 44
Registriert: 30.09.2008

CATIA V5R16SP5
Catia V5 R18<P>Win XP Prof

erstellt am: 30. Okt. 2008 16:39    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 Daniel
habe hier noch so einen lustigen Fehler

Da ich die Arrays als Schuhkartons sehe                 
mit allen möglichen Arten von Schuhen möcht eich mal wissen wo hier der Fehler liegt?!?

'Punkte erzeugen
Dim i As Integer
Dim AbstandPunkte As Double

Dim RefVGProj As Reference
Set RefVGProj = part1.CreateReferenceFromObject(ProjectVG)

Dim PunktVG As HybridShapePointOnCurve
AnzahlPunkte = 14

For i = 0 To AnzahlPunkte Step 1
    AbstandPunkte = i / AnzahlPunkte
    Set PunktVG = Wzk3DH.AddNewPointOnCurveFromPercent(RefVGProj, AbstandPunkte, False)
    PunktVG.Name = "PunktVG" & i + 1
    GeoSet_PunkteVG.AppendHybridShape PunktVG
    part1.Update
Next

'Geo Set Punkt PunkteHG erzeugen

Dim GeoSet_PunkteHG As HybridBody
Set GeoSet_PunkteHG = HB4.Add()
GeoSet_PunkteHG.Name = "Referenzpunkte_fuer_HG"


'Punkte erzeugen

Dim RefHGProj As Reference
Set RefHGProj = part1.CreateReferenceFromObject(ProjectHG)

Dim PunktHG As HybridShapePointOnCurve
AnzahlPunkte = 14

For i = 0 To AnzahlPunkte Step 1
    AbstandPunkte = i / AnzahlPunkte
    Set PunktHG = Wzk3DH.AddNewPointOnCurveFromPercent(RefHGProj, AbstandPunkte, True)
    PunktHG.Name = "PunktHG." & i + 1
    GeoSet_PunkteHG.AppendHybridShape PunktHG
    part1.Update
Next

'---Geo Set TOELPunkte erzeugen---

Dim GeoSet_PunkteTOEL As HybridBody
Set GeoSet_PunkteTOEL = HB4.Add()
GeoSet_PunkteTOEL.Name = "Referenzpunkte_TOEL"


'---MittelPunkte erzeugen---
Dim Ref_PunkteVG As Reference
Dim Ref_PunkteHG As Reference
Dim PunkteT As HybridShapePointBetween

For i = 0 To AnzahlPunkte Step 1
-->Fehler ab hier    Set Ref_PunkteVG = part1.CreateReferenceFromItem("PunktVG" & i + 1)
                    Set Ref_PunkteHG = part1.CreateReferenceFromItem("PunktVG" & i + 1)
                      Set PunkteT = Wzk3DH.AddNewPointBetween(Ref_PunkteVG, Ref_PunkteHG, 0.5, 1)
                      GeoSet_PunkteTOEL.AppendHybridShape PunkteT
                    PunkteT.Name = "PunktTOEL." & i + 1
                      part1.Update
Next

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



CAD Administrator Bereich IT (m/w/d)

Die Liebherr-Components Biberach GmbH entwickelt und produziert hochqualitative, leistungsfähige Komponenten wie Großwälzlager, Schwenktriebe, Getriebe sowie Seilwinden. Mit einer hohen Fertigungstiefe und fundiertem Anwendungs-Know-how liefert sie die Komponenten sowohl als Serie, als auch passgenau für kundenspezifische Projekte. Die Produkte kommen nicht nur in den Anwendungen der Firmengruppe Liebherr, sondern auch in Maschinen und Anlagen externer Kundschaft zum Einsatz....

Anzeige ansehenAnwendungsadministration
denyo_1
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 30. Okt. 2008 18: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 miezeka 10 Unities + Antwort hilfreich

Hy gestiefelter Kater  ,

ich hab dein Makro mal kurz ausgebessert. So funktionierts es jetzt wie du es haben willst. ABER: das sind doch keine Array´s sondern nur kleine Schleifen. Du könntest es aber auch mit Array´s machen das wäre auch eine schöne Sache. Die Punkte dazu gleich in den zwei Schleifen in denen die Punkte erstellt werden in die Array´s mit aufnehmen. Dann bekommst du ein Array mit 15 "Punktobjekten" drinnen die du wiederrum über die Zahlen ansprechen kannst. So jetzt hier mal der Code mit 3 For-next Schleifen

Code:

Set partDocument1 = CATIA.ActiveDocument
Set part1 = partDocument1.Part
Set hybridBodies1 = part1.HybridBodies
Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")
Set hybridShapes1 = hybridBody1.HybridShapes
Set hybridShapeLinePtDir1 = hybridShapes1.Item("Line.1")
Set hybridBody2 = hybridBodies1.Item("Geometrical Set.2")
Set hybridShapes2 = hybridBody2.HybridShapes
Set hybridShapeFactory1 = part1.HybridShapeFactory

'Punkte erzeugen
Set ProjectVG = hybridShapes1.Item("Line.2")
Dim RefVGProj As Reference
Set RefVGProj = part1.CreateReferenceFromObject(ProjectVG)

Dim PunktVG As HybridShapePointOnCurve
AnzahlPunkte = 14

For i = 0 To AnzahlPunkte Step 1
    AbstandPunkte = i / AnzahlPunkte
    Set PunktVG = hybridShapeFactory1.AddNewPointOnCurveFromPercent(RefVGProj, AbstandPunkte, False)
    PunktVG.Name = "PunktVG" & i + 1
    hybridBody2.AppendHybridShape PunktVG
    part1.Update
Next

'Geo Set Punkt PunkteHG erzeugen

Dim GeoSet_PunkteHG As HybridBody
Set GeoSet_PunkteHG = hybridBodies1.Add()
GeoSet_PunkteHG.Name = "Referenzpunkte_fuer_HG"
Set hybridShapes_PunkteHG = GeoSet_PunkteHG.HybridShapes


'Punkte erzeugen
Set ProjectHG = hybridShapes1.Item("Line.1")
Set RefHGProj = part1.CreateReferenceFromObject(ProjectHG)

AnzahlPunkte = 14

For i = 0 To AnzahlPunkte Step 1
    AbstandPunkte = i / AnzahlPunkte
    Set PunktHG = hybridShapeFactory1.AddNewPointOnCurveFromPercent(RefHGProj, AbstandPunkte, True)
    PunktHG.Name = "PunktHG." & i + 1
    GeoSet_PunkteHG.AppendHybridShape PunktHG
    part1.Update
Next

'---Geo Set TOELPunkte erzeugen---

Dim GeoSet_PunkteTOEL As HybridBody
Set GeoSet_PunkteTOEL = hybridBodies1.Add()
GeoSet_PunkteTOEL.Name = "Referenzpunkte_TOEL"


'---MittelPunkte erzeugen---
'Dim Ref_PunkteVG As Reference
'Dim Ref_PunkteHG As Reference
Dim PunkteT As HybridShapePointBetween
Dim aktiPointVG
Dim aktiPointHG


For i = 0 To AnzahlPunkte Step 1
    Set aktiPointVG = hybridShapes2.Item("PunktVG" & i + 1)
    Set aktiPointHG = hybridShapes_PunkteHG.Item("PunktHG." & i + 1)
    Set Ref_PunkteVG = part1.CreateReferenceFromObject(aktiPointVG)
    Set Ref_PunkteHG = part1.CreateReferenceFromObject(aktiPointHG)
    Set PunkteT = hybridShapeFactory1.AddNewPointBetween(Ref_PunkteVG, Ref_PunkteHG, 0.5, 1)
    GeoSet_PunkteTOEL.AppendHybridShape PunkteT
    PunkteT.Name = "PunktTOEL." & i + 1
    part1.Update
Next


SORRY das du den Code immer wieder anpassen musst, aber die Standartvariablen werden bei mir immer gleich umbenannt.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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