Vítejte !   Přihlášení | Registrace
Hlavní menu
CATIA fórum.cz
Novinky
Seriál CATIA
Obecně o CAD
Novinky ze světa DS
Makra pro CATIA V5
Diskuse
Vytvořit téma
Koncepty
Seznam oblíbených
Soukromé zprávy
Pravidla
Live CHAT
VIP žádost
Základy Catia
Ke stažení
Doporučujeme
Pracovní příležitosti
Reklama a kampaně
O fóru
Nápověda

funkce DISASSEMBLE

UživatelPříspěvek
Lukáš Batala

Poslat zprávu | Profil
Datum: 5.1. 2018 | Zobrazeno: 7665x
Konfigurace CATIA: V5-6R2016

Text dotazu:
Dobrý den, chtěl bych se zeptat zda je možné nějakou lehkou úpravou mého kódu ošetřit problém u funkce DISASSEMBLE.
Ve chvíli kdy spustím makro a vyberu křivku kterou chci rozpadnout tak se zvolí varianta All Cells avšak já bych potřeboval zvolit variantu Domains Only.
Předem děkuji za jakoukoliv radu.

Kód :

......
......
Set oSel = oDoc.Selection
oSel.Clear

iTyp(0) = "MonoDim"
sMSG = "Vyberte krivku k rozpadu"
sDum1 = oSel.SelectElement2(iTyp, sMSG, False)

Call CATIA.StartCommand("Disassemble")

CATIA.RefreshDisplay = True

SendKeys "{ENTER}"
......

Ing Jan Cinert

Poslat zprávu | Profil
[#6390] | Publikováno: 05.01. 2018 - 15:48
Dobrý den,

k rozložení plochy bych přednostně použil funkci API AddNewDatums (vytvoří z reference pole, z kterého se pak další metodou Setu (HybridBody) AppendHybridShape z tohoto pole vytvoří "mrtvoly". Je zde ale stejný problém, že ze plocha (feature) rozpadne na jednotlivé díly, nikoliv na oblasti (Domains).

Zkoušel jsem nějakým způsobem ovládat dialog funkce, pokud se použilo "Start command", ale bohužel zde nejsou žádné ovládací prvky typu Radio button nebo Combobox (ty se dají překlikávat posláním stisku Tab). O obrázků zdá se nic nefunguje...

Co by mělo jít, ale už jsou na to třeba vyšší programátorské znalosti (než ty moje), je pomocí WIN API zacílit na okno s výběrem režimu, nasměrovat kurzor myši do oblasti obrázku a simulovat kliknutí - pak už jen potvrdit posláním stisku Enter.
I zde je ale riziko, protože se musí počkat, než funkce doběhne.

Jistou, byť trochu krkolomnou a zdlouhavou množností by bylo z jednotlivých elementů zase začít vytvářet Joiny s bodovou návazností, kdy by se musely do seznamu ukládat již použité elementy a pro každou další oblast začít s elementem ještě nepoužitým. Určitě by se to dalo napsat, podobné věci už jsem dělal, ale je to "pakárna" :-)


Ing Jan Cinert

Poslat zprávu | Profil
[#6391] | Publikováno: 05.01. 2018 - 15:55
Oprava:

Tak je to přesně obráceně :-) vytvoří se mrtvoly právě z jednotlivých oblastí. Už je to opravdu dávno co jsem zkoušel to samé co vy a pak objevil funkci AddNewDatums - tak se omlouvám za mystifikaci.
Lukáš Batala

Poslat zprávu | Profil
[#6392] | Publikováno: 08.01. 2018 - 07:14
Dobrý den, děkuji za rozsáhlé a jasné vysvětlení. Pokusím se něco sesmolit a případně podělit pokud se zadaří.


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.