Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Select Part in Product --> Partname Database

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:  Select Part in Product --> Partname Database (873 mal gelesen)
Meridian
Mitglied
CAD / CAE / PDM Administration and Support


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

Beiträge: 81
Registriert: 06.06.2007

erstellt am: 15. Okt. 2015 10: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

Hallo,

ich habe folgendes Macro geschrieben und stoße nun auf ein Problem beim selektieren eines Parts im Product.
Das Macro funktioniert file based aber nicht in Verbindung mit einer Datenbank (3dcom).

Ich habe herausgefunden, dass nicht wie in filebased der Dateiname z.B Teil1.CATPart verwendet wird, sondern der Datenbankname des Teils --> Set partDocument1 = documents1.Item("4142AD66FBC806AD4142AD66FBC806AESPACE  DOCV5            DBVVALI7").

Die Frage ist wie kann ich den Datenbankname vorher abfragen?

Ähnliche Frage gabe es schon, konnte aber nichts damit anfangen:

http://ww3.cad.de/foren/ubb/Forum137/HTML/003007.shtml#000001


'**********Selection User Part für Punkte import**************************************************'
Set selection = CATIA.ActiveDocument.Selection

Dim filter(0)
filter(0)="Part"

Status=selection.SelectElement2(filter,"Select the Part you want to import the points --> Cancel with ESC!", false)

if Status="Normal" then

      If (CATIA.GetWorkbenchId <> "PrtCfg") Then
           
            Call CATIA.ActiveDocument.Activate
            Call CATIA.StartWorkbench("PrtCfg")
               
      End If

     
'Hier findet die Abfrage des Dateinames statt. Gibt es auch die Möglichkeit den Datenbankname des Teils abzufragen?
      Word1 = (selection.Item(1).Value.Name) & ".CATPart"

      Dim documents1 As Documents
      Set documents1 = CATIA.Documents

      Dim partDocument1 As Document
      Set partDocument1 = documents1.Item(Word1)

      Dim part1 As Part
      Set part1 = partDocument1.Part

      Set factory = part1.HybridShapeFactory

    'Geometrische Set anlegen'
      Set geometrische_sets=part1.hybridbodies
      Set geometrisches_set = geometrische_sets.add
      geometrisches_set.name = "Bending_Points"

      else

      MsgBox " Macro is terminated"
      selection.Clear

      Exit Sub

End If
'Ende Bereich Selection'

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: 15. Okt. 2015 10: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 Nur für Meridian 10 Unities + Antwort hilfreich

Servus
Wenn du das Part bzw die Instance schon selektiert hast solltest du direkt auf das Dokument kommen (Watchfenster).
(zB über (ungetestet): selection.Item(1).Value.parent)

Gruß
Bernd

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

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

Meridian
Mitglied
CAD / CAE / PDM Administration and Support


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

Beiträge: 81
Registriert: 06.06.2007

erstellt am: 15. Okt. 2015 10:37    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 Bernd,

leider hat es nicht funktioniert:

'Word1 = (selection.Item(1).Value.Name) & ".CATPart"
     
Word1 = (selection.Item(1).Value.Parent)
     
MsgBox Word1

      Dim documents1 As Documents
      Set documents1 = CATIA.Documents

      Dim partDocument1 As Document
      Set partDocument1 = documents1.Item(Word1)

Das Ergebnis der MsgBox ist leer.

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: 15. Okt. 2015 10:42    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 Meridian 10 Unities + Antwort hilfreich

Servus
Geht doch auch direkt ohne den Namen auszulesen/verwenden:
Code:
Set PartDocument = selection.Item(1).Value.Parent
Gruß
Bernd

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

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

Meridian
Mitglied
CAD / CAE / PDM Administration and Support


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

Beiträge: 81
Registriert: 06.06.2007

erstellt am: 15. Okt. 2015 10:56    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 Bernd,

die Lösung war erfolgreich. Vielen Dank!

Gruß Jens

Wen es interessiert, anbei die Lösung:

'**********Selection User Part für Punkte import**************************************************'
Set selection = CATIA.ActiveDocument.Selection

Dim filter(0)
filter(0)="Part"

Status=selection.SelectElement2(filter,"Select the Part you want to import the points --> Cancel with ESC!", false)

if Status="Normal" then

      If (CATIA.GetWorkbenchId <> "PrtCfg") Then
           
            Call CATIA.ActiveDocument.Activate
            Call CATIA.StartWorkbench("PrtCfg")
               
      End If

      Dim partDocument1 As Document
      Set partDocument1 = selection.Item(1).Value.Parent

      Dim part1 As Part
      Set part1 = partDocument1.Part

      Set factory = part1.HybridShapeFactory

    'Geometrische Set anlegen'
      Set geometrische_sets=part1.hybridbodies
      Set geometrisches_set = geometrische_sets.add
      geometrisches_set.name = "Bending_Points"

      else

      MsgBox " Macro is terminated"
      selection.Clear

      Exit Sub

End If
'Ende Bereich Selection'

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