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
Základy Catia
Ke stažení
Doporučujeme
Pracovní příležitosti
Reklama a kampaně
O fóru
Vznik a historie
Statistiky
Přehledy
Hledat na fóru
Nápověda

Seznam příspěvků uživatele

V tabulce jsou všechny příspěvky uživatele Petr (hrdobec) řazené podle témat. Kliknutím na název téma se zobrazíte celou diskusi.

TémaZaloženoOdpověď
Macros Starter 28.4. 2022 Zdravim,
nevim co dělám špatně udělal jsem jednoduchý, ale podstatě se nic nestalo. Když si vyhledam ve windows default apps -> choose default apps by file type tak u .CatProduct vidim DELMIA a nejde to změnit

[PRE]
echo on

cd C:\Program Files\Dassault Systemes\xxxxx\win_b64\code\bin\

CNEXT.exe /regserver

pause/PRE]
 
Macros Starter 23.4. 2022 Může to mí spojistost s cnext.exe /regserver? Nikdy jsem úplně nepochopil jak to funguje, to musím spustit přes příkozovou řádku?

Děkuji
Macros Starter 23.4. 2022 Zdravim,
a na kolik vyjde nová lišta?

CATScrip se mi podařilo udělat a funguje dobře, jen mám problém že u kolegy se spustí nová Catie (správný release, ale špatně prostředí), nevíte čím by to mohlo být?
 
nastavení pravidla na Hole Definition 22.4. 2022 Zdravím,
děkuji za rychlou reakci, zkoušel jsem to, ale zatim se mi to nepovedlo... ale nevzdávám se.

Jde reaction kopírovat pomocí powercopy?

Děkuji
 
Copy ccp makro 1.11. 2021 Super, děkuji funguje výborně.

Ještě mám jendu otazku, Co když chci publikovat v partu dvě Body, které mají stejný nazev?

Když to vytvářím přes funkci publikace, tak se to vytvoří s tím, že u jednoho se přida k nazvu číslo, ale ve sloubci Element to má stejnou cestu "Název partu / nazev body".

Makro mě vlastně napubliku jen první body, které je ve strome výše...
Copy ccp makro 28.10. 2021 Vytvoří se pouze nová prázdná reference....
Copy ccp makro 27.10. 2021 Dobrý den,
už týden se snažim vytvořit proceduru pro připdávání publikací přes CreateReferenceFromObject a pořád mě to nefunguje...

Můžete mi poradit, už si nevím rady.


Sub fCreatePublic(ByRef oObject As Body, ByRef u)
Dim oPublications As Publications
Dim oReference As INFITF.Reference
Dim oPart As Part
Dim oBodyName As String
Dim oBody As Body

Set oPart = oObject.Parent.Parent
Set oPublications = oPart.Parent.Product.Publications
oBodyName = oObject.Name


Set oReference = oPart.CreateReferenceFromObject(oPart.Bodies.Item(u))
Set publication1 = oPublications.Add(oBodyName)
oPublications.SetDirect oBodyName, oReference
End Sub
Copy ccp makro 19.10. 2021 Zdravim, ještě by mě zajimalo, jak funguje CreateReferenceFromName nebo spíš jak určit název.

např. u body mě funguje tohle, ale když vyberu axis nebo sketch, který je jiném geometrickém setu, tak je to problem..


oPartName- název dílu
oBodyName - název body
Set oReference = oProduct.CreateReferenceFromName(oPartName & "/!" & oBodyName)
Set publication1 = oPublications.Add(oBodyName)
oPublications.SetDirect oName, oReference
 
Makro - porovnání dílů 16.4. 2021 Z dravím,
od Hansena jsem našel jen tuto knihu, je to ona?

http://www.amazon.com/Applied-CATIA-V-5-R15-Author/dp/B00F44TV84/ref=sr_1_5?dchild=1&keywords=catia+macro&qid=1618549112&sr=8-5



Děkuji
 
vyhledání dílu v sestavě 21.5. 2021 Tak už vím v čem byla chyba ale stejně to nefunguje... Píše to " Operation failed, Tpart can not be loaded...."


