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

Export stromu do txt

UživatelPříspěvek
Tomáš Bělohradský

Poslat zprávu | Profil
Datum: 16.6. 2010 | Zobrazeno: 11474x
Konfigurace CATIA:

Text dotazu:
Ahoj,
potřeboval bych export stromu do nejakého txt editoru. Jde mi především o strukturu v partu (Geometrical sety, body). Je to možné?

Kamil

Poslat zprávu | Profil
[#669] | Publikováno: 16.06. 2010 - 17:21
Prepáč prosím že sa ti sem tlačím s inou témou. Ale otázočka na admina:
V téme "Nastavenie drafting" (tému som zakladal ja) som pridal príspevok a v REAKCE nepribudla žiadna červená jednotka. Prečo? Teraz neviem či na to bude niekto reagovať.
Jiří Pešek

Poslat zprávu | Profil
[#672] | Publikováno: 17.06. 2010 - 00:30
Ahoj,
je to možné. Přes makro. Ale muselo by se vytvořit. Možná nebude těžký zítra prodiskutuju z j.Cinertem.Dám vědět.JP
Ing Jan Cinert

Poslat zprávu | Profil
[#673] | Publikováno: 17.06. 2010 - 08:09
Uživatel odpovídá na příspěvek #669:
Jako nové (tj. červeně) se zobrazují jenom příspěvky od jiných uživatelů (neodpovídáte přeci sám sobě, ne?). Stejně jako vám nepřijde email o vašem příspěvku (tématu).
A příště raději pište do fóra Návrhy a připomínky, aby se to napletlo do rozjetých diskusí.
Ing Jan Cinert

Poslat zprávu | Profil
[#674] | Publikováno: 17.06. 2010 - 08:17
Potřebuje při exportu dodržet i hierarchii nebo by vám stačil jen jednoduchý seznam setů a body? Nebo ještě jinak, jak byste si ten export představoval?
Samozřejmě to jde.
Tomáš Bělohradský

Poslat zprávu | Profil
[#676] | Publikováno: 17.06. 2010 - 08:53
Mě by stačil jednoduchý seznam setů a body, idealně vyexportovaný do Excelu. Jde mi pouze o editovatelný seznam.
Ing Jan Cinert

Poslat zprávu | Profil
[#677] | Publikováno: 17.06. 2010 - 09:21
Ještě se zeptám s jak velkým stromem pracujete, jaký bude ca počet body a setů? (lze to udělat více způsoby (jeden je snadnější, ale u velkých stromů hodně pomalý, u druhého je to obráceně).
Tomáš Bělohradský

Poslat zprávu | Profil
[#678] | Publikováno: 17.06. 2010 - 09:26
Obvykle je to tak 50-100 položek.
Ing Jan Cinert

Poslat zprávu | Profil
[#685] | Publikováno: 17.06. 2010 - 14:36
Máte nějaké zkušenosti s makry? Že bych vás jen popostrčil...
Tomáš Bělohradský

Poslat zprávu | Profil
[#688] | Publikováno: 17.06. 2010 - 15:03
Je tak to bohužel nemám, dokážu si maximálně překopírovat skript do editoru v Catii :-(. Chtěl bych se to naučit, ale nevím jak začít. Bohužel nemám žádné zkušenosti s programováním.
Ing Jan Cinert

Poslat zprávu | Profil
[#695] | Publikováno: 18.06. 2010 - 08:27
Projděte si sekci Makra a Programování. Není tam zatím všechno, co máme naplánované, ale nějaké základy se dají najít.
Já se pokusím pro vás něco hodně jednoduchého připravit.
Tomáš Bělohradský

Poslat zprávu | Profil
[#697] | Publikováno: 18.06. 2010 - 08:53
To budete moc hodný, děkuji. Mrknu na to :-)
Ing Jan Cinert

Poslat zprávu | Profil
[#735] | Publikováno: 23.06. 2010 - 11:57
Tak jsem pro vás vytvořil hodně jednoduché makro, které vyexportuje všechny Body a Geometrické sety do textového souboru. Není nijak ošetřené, soubor Export.txt se vytvoří na rootu disku D:. Pokud takový disk nemáte, změňte si ve zdrojovém kódu písmeno jednotky třeba na C: (11. řádek)
Pro správnou funkci musí být při spuštění otevřený samostatný Part.

Language="VBSCRIPT"


Dim oFileSystem As FileSystem
Dim oFile As File
Dim oTextStr As CATIATextStream
Dim oText As String
Dim oRootBodies As Bodies
Dim oRootHybridBodies As HybridBodies
Dim oPart As Part

Sub CATMain()
Set oFileSystem = CATIA.FileSystem
Set oFile = oFileSystem.CreateFile("d: ree_export.txt", True)
Set oTextStr = oFile.OpenAsTextStream("ForWriting")
Set oPart = CATIA.ActiveDocument.Part
Set oRootBodies = oPart.Bodies
Set oRootHybridBodies = oPart.HybridBodies
GetSets(oRootHybridBodies)
For Each oBody In oRootBodies
GetBodies(oBody)
Next
oTextStr.Write oText
oTextStr.Close
End Sub

Sub GetBodies(oBody)
Dim oHybridBodies As HybridBodies
Dim oShapes As Shapes
oText = oText & oBody.Name & chr(13)
Set oHybridBodies = oBody.HybridBodies
GetSets(oHybridBodies)
Set oShapes = oBody.Shapes
For Each oSubShape In oShapes
On Error Resume Next
Set oParentBody = oShapes.Item(i).Body
If Err.Number <> 0 Then
GetBodies(oParentBody)
End If
Next
End Sub

Sub GetSets(oHybridBodies)
For Each oSubHybridBody In oHybridBodies
oText = oText & oSubHybridBody.Name & chr(13)
GetSets(oSubHybridBody.HybridBodies)
Next
End Sub
Tomáš Bělohradský

Poslat zprávu | Profil
[#737] | Publikováno: 23.06. 2010 - 13:40
Tak jsem si to nahrál a funguje to bezvadně. Děkuji, ušetří to dost času :o)
Ing Jan Cinert

Poslat zprávu | Profil
[#738] | Publikováno: 23.06. 2010 - 13:45
Já se ještě zeptám k čemu ten export potřebujete? Pokud by to byla užitečná utilita, dala by se potom ještě zdokonalit.
Tomáš Bělohradský

Poslat zprávu | Profil
[#740] | Publikováno: 23.06. 2010 - 15:00
Jde vlastně o seznam dílů (plechů) do evidenčního listu pro zákazníka. Myslím, že takhle to funguje docela dobře.
Patrik Vaclav

Poslat zprávu | Profil
[#7086] | Publikováno: 12.10. 2022 - 10:46
Ahoj,

chcem Vás poprosiť o update kódu alebo pre nejaký návod ako to prerobiť pre CATIA V5-6 2020 (R30). Veľmi by mi to macro pomohlo.

Som začiatočník v programovaní a mám chuť sa učiť.

Ďakujem za pomoc.
Ing Jan Cinert

Poslat zprávu | Profil
[#7088] | Publikováno: 15.10. 2022 - 20:29
Dobrý den,

skript by měl fungovat i v R30, není v něm použita žádná funkce, které by v R30 nebyla k dispozici.

Jen v řádku, kde se vytváří soubor, je malá chybka - v cestě k souboru kousek chybí, ale to si stejně budete muset upravit podle sebe.


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.