Autor
|
Thema: selection.search 2D und while Schleife (796 mal gelesen)
|
cmb Mitglied Systembetreuer
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 / zitieren --> Unities abgeben:
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
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 01. Okt. 2007 21:44 <-- editieren / zitieren --> Unities abgeben: Nur für cmb
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
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 / zitieren --> Unities abgeben:
|
cmb Mitglied Systembetreuer
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 / zitieren --> Unities abgeben:
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
Beiträge: 130 Registriert: 12.05.2004 CATIA V5R19 SP3
|
erstellt am: 02. Okt. 2007 10:44 <-- editieren / zitieren --> Unities abgeben: Nur für cmb
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
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 / zitieren --> Unities abgeben:
|