Sub CATMain()
Dim oDocs As Documents
Dim oDocument As Document
Dim oPart As Part
Dim fName As String
Set oDocs = CATIA.Documents
For i = 1 To oDocs.count
Set oDocument = oDocs.Item(i)
If TypeName(oDocument) = "PartDocument" Then
Set oPart = oDocument.Part
fName = oDocs.Item(i).Name
If Mid(fName, 1, 3) <> "CAT" Then
CATIA.Documents.Open (fName)
End If
End If
Next
End Sub
vyhledání dílu v sestavě 21.5. 2021 Dobrý den,
po koušel jsem se o vytvoření makra o otevirání partu v novém okne na základě Documents.Open(DocName) a vubec mi to nefunguje píše mi to hlašku "Object doesnt support this property or method"

Sub CATMain()

Dim oDocs As Documents
Dim oDocument As Document
Dim fName As String
Set oDocs = CATIA.Documents
For i = 1 To oDocs.count
Set oDocument = oDocs.Item(i)
If TypeName(oDocument) = "PartDocument" Then
fName = oDocs.Item(i).Name
If Mid(fName, 1, 3) <> "CAT" Then oDocs.Item(fName).Open
End If
Next
End Sub
vyhledání dílu v sestavě 17.3. 2021 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
vyhledání dílu v sestavě 11.3. 2021 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..
vyhledání dílu v sestavě 12.10. 2020 Super funguje, mockrát děkuji.
 
Generování pohledu na palící šablony 17.1. 2020 Dobrý den,

V drawingu dám funkci Front view a udělám zakladní pohled z vybraného CATpartu, pak ručně dokreslim přídavky na pálení a vypnu čáry, které nepotřebuji.

Vim, že si v CATpartu můžu připravit celou šablonu včetně přídavku a vytvořit pohled na hotovo. Chtěl jsem hlavně urychlit proces sklápění pohledu tj. vyhledávání dílu v celé sestavě a přepisování pozic. Vždycky to dlouho kontroluji jestli jsem nějakou pozici nevynechal.

Včera jsem zkoušel přes funkci Search vyhledat parametr "lasercut", chtěl jsem vybrat všechny díly a otevřít je jednotlivě, ale nějak mě to nefungovalo... Tím by mě aspoň odpadlo prohledávání sestav.

Děkuji

 
Catia FEM Advanced meshing tools 27.1. 2017 Stačí klidně i v angličtině. Potřebuji vědět to co jsem psal v ůvodu a to jak vytvoři mapovanou 3D síť a aplikovat na ně 3D properties a to tam boužel není.



Catia FEM Advanced meshing tools 27.1. 2017 Tento manuál jsem zrovna našel, ale moc užitečný mě zrovna nebyl.

Zkusim ještě pohledat.

Děkuji
Catia FEM Advanced meshing tools 27.1. 2017 Děkuji, vyzkouším a dám vědět.

Nemáte náhodou někdo manuál k tomuto modulu? Docela by mě to pomohlo.

Díky
Catia FEM Advanced meshing tools 26.1. 2017 No bral jsem to tak, že když mám surface mesh a dám extrusin tak mě vznikne 3D objem. Stejně jak je to na videu, to je taky objem.
 
Načítání parametru do excelu 11.5. 2016 Dobrý den,
máte pravdu problem je v načítáním parametrů. Když použiju příkas

parametr1 = oSubProduct.Parameters.Item("parametr1").Value


Tak se načítají parametry z jiného partu

Jak se dá kontrolovat "kontext"?


 
Mazání nepoužitých partů 5.4. 2016 Dobrý den,
měl bych otazku, jak se ve visual basicu provádí vymunování všech načtených referencí, případně proměných?

Mám makro, teré napopvé funguje, ale pravděpodobně zustane "něco" uložené v paměti, proto když je spustím znovu, tak načítá špatná data...

Pomůže až opětovné restartování catie.

Děkuji

Mazání nepoužitých partů 23.3. 2016 Dobrý den,
chci se zeptat. Pokud načtu drawing pomocí metody read a chci zjistit link na soubor pomocí

oFileName = Odraw.DrawingRoot.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Parent.Name

a pokud se soubor linkuje na smazaný part nebo produkt tam mi to vyhodí chybu.

Run-time error '-2147418113(8000ffff)
Method 'Document' of object 'DrawingViewGenerationBehavior' failed


