Current Selection
Uživatel | Příspěvek |
jukom Poslat zprávu | Profil |
Datum:
10.5. 2017
| Zobrazeno:
8879x Konfigurace CATIA: V5-R24 Text dotazu: |
Ing Jan Cinert Poslat zprávu | Profil |
[#6199]
| Publikováno:
10.05. 2017 - 11:30 Dobrý den,
tohle není problém. Pokud máte objekt Selection, použijte jeho vlastnost Parent. Předpokládám, že vybíráte objekt typu "Face". oSelection.Item(1).Value vrací BRep element (reference)
oSelection.Item(1).Value.Parent vrací již surface, tj. feature ve stromu, ve které se dílčí face nachází
oSelection.Item(1).Value.Parent.Parent vrací kolekci HybridShapes v gemetrickém setu
oSelection.Item(1).Value.Parent.Parent.Parent pak již vlastní geometrický set.
Přes vlastnost Name pak získáte názvy features a poskládáte si je s lomítky do toho jak potřebujete. PS: Omylem jsem smazal váš původní obrázek, tak jsem tam přidal jiný - v principu stejné. |
jukom Poslat zprávu | Profil |
[#6200]
| Publikováno:
10.05. 2017 - 11:39 Dobrý deň,
Tento postup funguje perfektne na elementy s históriou. Problém nastáva, ak označený element je typu napr HybridShapeSurfaceExplicit. Tu už rodič elementu je Parameters a potom jeho rodič je už až samotný part. Trocha som dúfal, že bude rodiť geometrický set, v ktorom sa "mrtvola" nachádza, no smola. Ak som sa vydal cestou cez získavania parametrov geometrického setu, tak ich načítalo o mnoho viac ako keď si dáte vypísať parametre v catii daného geometrického setu. Čo by nebolo moc šťastné riešenie skúmať takto všetky geometrické sety a v nich parameter s názvom daného prvku a tak určiť jeho pozíciu v strome. Najelegantnejšie riešenie mi preto prišlo zistiť vlastne priamo čo chcem, čiže tú cestu ako som poslal v prílohe. Respektíve aká sa zobrazuje v status bare (neviem či sa tak nazýva spodná lišta v Catii) |
jukom Poslat zprávu | Profil |
[#6202]
| Publikováno:
10.05. 2017 - 12:53 Pomohlo by mi možno aj dostať sa k objektu, prvku Catie, keď poznám referenciu.
Dokázal som sa maximálne dopracovať k objektu typu Face
Kde Ref_pokus.DisplayName je názov Face (Face.15) posielam v prílohe aj obrázok ako stav po tejto hláške |
jukom Poslat zprávu | Profil |
[#6203]
| Publikováno:
10.05. 2017 - 12:57 Uživatel odpovídá na příspěvek #6202:
Práve, viem, že u väčších modeloch by to bol isto problém. Skúšal som sa dopátrať na rôznych fórach k spôsobu získania cesty označeného elementu, ale zatiaľ neúspešne. Až sa obávam, či to vôbec ide. Prípadne nájsť šikovné riešenie aj iným spôsobom. Nie takým, ako som opisoval. |
Ing Jan Cinert Poslat zprávu | Profil |
[#6201]
| Publikováno:
10.05. 2017 - 13:28 Dobrý den,
teď mě napadla taková finta... Když máte vybranou plochu, stačí poslat přes StartCommand "Define in Work Object" a tím nastavíte Set s plochou jako aktivní. Pak si z vybrané plochy vytvoříte Extract, a to už je živá plocha. No a protože se vytvoří ve stejném setu, přes jejího rodiče (Extract.Parent.Parent) dostaneme název Setu, resp. jeho objekt. Podle mě funkční. Sice zase bypass, ale vyhoví požadavku. |
jukom Poslat zprávu | Profil |
[#6204]
| Publikováno:
11.05. 2017 - 08:11 Dobrý deň pán Cinert,
veľká vďaka, touto cestou to funguje super :) Ešte ma napadlo vyhnúť sa posielaniu príkazou externe do Catie (nie je to asi úplne korektne aj keď niekedy sa tomu asi nedá vyhnúť). Ale v podstate som zadefinoval priamo označený element ako InWorkObject a tým sa v podstate zadefinoval geometrický set ako pracovný. Ešte raz veľká vďaka |
Ing Jan Cinert Poslat zprávu | Profil |
[#6205]
| Publikováno:
11.05. 2017 - 09:05 Není za co. Jinak to s tím posláním příkazu většinou celkem bezpečně funguje. Problém nastává jen když jeho vykonání trvá delší dobu, to se pak musí v programu chvíli počkat.
Předpokládám, že smazání Extractu už je rutina. :-) |
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.