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

vyhledání dílu v sestavě

Kompletní přehled příspěvků v tématu vyhledání dílu v sestavě řazený podle data jejich publikace na fóru.

UživatelPříspěvek
Petr

Poslat zprávu | Profil
Datum: 12.10. 2020 | Zobrazeno: 1089x
Konfigurace CATIA: V5-6R2014

Text dotazu:
Zdravim,
chtěl bych poradit, chci vytvořit macro, které vyhledá díl podle zadané pozice a otevře ho do nového okna, za předpokladu, že mám otevřenou sestavu...

Má to sloužit při kontrole, kdy podle rozpisky kdy vyhledávám díly a kontroluji rozměry.

Klasicky používám Ctrl+F → zadam číslo pozice → hledat → center graph → open in new window

přijde mi to zdlouhavé...

Díky za rady.



Ing Jan Cinert

Poslat zprávu | Profil
[#6864] | Publikováno: 12.10. 2020 - 13:55
Dobrý den,

stačí takhle jednoduše? Bez ošetření nutnosti otevřené sestavy....

Sub CATMain() 

Dim Name
Set oADoc = CATIA.ActiveDocument
Set oSelection = oADoc.Selection
oSelection.Clear()
Name = InputBox("Zadejte cislo dilu...", "Otevreni v novem okne", "")
oSelection.Search(".Part.Name='*" & Name & "*', all")
If oSelection.Count = 1 Then
CATIA.StartCommand "Open in New Window"
End If
End Sub
Jakub Dědík

Poslat zprávu | Profil
[#6865] | Publikováno: 12.10. 2020 - 14:15
Na toto téma so toho dá vymyslet opravdu hodně :) ... kdysi jsem měl nápad udělat si jednoduchou appku co mi načte bom a data z CATIE a já si budu klikat díl po dílu v appce a catie mi je bude zobrazovat a hned při tom budu mít možnost měnit parametry přes appku, jakou výrobou bude díl vytvářenej a další detaily co se tvořily složitě ručně + kontrola designu. Kdybych tam jako konstruktér zůstal asi bych to vymyslel :D, pak se změnila práce a toto už jsem nepotřeboval.

zkuste si projít dokumentaci a něco napsat

Za mě bych asi řešil tyto kroky

- zjistit co je v catii otevřený
- zobrazit to tak jak by se mi hodilo
- reagovat na to v catii při výběru tam kde jsem si to zobrazil
Petr

Poslat zprávu | Profil
[#6866] | Publikováno: 12.10. 2020 - 19:43
Super funguje, mockrát děkuji.
Petr

Poslat zprávu | Profil
[#6939] | Publikováno: 11.03. 2021 - 14:57
Zdravim,
chci se zeptat jestli není jednoduší způsob na vyhledání partu v sestavě? Přes oSelection.Search to funguje výborně, jen u větších sestav to déle trvá a v podtatě mě to vyhledává všechny shodné party a mě vlastně stačí první shoda.....

Napadlo mě procházet sestavu rekurivně, je to je psano tady na foru viz. kod dole... V kodu bude podminka, když najde shodné nazvy, tak otevře díl v novém okně.

A právě tady je kámen úrazu, že nevim jak přidat do selekce ten part, který má shodu s hledanám názvem.

Tohle je špatně, ale nevim jak by to spolu mělo být propojené, jestli to vubec jde...
oSelection1.Item (1)


For Each oSubProduct In oProduct.Products
oPartName = oSubProduct.PartNumber
If oPartName=hledanyPart then
oSelection1.Item (1)
CATIA.StartCommand "Open in New Window"
End if
If oSubProduct.Products.count > 0 Then
Explore oSubProduct
End If
Next


Děkuji za každou radu..
Petr

Poslat zprávu | Profil
[#6948] | Publikováno: 17.03. 2021 - 08:35
Zdravim,
tak jsem našel co jsem hledal na zahraničním foru.



Sub Main()

Dim doc, sel, setName
setName = "Example"
Set doc = CATIA.ActiveDocument
Set sel = doc.Selection
Dim selSets
' get SelectionSets object (a tricky part)
Set selSets = doc.Product.GetItem("CATIAVBSelectionSetsImpl")
' create new selection set
selSets.CreateSelectionSet setName
' add selected elements to selection set
selSets.AddCSOIntoSelectionSet setName
sel.Clear
' activate the content of selection set
selSets.PutSelectionSetIntoCSO setName
'Dim a()
'selSets.GetListOfSelectionSet a
End Sub
Ing Jan Cinert

Poslat zprávu | Profil
[#6949] | Publikováno: 17.03. 2021 - 13:47
A co na to jít přes kolekci Documents? Budete hledat podle Document name, nikoliv podle PartNumber, resp. postupně budete procházet kolekcí Documents a porovnávat PartNumber a při shodě zavoláte Documents.Open(DocName) a tím se dokument také otevře do nového okna. Stačí pak jen vypnout souborové hlášky, kdy Catie varuje, že už je dokument otevřený v sestavě.


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.