Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Selection-Methode highlightet nicht das gesuchte Element

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:  Selection-Methode highlightet nicht das gesuchte Element (693 mal gelesen)
Antelito
Mitglied



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

Beiträge: 88
Registriert: 27.11.2013

CATIA R24
WIN 10 x64

erstellt am: 23. Mai. 2016 09:18    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,

aus irgend einem Grund wird bei der Suche nach einem Element über die Methode

Code:

Suchstring = "Name='" & Punktname & "',all"
selection1.Search Suchstring

das Element zwar gefunden, aber nicht markiert (gehighlightet oder wie auch immer man das nennt   )

Vor wenigen Wochen hat das noch funktioniert, da bin ich mir ganz sicher! Ist das eine Einstellungssache???

Vielleicht noch erwähnentswert:

ich greife auf CATIA über MS Access zu. Insgesamt sieht mein CODE folgendermaßen aus

Code:

Public Sub Test()

Const COUNT = 3
Dim CATIA As Object
Dim docDocuments
Dim i As Integer
Dim IDFP1 As Long, IDFP2 As Long, IDFP3 As Long, IDFP4 As Long, IDPunkt As Long
Dim Antwort As Integer
Dim FP1Tn As String, FP2Tn As String, FP3Tn As String, BezFP1 As String, BezFP2 As String, BezFP3 As String
Dim Punktname As String
Dim GeoDatei As String
Dim Suchstring As String

Dim Geo1 As String
Dim Geo2 As String
Dim prodWurzel As Product
Dim prodProducts As Object 'As Products
Dim arrayOfVariantOfBSTR1()
ReDim arrayOfVariantOfBSTR1(COUNT)
Dim prodDoc As ProductDocument
Set CATIA = CreateObject("catia.application")

Set prodDoc = CATIA.ActiveDocument

Dim dbs As Database
Dim rst As Recordset

Set dbs = CurrentDb()
Dim jey As Integer

Dim crt As ChartObject
Dim pApp As Object
Dim pres As Object
Dim sld As Object
Dim shp As Object
Dim sFile As String

Set pApp = CreateObject("PowerPoint.Application")
sFile = "C:\Desktop\PowerP.pptx"
Set pres = pApp.Presentations.Open(sFile, , , msoFalse)

'Erster Punkt +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Set rst = dbs.OpenRecordset("SELECT NodeBez, PPPunkt_Teil1_TeilNr, PPPunkt_Teil2_TeilNr, PPPunkt_Teil3_TeilNr FROM tblStruktur WHERE NodeId = 2999570;", dbOpenDynaset, dbSeeChanges)

BezFP1 = Replace(rst!PPPunkt_Teil1_TeilNr, "_", ".")
BezFP2 = Replace(rst!PPPunkt_Teil2_TeilNr, "_", ".")
BezFP3 = Replace(rst!PPPunkt_Teil3_TeilNr, "_", ".")

Punktname = "FI_" & rst!NodeBez & ".2999570"

Set rst = dbs.OpenRecordset("SELECT GEO_GeometrieDatei, GEO_TeilNummer, NodeBez FROM tblStruktur WHERE GEO_TeilNummer = '" & BezFP2 & "' AND GEO_GeometrieDatei LIKE '%" & Replace(BezFP2, ".", "") & "%';", dbOpenDynaset, dbSeeChanges)

Set rst = dbs.OpenRecordset("SELECT GEO_GeometrieDatei, GEO_TeilNummer, NodeBez FROM tblStruktur WHERE GEO_TeilNummer = '" & BezFP1 & "' AND GEO_GeometrieDatei LIKE '%" & Replace(BezFP1, ".", "") & "%';", dbOpenDynaset, dbSeeChanges)