Proto jsem se pokusil odchytit chybu pomocí On error goto handle1...

On Error GoTo Handel1:
oFileName = Odraw.DrawingRoot.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Parent.Name
Handel1:
If Err > 0 Then něco..

Problem je, že mi to nepomohlo a pořád mi to vyhazuje stejou chybu. nevíte v čem by mohl být problém??

Děkuji



Mazání nepoužitých partů 20.3. 2016 Dobrý den,
zjišťování liků už mě funguje. Už jen stačí porovnat seznam souborů a přebyteční promazat.

Děkuji za pomoc.


Dim Odocs As Documents
Dim Odraw As DrawingDocument
Dim oFileName As String
Dim Filelist As String
Dim path As String
Dim soubor As String
Dim List As String

path = "C:\Pokus\"
Filelist = Dir(path & "*.CATDrawing")

Do While Filelist <> ""
soubr = path & Filelist
Set Odocs = CATIA.Documents
Set Odraw = Odocs.Read(path & Filelist)
oFileName = Odraw.DrawingRoot.Sheets.Item(1).Views.Item(3).GenerativeBehavior.Document.Parent.Name
List = List & oFileName & Chr(13)
Filelist = Dir
Loop
MsgBox (List)
Mazání nepoužitých partů 17.3. 2016 Dobrý den,

přesun produktu a partu do složky "old" mě už funguje pomocí makra, ale nevím, jak zjistit na jaký part je linkované drawing.

Byla by nějaká rada? Děkuji
Mazání nepoužitých partů 14.3. 2016 Send to znám a používám, ale problem je že kopíruje jen CATpart a CATproduct, ale ne drawings. Pokud to tedy nejde nějak nastavit...
 
CATDUA 8.12. 2015 Dobrý den, už se mi to podařilo rozchodit, ale makro mi prochází pouze jednu úroveň. Když mám v produktu další product, tak v něm už chybějící linky na party neodstraní.

Sub CATMain()

Dim acDoc As Document
Dim acProd As Product
Dim acProds As Products
Set acDoc = CATIA.ActiveDocument
Set acProd = acDoc.Product
acProd.ApplyWorkMode DESIGN_MODE
RemoveMissingProducts acProd
End Sub
Private Sub RemoveMissingProducts(ByVal oProduct As Product)
Dim oSubProducts As Products
Dim oSubProduct As Product
Dim RefValid As Boolean
' nacteme vsechny instance v sestave
Set oSubProducts = oProduct.Products
For Each oSubProduct In oSubProducts
RefValid = True
' overime existenci reference
On Error Resume Next
If oSubProduct.ReferenceProduct.Parent Is Nothing Then
RefValid = False
End If
' zkusime odebrat instanci
If Err <> 0 Then
If RefValid = False Then
End If
On Error Resume Next
'Try kvuli chybe v API to produkt odebere, ale shori
' odebereme instanci
oProduct.Products.Remove (oSubProduct.Name)
Else
' rekurze
If oSubProduct.Products.Count > 0 Then
RemoveMissingProducts (oSubProduct)
End If
End If
Next
MsgBox ("All missing product have been removed")

End Sub
CATDUA 8.12. 2015 Dobrý den, jakou funkci přesně plní příkaz
Catch ex As Exception
Děkuji
CATDUA 6.12. 2015 Upravil jsem kod pro visual basic viz. dole. Když ho ale sputim, tak mě smaže všechny party a produkty...


Sub CATMain()
Dim acDoc
Dim acProd
Set acDoc = CATIA.ActiveDocument
Set acProd = acDoc.Product
acProd.ApplyWorkMode DESIGN_MODE
RemoveMissingProducts acProd
End Sub
Private Sub RemoveMissingProducts(ByVal oProduct As Product)
Dim oSubProducts As Products
Dim oSubProduct As Product
Dim RefValid As Boolean
' nacteme vsechny instance v sestave
Set oSubProducts = oProduct.Products
For Each oSubProduct In oSubProducts
RefValid = True
' overime existenci reference
On Error GoTo ErrHandler1:
If oSubProduct.ReferenceProduct.Parent Is Nothing Then
RefValid = False
End If
ErrHandler1:
RefValid = False
' zkusime odebrat instanci
If RefValid = False Then
On Error GoTo ErrHandler2:
'Try kvuli chybe v API to produkt odebere, ale shori
' odebereme instanci
oProduct.Products.Remove (oSubProduct.Name)
ErrHandler2:
Else
' rekurze
If oSubProduct.Products.Count > 0 Then
RemoveMissingProducts (oSubProduct)
End If
End If
Next
MsgBox ("All missing products have been removing")
End Sub
CATDUA 6.12. 2015 Děkuji hned to vyzkouším.
CATDUA 6.12. 2015 Našel jsme jiné makro, k které dokáže zpětně nalinkovat chybějící díly.

