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 Josef Landa (Lpepino) řazené podle témat. Kliknutím na název téma se zobrazíte celou diskusi.

TémaZaloženoOdpověď
Assembly Part Association 9.7. 2015 Dekuji za odpověď, takže podpora v API pro tuto funkci asi není.
Posílat stisky kláves do formuláře, to nebude spolehlivé, pak musí být časová prodleva, aby se stačil formulář zobrazit a ta nemusí vyhovovat pro všechny sestavy ktéré děláte. Když je sestava velká, tak Catii bude trvat všechno dýl a stisky kláves půjdou do ztracena. Do toho se asi pouštět nebudu.
Ale děkuji za odpověď a čas.
 
Assembly Part Association 8.7. 2015 Ja bych rád ten poloautamatický režim zrušil a tato funkce mi připadá jako ideální.
S licencí problém nemáme.Máme plné licence AL2 a příkaz asociace máme normálně aktivní i v licenci DP2, která je ořezaná.
Takže mi napadlo, když tuto funkci v catii máme, že bych jí rád vyvolal a spustil programem a dál pak řešil svařenec.
A to je ten problém, který nedokážu vyřešit. Ani v manuálu V5Automation.chm jsem nenašel jak to udělat.
Assembly Part Association 2.7. 2015 Myslim vse delat makrem, takze vim, ze jde a to delam, allcatpar to je jeden zpusob, druhy je to ze vykopiruji vsechny PartBody do sveho dilu s linkem.
Pak je ale treti zpusob viz. obrázek který udržuje asociaci se setavou, takze udelam na sestave příkaz Associativity, ten mi udela ALLCATPart, vloží ho na konec stromu a udržuje stálé propojení, když ze sestavy odeberu díl, nebo přidám, tak se v tomto dílu vse aktualizuje a upravý geometrie dle sestavy. A o to mi právě jde.
Tento příkaz bych chtěl spouštět makrem respektive vlastním programem.
 
Svary - vložení a editace ve výkresu 20.10. 2014 Já to nevyřešil, možná že tu někdo poradí, já rezignoval a celou značku svaru sem skládal a byla to fuška, ale zase do značky sem si zapsal spoustu věcí navíc, které jsou potřeba pro svařovací tabulky a nejsou vidět na výkrese. Jako třeba mezi jekejma pozicema svar je, jake tlostky svaruju, jakou metodou a jaké materiály svařuju.
Catia, vytváří welding symbol, ale já když zadavam v programu tak vytvářím Welding a ty pak i načtu.
Tam se podle mě trošku kříží pojmy a dojmy :-)
Snad poradi někdo více zkušený...
Svary - vložení a editace ve výkresu 20.10. 2014 Já už si to moc nepamatuju, ale měl sem ten samej problem. Myslím, že sem to vyřešil, tím, že sem i svary vytvářel programem. Komplet celou znacku sem poskládal a pak ten svar v pohledu byl. Aby to bylo OK, tak komplet programem svary vytvářet, načítat a mazat, pak to je spolehlivé.
Řešil sem to dost dlouho.
Svary - vložení a editace ve výkresu 8.11. 2013 snažil sem se o to ještě dříve, než nem se zeptal.
když chci zadat symbol svaru, tak mi vba našeptávé tento kod:
DrwWeld.GetSymbol(catFirstWelding) = catHUGrooveWelding

ten mi pak ale nejde a napiše hlášku: must return Variant or Object
 
Diskuse k článku Programujeme v .NET 29.6. 2014 Dobrý den,
mám macro, které mi funguje ve vba a po vložení do vb.net a upravení se nemohu zbavit dvou chyb.

Formulář sem přejmenoval na UserForm1
A TreeView1 na Tree

Chyby jsou v těchto řádkách:
ByRef Tree As Treeview
tvwChild


Imports INFITF
Imports KnowledgewareTypeLib
Imports MECMOD
Imports PARTITF
Imports ProductStructureTypeLib
Imports SPATypeLib
Imports System.IO

