Rsur Reference
Uživatel | Příspěvek |
Pavel Krsek ![]() ![]() Poslat zprávu | Profil |
Datum:
8.7. 2014
| Zobrazeno:
9776x Konfigurace CATIA: Text dotazu: Set "oReference" & (s) & "")= oSelection.Item(1).Value kde s je index z funkce For/Next. Poradí prosím někdo. |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#4627]
| Publikováno:
13.07. 2014 - 15:22 Dobrý den,
stačí místo vlastnosti Value u výběru použít Reference a máte přímo objekt reference. Pokud nepracujete v sestavě, kde je jediná možnost vytvoření reference pomocí fce CreateReferenceFromName , tak názvy BRep vůbec nepotřebujete.
Takže potom asi takhle: Dim oRef As Reference Pomohlo to? |
Pavel Krsek ![]() ![]() Poslat zprávu | Profil |
[#4628]
| Publikováno:
14.07. 2014 - 06:08 Děkuji za radu, nicméně teď stejně nevím jak dále. Script je:
For s = 1 To UBound(oPoleBodies()) tj. potřebuji vybrat více ploch na solidu a ty buď uložit do array oPoleReference (tam, ale asi můžu uložit jen jména RSUR a pak mám problém s označením dané plochy v další části scriptu) a nebo potřebuji vytvořit více referencí (dle počtu UBound(oPoleBodies()) a to také nevím jak provést. |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#4629]
| Publikováno:
14.07. 2014 - 13:30 Tohle je hodně krkolomné. Proč nepoužijete metodu SelectElement3 pro vícenásobný výběr? Pak stačí procházet instance ve výběru a rovnou znáte jejich počet. A do pole jde uložit i typ reference. Když při deklaraci neuvedete z čeho pole bude, automaticky se použije typ Variant, takže to vezme i Objekt.
Já bych to udělal takhle: sStatus = oSelection.SelectElement3(sFilter, atd... ) a tím si všechny vybrané plochy uložíte do pole. |
Pavel Krsek ![]() ![]() Poslat zprávu | Profil |
[#4630]
| Publikováno:
14.07. 2014 - 13:56 Děkuji moc.
Já to nemám, tak krkolovné, ale pro zjednodušení jsem vyškrtal dost řádků - metodu SelectElement3 používám. Vůbec jsem nevěděl, že jde do pole ukládat přímo reference - teď už to vypadá velmi nadějně. Jen upřesním, že daný řádek, který mě tak zajímal začíná příkazem SET tj. Set oPoleReference(i - 1) = oSelection.Item(i).Reference |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#4631]
| Publikováno:
14.07. 2014 - 14:35 Samozřejmě, já píšu v .NET, kde se Set už nepoužívá, a vždycky na něj u VBA zapomenu... |
Uživatel nepřihlášen
Pro zobrazení obsahu stránky / provedení akce (vytvoření nového téma, napsání odpovědi do diskuse apod.) musíte být přihlášeni.