https://www.youtube.com/watch?v=vCcIIgpLPUs

V mém příadě mi ale nepomůže, já potřebuji chybějící linky odstranit.
CATDUA 6.12. 2015 Dobrý den,
ano myslím tím neexistující reference. Myslel jsem si že to CATDUA dokáže, že je to jen otázka nastavení.

Jak by takové makro vypadalo? Na foru jsem žádnou podobnou diskuzi nenašl..

Zkusím se podívat ještě na zahraniční fora.

Děkuji
 
Nastaveni drawingu 5.12. 2015 Dobrý den, v properties jsme žádné otoření nenašel.. ještě upřesňuji potřebuji otočit pouze text, značka drsnosti zustane tak jak je.. Ve starší catii to dělalo automaticky, aby byl text čitelný z pravého dolního rohu.
 
relativní cesta 15.11. 2015 Dobrý den, catii mám nastavenou podle přiloženého obrázku. děkuji
 
Přeukládání drawing 17.11. 2015 Dobrý den, děkuji funguje to výborně.
Přeukládání drawing 16.11. 2015 Dobrý den, tohle mi nefunguje. Programuji ve vba, které je v catii. Je ještě nějaká možnost, jak to vyřešit?
Přeukládání drawing 15.11. 2015 Dobrý den,
v macru se odkazuji na excel soubor, který chci otevřit a zapsat do něj data.

Set wb = myExcel.Workbooks.Open(Filename:=fName, ReadOnly:=False)

Do FName, ale musím napsat celou cestu k souboru.

Jde nějak jednoduše zadat pouze relativní relativní cestu, když mám excel soubor uložený u macra????

Děkuji
Přeukládání drawing 11.11. 2015 Děkuji, tohle mi pomůže
Přeukládání drawing 8.11. 2015 Dobrý den,

Jde pomocí makra zjistit jméno souboru na které se linkuje výkres?

Děkuji
 
Rename makro 18.9. 2015 Odkaz na referenci:

http://nj.riotdowntown.com/2011/03/renaming-all-products-and-parts-according-to-their-partnumber/
Rename makro 18.9. 2015 Dobrý den,
na netu jsem našel podobne makro, které potřebuji. (přejmenování souboru podle šablony)


Trochu jsem si je upravil, aby dělalo to co potřebuji. Přejmenování jednotlivých partu mě funguje, ale nevim jak přejmenovat produkt.

Poradí mi někdo? Děkuji
Rename makro 15.9. 2015 Dobrý den,

mě jde práve o vytvoření vlastního dialogového okna, které mě nedovolí zapsat více znaku a dodržet formát.

Ve VB dokážu dialogové okno vytvořit a vygenerovat požadovaný řetezec, ale nevim jak to slinkovat s Catii a s vybraným souborem....





 
Převod AllCatPart na sestavu 30.7. 2013 Dobrý den,
měl bych otazku. Slo by vytvoři macro, které by generovalo v podstatě allcatpart jen by díly rozdělovalo podle přiřazeného materiálu???

V Postatě by vytvořilo sestavu, do které by se vložili třeba party Steel a Aluminium atd... Dal by se prohledávala sestava a podle materiálu se kopírovalo mrtvé partbody do daného pártu.

Slibuji si od toho rychleší vážení u složitejších sestav.. Připadně myslíte si, že to urychlí výpočet??

Děkuji za odpověd.

 
PartNumber - jméno partu na disku 9.3. 2021 Zdravim,
mám dotaz, je nějaký způsob jak do Catia VBA připdat DataGridView?