Public Class UserForm1
Public CATIA As INFITF.Application

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

On Error Resume Next

Dim f As UserForm1
'Dim Tree As TreeView

f = New UserForm1
Tree = f.Tree

' Some variable declarations
Dim doc As Document
Dim rootProduct As Product

doc = CATIA.ActiveDocument
If doc Is Nothing Then
MsgBox("Please load a product - Then activate this function!")
Return
End If

rootProduct = doc.Product

visitProduct(rootProduct, "", Tree)

f.Show()

End Sub

Sub visitProduct(prod As Product, parentKey As String, ByRef Tree As Treeview)

On Error Resume Next

Dim children As Products
children = prod.Products

Dim i As Integer
Dim child As Product
Dim key As String
Dim label As String

label = prod.ReferenceProduct.Parent.Name & " (" & prod.Name & ")"
key = parentKey & "###" & prod.ReferenceProduct.Parent.Name & " (" & prod.Name & ")"
'label = prod.name
'key = parentKey & "###" & prod.name
'ImageList1.Enabled = True
'tree.ImageList = ImageList1
' MsgBox "key: " & key & " parent: " & parentKey

If parentKey = "" Then
Tree.Nodes.Add(, , key, label).Expanded = True
Else
Tree.Nodes.Add(parentKey, tvwChild, key, label).Expanded = True
'tree.Nodes.Item(1).Image = 1
End If

For i = 1 To children.Count
child = children.Item(i)
visitProduct(child, key, Tree)
Next
End Sub

End Class


Chyby jsou také v přiloženém obrázku

Můžete mi prosím poradit?
Děkuji.
Diskuse k článku Programujeme v .NET 5.11. 2013 Nevím jak je to možné, ale po přidání COM referencí mi to nakopírovalo do:
C:\Users\lnj\Documents\Visual Studio 2013\Projects\WindowsApplication2\WindowsApplication2\obj\Debug => Interop.INFITF.dll který měl velikost 165KB a když sem ho přepsal tím co sem měl u jiného programu velikost 172KB, tak to už funguje vpořádku.
Nejhorší na tom je to, že když založím nový projekt a znou přidám COM referene tak mi to zas přidá špatný, nebo poškozený Interop.INFITF.dll o velikosti 165KB. Jde to nějak opravit?
Diskuse k článku Programujeme v .NET 5.11. 2013 Tak sem to vyřešil nasledovně:
Odebral sem COM referenci CATIA V5 InfInterfaces Object Library a nalinkoval sem referenci přes Browse... na Interop.INFITF.dll, který mám u dodaných programů od firmy, která je pro nás dělala.
Teď už to funguje...
Diskuse k článku Programujeme v .NET 5.11. 2013 Používám V5R20
V obrázku v příloze je vidět, že kod nepodtrhává chyby a když začnu psát např. kod:
Dim CATIA As INFITF. tak normálně našeptává => Application, AnyObject atd.
Tu chybu s deklarací podtrhl, proto sem jí také dodatečně opravil.
Diskuse k článku Programujeme v .NET 5.11. 2013 oprava kodu:
Dim CATIA As Application
musí být asi v odstavci s: Public Class Form1
 
Označení dílu a zjištění sestavy do které patří 26.9. 2013 Zdravím,
to je přesně ono super děkuji.
Celé to tedy mám takto a funguje to:

Sub CATMain()

Dim oProduct As String
Dim oSelProduct As Product
Dim oParentProduct As Product
Dim Filtr(0)
Dim UserSel As Object
Dim E As Variant

Filtr(0) = "Product"

Set UserSel = CATIA.ActiveDocument.Selection

E = UserSel.SelectElement2(Filtr, "Vyber product!", False)

If E = "Normal" Then

Set oSelProduct = UserSel.Item(1).Value
Set oParentProduct = oSelProduct.Parent.Parent
MsgBox oParentProduct.ReferenceProduct.Parent.Name
Else
Exit Sub
End If
End Sub