If BezFP3 <> "" Then
    Set rst = dbs.OpenRecordset("SELECT GEO_GeometrieDatei, GEO_TeilNummer, NodeBez FROM tblStruktur WHERE GEO_TeilNummer = '" & BezFP3 & "' AND GEO_GeometrieDatei LIKE '%" & Replace(BezFP3, ".", "") & "%';", dbOpenDynaset, dbSeeChanges)
End If

Set prodWurzel = prodDoc.Product
Set prodProducts = prodWurzel.Products
prodProducts.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All"
Dim selection1 As Selection
Set selection1 = prodDoc.Selection
selection1.add prodWurzel
CATIA.StartCommand "Activate Terminal Node"

selection1.Clear
Suchstring = "Part Number='" & Punktname & "',all"
Suchstring = "Name='" & Punktname & "',all"
selection1.Search Suchstring
selection1.add selection1


Das highlighten ist deshalb wichtig, weil ich im nächsten Schritt an den Punkt zoomen möchte und die Methode "Reframe on" nutzen möchte.

Danke!

[Diese Nachricht wurde von Antelito am 23. Mai. 2016 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: 23. Mai. 2016 09:52    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 Antelito 10 Unities + Antwort hilfreich

Servus
Ist das dein ganzer Code? Hast du ggf im Code das Hervorheben durch "CATIA.HSOSynchronized = False" ausgeschaltet? (bleibt diese Einstellung auch über die "Makro-Grenze" aktiv??)
Ist in den Optionen: Allgemein -> Suche -> "Maximale Anzahl hervorgehobener Elemente" größer als 0 eingestellt?

Gruß
Bernd

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

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

Antelito
Mitglied



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

Beiträge: 88
Registriert: 27.11.2013

CATIA R24
WIN 10 x64

erstellt am: 23. Mai. 2016 10:14    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,

ja, im Grunde ist das mein ganzer Code (es folgt noch das abspeichern der Powerpoint und noch einige Ausgaben per MsgBox).

Ich habe mal einfach explizit

Code:
CATIA.HSOSynchronized = true

gesetzt, klappt aber immernoch nicht. Auch in den Einstellungen ist alles > 0...

ziemlich merkwürdiges Problem 

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: 23. Mai. 2016 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 Antelito 10 Unities + Antwort hilfreich

Servus
Wird der Punkt auch gefunden? (selection1.count2)

Gruß
Bernd

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

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

Antelito
Mitglied



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

Beiträge: 88
Registriert: 27.11.2013

CATIA R24
WIN 10 x64

erstellt am: 23. Mai. 2016 10:40    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


Properties.jpg

 
Peinlich Peinlich,

es wird der Punkt nicht gefunden, da sich im suchstring eine "0" dazwischengemogelt hat.... jetzt highlightet er auch das ergebnis.

sorry, mein fehler...

Eine Frage hätte ich aber doch noch: wie muss ich den Suchstring anpassen, um nach der Part Number zu Suchen?

Danke!

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: 23. Mai. 2016 11:48    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 Antelito 10 Unities + Antwort hilfreich

Servus
Hier ein Beispiel (Part Nach PartNumber suchen und in diesem Teil dann nach dem Punkt suchen)
Code:
selection1.Search "CATAsmSearch.Product.PartNumber=" & StrPartNumber & ",all"

selection1.Search "CATPrtSearch.Point.Name=" & StrPointName &",sel"



Gruß
Bernd

PS: Der Suchsting lässt sich gut mit der Makroaufzeichung bestimmen (den Typ so weit wie möglich einschränken)

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

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

ptit.tom
Mitglied
CAD-Berater


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

Beiträge: 114
Registriert: 11.02.2005

win10, CATIA R19 bis R30

erstellt am: 24. Mai. 2016 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 Nur für Antelito 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von bgrittmann:

PS: Der Suchsting lässt sich gut mit der Makroaufzeichung bestimmen (den Typ so weit wie möglich einschränken)

Hallo,

Andere Vorteil die suchstring mit dem Recorder zu speichern ist das sie sprachunabhängig sind.

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