Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Nummern von neuen Elementen

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation: verbesserte Effizienz durch optimierte Bedienoberfläche, eine Pressemitteilung
Autor Thema:  Nummern von neuen Elementen (753 mal gelesen)
QBert
Mitglied
Senior Engineer

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

Beiträge: 5
Registriert: 26.11.2002

erstellt am: 20. Mai. 2009 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

Hallo zusammen,

wenn ich im GeoSet ein neues Element generiere, bekommt es eine automatisch generierte Nummer zugewiesen (z.B. "Linie.4").

Code:
Dim hybridShapeLinePtPt1 As HybridShape
Set hybridShapeLinePtPt1 = hybridShapes1.Item("Linie.1")
selection1.Add hybridShapeLinePtPt1
selection1.Copy
selection1.PasteSpecial "CATPrtResultWithOutLink"

Frage:
Kann ich auf die Vergabe der Nummer irgendwie einwirken? Oder wie bekomme ich raus, wie der Name/Nummer des gerade generierten Elements lautet? Den Zähler brauche ich dann für einen Schleifenindex.

Danke!

Und bitte nicht meinen anderen Thread vergessen      Messungen und Binormalen am 3D-Spline

------------------
_________________________
Gruß aus der Krise
QBert

Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen.
Albert Einstein (der wohl auch schon mit Catia arbeiten durfte...)

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

DanielFr.
Ehrenmitglied V.I.P. h.c.
Manager


Sehen Sie sich das Profil von DanielFr. 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: 20. Mai. 2009 16:55    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 QBert 10 Unities + Antwort hilfreich

Hallo,

auf die Vergabe dieser Nummer kannst du nicht direkt einwirken. Es gibt mehrere Möglichkeiten je nachdem was du machen willst. Da wäre z.B. das du dir erst das Feature (z.B. die Linie) erstellt und sie anschließend umbenennst. Hier kannst du ja dann einen Zähler einfügen. Eine weitere Möglichkeit wäre das Geo-Set erst nach allen Linien zu durchsuchen, dann die höschste Nummer (am Ende) auszulesen und dann den Zähler ab dort weiter laufen zu lassen.

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

Die KATJA ist halt doch nur ne zickige Französin

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

QBert
Mitglied
Senior Engineer

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

Beiträge: 5
Registriert: 26.11.2002

erstellt am: 20. Mai. 2009 20: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

Hallo und vielen Dank für den ersten Tip!

Ich werde noch wahnsinnig. Der Versuch einer Lösung bewirkt unmittelbar eine ganze Kaskade neuer Fragen.

Die über

Code:
selection1.PasteSpecial "CATPrtResultWithOutLink"
frisch erstellte Linie hat ja "irgendeine" Nummer. Abhängig von der Historie mag es sein, dass die letzte im Strukturbaum existierende Linie z.B. "Linie.6" ist. Wenn aber weitere Linien zwischendurch gelöscht wurden, erhält die neue Linie den Namen "Linie.5920" oder so. Dann müßte meine Schleife bei 5921 beginnen, obwohl das eine Riesenlücke in der Numerierung klafft. 

Für das Finden der letzten Liniennummer reichen meine bescheidenen Kenntnisse offensichtlich nicht aus. Und ich sitze noch im Büro und gleich fängt Fussball an. 
Über

Code:
selection1.Search ".Linie;Alle"
Dim NumOfLines As Long
NumOfLines = selection1.Count
krieg' ich zwar die Anzahl der vorhandenen Linien im CATIA.ActiveDocument.Selection, aber wie komme ich denn nun weiter an die Nummer dieser letzten selektierten Linie?

Kann sich noch jemand erbarmen? Danke!

------------------
_________________________
Gruß aus der Krise
QBert

Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen.
Albert Einstein (der wohl auch schon mit Catia arbeiten durfte...)

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

QBert
Mitglied
Senior Engineer

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

Beiträge: 5
Registriert: 26.11.2002

Win10 x64
Catia V5R30SP02
Konfigurationen: HD2 MD2
Add-On's: DSE QSR

erstellt am: 20. Mai. 2009 20:25    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

Hmm, die Sequenz
Code:
selection1.Add hybridShapeLinePtPt1
selection1.Copy
selection1.PasteSpecial "CATPrtResultWithOutLink"
Dim NewItem As AnyObject
Set NewItem = selection1.Item(1).Value


liefert mir zumindest den Namen der zuletzt generierten Linie. Wie ich daraus die .## Nummer auslese - keine Ahnung, darum kümmere ich mich dann am Montag :-)

Bis dahin und schönen Brückentag!

------------------
_________________________
Gruß aus der Krise
QBert

Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen.
Albert Einstein (der wohl auch schon mit Catia arbeiten durfte...)

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 20. Mai. 2009 20:27    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 QBert 10 Unities + Antwort hilfreich

Hallo QBert,

ist zwar keine schöne Lösung, hat mir aber schon einige Male geholfen.
Die Name des zuletzt eingefügten Objektes kannst du ausfinden, wenn du in der Collection das letzte Objekt suchst.
Z.B.: du kopierst ein Punkt und fügst es in die GeoSet mit der Name ZielGeoSet ein. Dazu musstest du ja den GeoSet vorher schon zu eine Selection hinzufügen, also du hast den Objekt noch.
Dieses Objekt hat ein Collection Names HybridShapes, dieses Collection eine Eigenschaft Count. Der letzte Objekt nach dem Einfügen ist also:  ZielGeoSet.HybridShapes.Item(ZielGeoSet.HybridShapes.Count). Wenn du unbedingt die Name willst, kannst du es hier abfragen, ich würde dir aber raten, die Namen nur als letze Möglichkeit, bzw. als Schnittstelle verwenden. Innerhalb der Makros gibt es ja die Objekte und auf alles was erzeugt wird, kann man später noch als der Objekt zugreifen.

Gruß,
Zoltan

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)2025 CAD.de | Impressum | Datenschutz