Jde mi totiž o to abych po kliknutí na díl ať je v jakékoliv podsestavě napsal jméno sestavy z první urovně hlavní sestavy např. jako je dle BOM TopLevel.
S radou od vás zjistím nejbližší nadřazenou sestavu a když probublám ve stejném stylu do nadřazených sestav a zastavím se na CATIA.ActiveDocument, tak se dostanu k tomu co potřebuji.
Možná by to šlo udělat lépe a jednodušeji, ale mě napadla tato možnost.

Ještě jednou díky....
 
Prochazeni sestavy 25.9. 2014 Dobrý den,
v příspěvku [#3126] máte náhled na načtenou strukturu do TreeView.
Je možné sem dát jednoduchý příklad pro VB.NET?
Děkuji.
 
Combobox 17.1. 2012 Chtěl jsem si udělat makro na to, že si dám do jednoho adresáře modely kterým chci zapsat určitý parametr.
Když je to sestava vytvoř parametr "sestava".
Když je to díl vytvoř parametr "díl".
Jestliže parametr existuje nevytvářej žádný...
Makro mi pracuje tak že otevírá jeden soubor za druhým a parametry se mi vytváří ale když existuje, tak mi to vždy vytvoří další a to nechci.


Celé to mám tekhle:


Sub CATMain()

Set FileSys = CATIA.FileSystem
Dim FoldObj 'As Folder
Dim FileObj 'As File
Dim files1 'As Files

FPath = CATIA.FileSelectionBox("Select a Part File.", "*.CATPart", CatFileSelectionModeOpen)
If FPath = "" Then
Exit Sub
End If

Set FileObj = FileSys.GetFile(FPath)
Set FoldObj = FileObj.ParentFolder
Set files1 = FoldObj.Files

Dim i 'As Interger
Dim partDocument1 'As Document
Dim product1 'As CATBaseDispatch
Dim part1


For i = 1 To files1.Count
Set Doc = CATIA.Documents.Open(files1.Item(i).Path)
If Err.Number = 0 Then
Set partDocument1 = CATIA.ActiveDocument
End If

' rozdelime nazev souoboru Do pole podle tecek
Parts = Split(CATIA.ActiveDocument.Name, ".")

' porovname posledni cast za teckou
If Parts(UBound(Parts)) = "CATProduct" Then

Set product1 = partDocument1.Product
Dim parameters1 As Parameters
Set parameters1 = product1.Parameters
Dim strParam1 As StrParam
Set strParam1 = parameters1.CreateString("Parametr_sestava", "")

End If

If Parts(UBound(Parts)) = "CATPart" Then

Set part1 = partDocument1.Part
Dim parameters2 As Parameters
Set parameters2 = part1.Parameters
Dim strParam2 As StrParam
Set strParam2 = parameters2.CreateString("Parametr_dil", "")

End If

partDocument1.Save
partDocument1.Close

Next

End Sub




Combobox 17.1. 2012 Dobrý den,
děkuji za nápovědu.
Rozpoznání dle přípony mi jde bez problémů a šlo to na první pokus,
ale to s tím že jestli parametr existuje tak napříklat nic nedělej(nebo ten parametr vyplň) mi do toho makra přidat nejde....



Parts = Split(CATIA.ActiveDocument.Name, ".")

If Parts(UBound(Parts)) = "CATProduct" Then

Set product1 = partDocument1.Product
Dim parameters1 As Parameters
Set parameters1 = product1.Parameters
Dim strParam1 As StrParam
Set strParam1 = parameters1.CreateString("Parametr_sestava", "")

End If

If Parts(UBound(Parts)) = "CATPart" Then

Set part1 = partDocument1.Part
Dim parameters2 As Parameters
Set parameters2 = part1.Parameters
Dim strParam2 As StrParam
Set strParam2 = parameters2.CreateString("Parametr_dil", "")

End If
Combobox 29.12. 2011 Dobrý den,
mužete mi prosím poradit jakým způsobem bych napsal do programu:
Jestliže je aktivni otevřené okno sestava vyplň parametr_1
Jestliže ne vyplň parametr_2
Jde mi o to co mám napsat jako:
If ........... = ............ Then

A ještě jestli by jste mi pomohl s tímto:
Jestliže existuje parametr_1
Asi to bude v tomto smyslu:
If ........... = True Then
Combobox 6.12. 2011 Uživatel odpovídá na příspěvek #2462:

Děkuji za pomoc, už mi to funguje.
Jen ve zdrojovém kodu pro změnu parametru pri změně CheckBoxu sem musel odstranit závorky za oPart.Update a řádek
oParameter.ValuateFromString = "True"
mi nefungoval tak sem ho upravil pouze na:
oParametr.Value = "True"
a už mi to pracuje. Trvalo mi to asi tři hodiny, než sem to trefil, ale tím se člověk nejvíc učí.
Tak jak mi to pracuje to vypadá takto:

Private Sub CheckBox_Change()
Set oPartDocument = CATIA.ActiveDocument
Set oPart = oPartDocument.Part
Set oParameters = oPart.Parameters
Set oParametr = oParameters.Item("Prepinani")
If CheckBox.Value = "True" Then
oParametr.Value = "True"
Else
oParametr.Value = "False"
End If
oPart.Update
End Sub


Nemáte náhodou nějakou přírůčku, do které by se dalo nahlédnout, při problémech?
Ještě jednou děkuji za pomoc.
Combobox 2.12. 2011 Uživatel odpovídá na příspěvek #2417:

Dobrý den,
snažím se pomocí CheckBoxu prepínat parametr "Prepinani" (True/False) ten mám vytvoření v CATPart.
Dostal sem se zatim k inicializaci po pár hodinách sem ji nedokázal rozchodit.
Můžete mi prosím poradit?
Private Sub UserForm_Initialize()

Set oPartDocument = CATIA.ActiveDocument
Set oPart = oPartDocument.Part
Set oParameters = oPart.Parameters
Set oParametr = oParameters.Item("Prepinani")
CheckBox.Value = oParametr.Value
If parametr.Value = "True" Then
CheckBox.Value = True
Else
CheckBox.Value = False
End If
End Sub

 
Částečný řez sestavou 10.2. 2012 Uživatel odpovídá na příspěvek #2610:

Právě že to zkouším a při zakliknutí okenka Reference element a po té kliknu na element ve výkresovém pohledu, tak se nic nestane. Chtěl jsem vědět, jestli náhodou vám to nefunguje. Isometrický pohled s částečným řezem by byl podle mě občas užitečný a názorný, jinak to asi budu muset dělat scénou.
Isometrické pohledy s řezem a nebo vystínované např. Solid Edge nebyl vůbec žádný problém.
Částečný řez sestavou 9.2. 2012 Uživatel odpovídá na příspěvek #1622:

Dobrý den, mám dotaz k zamčené diskusy viz. váš odkaz.
Jde vám vybrat Reference element i při částečném řezu ve Isometrickém pohledu?
 
Nalezení nejbližší hodnoty z několika parametrů 18.11. 2012 Paráda, děkuji, už mi to pracuje.
Potřeboval sem základní příklad, abych pochopil princip.
Děkuji. Pěkný večer.
Nalezení nejbližší hodnoty z několika parametrů 18.11. 2012 Dobrý den,
můžete sem prosím napsat přesný krátký příklad postupu jak udělat dva parametry s tím že např. parametr x je vstupní a y je výsledek podmínky jako výše v příspěvku?
If (x<=8.5) { y = 3 }
Stačí jen ty dva parametry a podmínka v Law bez geometrie.
Děkuji.
 
Řízení parametrů pomocí dialogového okna 29.11. 2011 Uživatel odpovídá na příspěvek #1155:


Dobrý den,
zkoušel jsem přidat do vašeho makra změnu parametru typu Boolean.
Chtěl bych aktivovat a deaktivovat různé stavy dílu. Můžete mi prosím pomoct, jak to vyřešit? Díl přikládám do přílohy.