Děkuji za pomoc
PartNumber - jméno partu na disku 7.3. 2020 Zdravím,
zkouším vytvořit makro na přejmenování souboru v catii part name = file name.

nemůžu přijít na to v čem je chyba, pokaždé se mi to zastaví na Set oDoc = oSubProduct

Děkuji za každou radu.

 

Sub CATMain()
Dim oProduct As Product
Dim oDocument As Document

Set oDocument = CATIA.ActiveDocument
Set oProduct = oDocument.Product
oProduct.ApplyWorkMode DESIGN_MODE

WalkThroughTree oProduct

MsgBox ("HOTOVO")


End Sub
Private Sub WalkThroughTree(ByVal oSubProduct As Product)
Dim oDoc As Document
Dim oSubProducts As Products
Dim RefValid As Boolean
Dim PartName, FileName, InstanceName, cesta As String

' nacteme vsechny instance v sestave

For Each oSubProduct In oSubProduct.Products
FileName = oSubProduct.ReferenceProduct.Parent.Name
PartName = oSubProduct.ReferenceProduct.PartNumber
cesta = oSubProduct.ReferenceProduct.Parent.Path

If PartName <> FileName Then
Set oDoc = CATIA.ActiveDocument
Set oDoc = oSubProduct
oDoc.SaveAs (cesta & PartName)


End If



If oSubProduct.Products.Count > 0 Then
WalkThroughTree oSubProduct
End If
Next


End Sub

 
DefineView 15.1. 2021
Zkoušim vytvořit makro které prochazí celou sestavu,vyhledáparty (partbody), které mají připravenou pálicí šablonu a proto potřebuji rovinu z které se má vytvořit frontview a nazev PartName, proto mám na začátku makra aktivní hlavní sestavu



Jestli tomu rozumím správně,
tak aby mě fungovalo makro, kde používám funci GetPlane, které jsem řešil na začatku, tak musím mít part otevřený v novém okně.

Proto musím přes selekci vybrat part, který potřebuji a použít CATIA.StartCommand "Open in New Window" a pak terpve použít funkci get plane okno zavřít a použít selekci na další part atd...

Nebo to jde i jinak?



DefineView 15.1. 2021 Dobrý den,
ještě bych měl jednu otázku, nerozumim jak se přepína mezi dokumentem a aktivním partem/ productem....

Chci aktivovat díl v sestavě podle názvu PartName např "DESKA1", tak abych mohl navázat na předchozí makro?

Na internetu jsem našel zajimavý odkaz,
http://http://www.scripting4v5.com/wp-content/uploads/2015/05/Lesson-5-Parts-Products-Drawings.pdf

Sub CATMain()

Dim documents1 As Documents
Set documents1 = CATIA.Documents
MsgBox "The number of documents is " & documents1.Count
Dim doc1 As Document
Set doc1 = documents1.Item("DESKA1")
Dim partDoc1 As PartDocument
Set partDoc1 = doc1

End Sub


Ale to co potřebuji jsem tam nenašel. Nevim teď nevím jak se přepnout z partdocument na part (Set oPart = CATIA.ActiveDocument.Part)

Doufám, že je to aspoň trochu srozumitelné.

Děkuji






DefineView 14.1. 2021 Dobrý den,
s měřením nemám moc zkušenost, mockrát děkuji..

DefineView 8.1. 2021 Dobrý den,
potřeboval bych poradit, nějak jsem se zaseknul na skriptnu na měření....

v tomto řádku mě vyskakuje chyba
oMeasurable = oPart.CreateReferenceFromObject(oPlane)


Dim oPart As PartDocument
Dim oPlane
Dim oMeasurable
Dim Components(8)
Set oPart = CATIA.ActiveDocument
Dim SelectedElement As Selection
Set SelectedElement = oPart.Selection
SelectedElement.Search "CATPrtSearch.Plane.Name=SUPPORT,all"
Set oPlane = SelectedElement.Item(1).Value
oMeasurable = oPart.CreateReferenceFromObject(oPlane)
oMeasurable.GetPlane oComponents
 
Pojmenování BODY 15.2. 2021 Jo tak to je bomba, super děkuji.

Pojmenování BODY 12.2. 2021 Zdravim,
zajimálo by mě jak jde změnu názvo body podle parametru dělat pomocí KWA licence.

Děkuji