Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  selection.search 2D und while Schleife

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.search 2D und while Schleife (796 mal gelesen)
cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 01. Okt. 2007 15: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

Hallo Forum,

ich möchte gerne aus der Suche eine Reihe 2D Texte als Parameter generieren.

Die Suche :

selection1.Search "CATDrwSearch.DrwText,sel"

Die Paramterschleife:

Dim k
k=1

While(k-1<DrawTexts.Count)

Dim DrawText
Set DrawText = DrawTexts.Item(k)

Dim Param
Set Param = Params.CreateString(DrawText.Name,"")
Param.ValuateFromString DrawText.Text

DrawText.InsertVariable 1,Len(DrawText.Text),Param

k=k+1

Wend

Kann mir hier vielleicht jemand zeigen wie ich mit einer selection in einer Schleife arbeitet?

Gruß cmb

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 01. Okt. 2007 21: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 cmb 10 Unities + Antwort hilfreich

Hallo cmb,

ich weiß nicht ganz, ob ich Dich richtig verstanden habe, doch wenn Du folgende Ersetzungen machst, sollte es doch gehen:

1.) aus 'DrawTexts.Count' wird 'selection1.Count' (bzw. 'selection1.Count2', ab R16?!)
2.) aus 'DrawTexts.Item(k)' wird 'selection1.Item(k).Value' (bzw. 'selection1.Item2(k).Value', ab R16?!)

Dann sollten die Werte der Selektion abgearbeitet werden. ODER???


mfg,
Lusilnie

------------------

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 02. Okt. 2007 08:53    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 Lusilnie,

funktioniert aufs erste Mal. Vielen Dank.


LG cmb

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

cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 02. Okt. 2007 09:28    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 Lusilnie,

hab mich zu früh gefreut, das Macro schreibt zwar Parameter die Anzahl stimmt auch, aber in der Schleife wird der erste String immer wieder als Parameter ausgegeben. Ergebnis ich habe n-mal den gleichen Parameter in meiner Drawing.


Dim DrawDoc
Set DrawDoc = CATIA.ActiveDocument
Dim Params
Set Params = DrawDoc.Parameters
Dim DrawSheets
Set DrawSheets = DrawDoc.Sheets
Dim DrawSheet
Set DrawSheet = DrawSheets.Item(1)

Dim DrawViews
Set DrawViews = DrawSheet.Views
Dim DrawView
Set DrawView = DrawViews.Item(2)

Dim selection1
Set selection1 = DrawDoc.Selection
selection1.Search "CATDrwSearch.DrwText,sel"
Dim DrawTexts
Set DrawTexts = selection1

Dim k
k=1

Dim DrawText
Set DrawText = selection1.Item2(k).Value

While(k-1<selection1.Count2)


Dim Param
Set Param = Params.CreateString(DrawText.Name,"")
Param.ValuateFromString DrawText.Text

DrawText.InsertVariable 1,Len(DrawText.Text),Param

k=k+1

Wend

End Sub


Hast du vieleicht noch einen Tip für mich?

LG    cmb

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

BigCheese
Mitglied
Dipl-Ing


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

Beiträge: 130
Registriert: 12.05.2004

CATIA V5R19 SP3

erstellt am: 02. Okt. 2007 10: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 cmb 10 Unities + Antwort hilfreich

Moin cmb,

Du definierst Deine Variable DrawText vor der Schleife. Dadurch erhält sie einen statischen Wert und wird somit n-mal verarbeitet.
Ich nehme an, Du möchtest DrawText mit jedem Schleifendurchgang einen neuen Wert zuweisen, daher musst Du die Zuweisung nach dem Schleifenstart einbauen, also:

Code:
While(k-1<selection1.Count2)
Set DrawText = selection1.Item2(k).Value

Gruß, Alex

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

cmb
Mitglied
Systembetreuer


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

Beiträge: 500
Registriert: 12.07.2002

CATIA V5-6R2016 64bit
Smarteam R22.6
Moldflow Adviser 2014
Lenovo Think Pad P90

erstellt am: 02. Okt. 2007 16:01    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 Alex,

funktioniert super, vielen Dank

10Points goto BigChese + Lusilnie

LG cmb

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