Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  3D Section automatisch umbenennen

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:  3D Section automatisch umbenennen (747 mal gelesen)
Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 07. Nov. 2016 14:32    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 habe ein Product mit mehreren Parts.
Darin stelle ich alle Parts bis auf das, was ich brauche ins Hide und mache durch das sichtbare Part einen 3D Schnitt - Section.

Ich möchte jetzt diese Section per Macro so bearbeiten, dass unter Name: Section1 der Name des geschnittenen Parts erscheint und möchte den Schnitt mit dem Namen exportieren.

Geht so was?

THX

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: 07. Nov. 2016 14:51    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 Tweety79 10 Unities + Antwort hilfreich

Servus
Und wo hängst du jetzt an deinem Code?
Was klappt schon?


Gruß
Bernd

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

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 07. Nov. 2016 15:30    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

Servus,
ich habe das Macro gerade erst im Kopf und hänge gedanklich am BEfehl: Erstelle 3D Schnitt.
Habe ich bisher nicht gefunden.

Und was noch nicht geht, bzw. hier bekomme ich i mKurzmacro eine Fehlermeldung:

Set productDocument1 = CATIA.ActiveDocument

Set selection1 = productDocument1.Selection

selection1.Search "Name='Section.100',all"

selection1.Name = "XYZ" --> hier kommt die Fehlermeldung.

THX

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: 07. Nov. 2016 15:35    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 Tweety79 10 Unities + Antwort hilfreich

Servus
Dann schau mal in die Doku (V5Automation.chm) nach "Sections". Da sollt stehen wie meine Section anlegt
Dass dein Code nicht funktioniert ist klar: du musst auch das selektierte Objekt ansprechen und nicht die ganze Selektion (es könnten ja verschiedenst Dinge selektiert sein)
Code:
selection1.item2(1).Value.Name = "Bla"
Gruß
Bernd

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

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 09. Nov. 2016 13:43    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

Das ist eigenartig. Gestern ging das Makro ohne Probleme und heute kommt eine Fehlermeldung gerade in der Zeile von dir Bernd:

selection1.item2(1).Value.Name = ".."

Meldung:Laufzeitfehler, Objekt erforderlich: selection1.item2(...)

Ich habe keine Änderungen vorgenommen.

Weißt du was das sein kann?

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: 09. Nov. 2016 13:46    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 Tweety79 10 Unities + Antwort hilfreich

Servus
Wurde was selektiert (oseletion1.count auswerten)?
ggf ist es einfach über GetTechnologicalObject("Sections") auf die Sections zuzugreifen (siehe Doku, dortgibt es auch ein gutes Beispiel)

Gruß
Bernd

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

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 09. Nov. 2016 13: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

Servus,

das ist mein gesamtes Makro:

Sub CATMain()

Set productDocument1 = CATIA.ActiveDocument

myPartNumber1 = productDocument1.Product.Products.Item( 1).Name
Set selection1 = productDocument1.Selection
selection1.Search "Name='Section.1',all"
selection1.item2(1).Value.Name = myPartNumber1

End Sub

Ich möchte einfach nur den Name des ersten Parts im Product abgreifen und meinen Schnitt, der Section.1 heißt so benennen.

Gruß

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: 09. Nov. 2016 14: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 Tweety79 10 Unities + Antwort hilfreich

Servus
Nochmal:
- Wurde was selektiert? (Count der Selektion auswerten)
- Wurde der richtige Name ausgelesen (ggf mit MsgBox prüfen)
- Macht es Sinn ohne Filter auf die Section zugreifen? Was passiert wenn ein Part/Tasche/Verschneidung "Section.1" heißt?
Es ist dein Code, du musst ihn verstehen. Das Forum ist nicht dafür da deinen Code zu schreiben.

Gruß
Bernd

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

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 10. Nov. 2016 10:46    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

Es wird die richtige Section gefunden und auch als einziges.
Es besteht keine Möglichkeit, dass was Anderes gefunden wird, deshalb muss man nicht so in die Granularität einsteigen.
Der Name der Section wird mit der letzten Zeile dennoch nicht geändert, was aber genau so a mTag zuvor funktioniert hat.

Ich bin im vb.NET unterwegs. In welcher Bibliothek befinden sich die Sections? MECMOD ist es nicht, INFITF ist es nicht ProductStruktureLyb ist es nicht..

Ich wollte den Weg gehen eine Variable zu erzeugen Dim myCut As "Bibliothek".Sections

ich habe es versucht mit ProductStructureLyb.RefObj in der Hoffnung dass ich GetTechnologicalObject("Sections") unter RefObj finden würde. Leider nichts.

Gruß

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: 10. Nov. 2016 12:44    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 Tweety79 10 Unities + Antwort hilfreich

Servus
Folgender Code läuft unter CATScript:
Code:
Sub CATMain()

    Dim cSections As Sections
    Set cSections = CATIA.ActiveDocument.Product.GetTechnologicalObject("Sections")

    Dim oSection As Section
    Set oSection = cSections.item(1)

MsgBox oSection.Name
oSection.Name = "BlaBla"

End Sub


Das gehört zur SPAWorkbench. Den genaue Bibliothek kenne ich nicht (bin nicht in .net unterwegs)

Gruß
Bernd

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

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 10. Nov. 2016 13: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


Fehlermeldung.JPG

 
Servus,

ich habe dein Code unverädert laufen lassen und bekomme sofort eine Fehlermeldung schon in der Erstn Zeile Dim cSection ...; s. Anhang.
Das verstehe ich nicht. Kann in meinen Einstellungen etwas geändert worden sein durch ein Update?

Gruß

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: 10. Nov. 2016 13: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 Nur für Tweety79 10 Unities + Antwort hilfreich

Servus
Mein Code ist CATScript.
Für Unterscheide CATScript und CATvbs bitte mal in die Doku/Forensuche/Buch bemühen.

Gruß
Bernd

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

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 10. Nov. 2016 13: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

Jetzt habe ich es so umgeschrieben dass nichts mehr mit Dim ... drin steht und es funktioniert:

Sub CATMain()

    Set oprod = CATIA.ActiveDocument.Product
    Set TheSections = oprod.GetTechnologicalObject("Sections")
    Set mySection = CATIA.ActiveDocument.Product.GetTechnologicalObject("Sections")

    Set oSection = oprod.GetTechnologicalObject("Sections")
    Set oSection = mySection.item(1)

MsgBox oSection.Name
oSection.Name = "BlaBla"

End Sub

Verstehe aber trotzdem nicht, wo der Fehler war ...

Grüße

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

Tweety79
Mitglied
Entwicklung Automotive


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

Beiträge: 269
Registriert: 09.12.2007

WPF, VBA, CATScript, Access

erstellt am: 11. Nov. 2016 19:22    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

Lösung in vb.NET:

Dim mySection As SPATypeLib.Sections

For i = 1 To myProductDoc.Product.Products.Count()

myPartNumber = myProductDoc.Product.Products.Item(i).Name
mySection = myCatiaApp.ActiveDocument.Product.GetTechnologicalObject("Sections")

mySection.Item(i).Name = myPartNumber
Next

End Sub

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