Vytisknout stránku | Zavřít okno

Sloučení dvou pravidel

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: iLogic a ETO
Popis fóra: Funkce a makra iLogic, Inventor Engineering to Order (ETO), automatizace a konfigurace výrobků
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=30888
Datum vytištění: 27.dub.2026 v 00:26


Téma: Sloučení dvou pravidel
Odeslal: madep
Předmět: Sloučení dvou pravidel
Datum odeslání: 15.srp.2020 v 19:37
Mám dvě pravidla. Jedno zapisuje do uživatelské iVlastnosti informaci o materiál, třeba PMMA tl.10mm a druhé pravidlo zapisuje skladové číslo uvedené v řádku "Komentář" do řádku "Skladové číslo". Ptřeboval bych, aby se obě pravidla spouštěla současně, takž jako nejlepší řešení vidím obě pravidla sloučit.
Ale nevím jak.

První pravidlo:
Dim oDoc As PartDocument = ThisDoc.Document
iProperties.Value("Custom", "Materiál") = oDoc.ActiveMaterial.DisplayName

Druhé pravidlo:
If ThisApplication.ActiveDocumentType <> kPartDocumentObject Then Exit Sub

Dim oDoc As PartDocument
oPartDoc = ThisApplication.ActiveDocument

Dim oMat As Asset
oMat = oPartDoc.ActiveMaterial

iProperties.Value("Project", "Stock number") = oMat.Item("physmat_Comments").Value



Odpovědi:
Odeslal: Navara
Datum odeslání: 15.srp.2020 v 22:04
V principu je stačí napsat za sebe. Ale musíte si dát pozor, abyste nedefinoval proměnnou se stejným názvem dvakrát.

'Vypujceno z druheho pravidla
If ThisDoc.Document.DocumentType <> DocumentTypeEnum. kPartDocumentObject Then Exit Sub
'První pravidlo:
Dim oPartDoc As PartDocument = ThisDoc.Document

iProperties.Value("Custom", "Materiál") = oPartDoc.ActiveMaterial.DisplayName

'Druhé pravidlo:

'Dim oDoc As PartDocument
'oPartDoc = ThisApplication.ActiveDocument

Dim oMat As Asset
oMat = oPartDoc.ActiveMaterial

iProperties.Value("Project", "Stock number") = oMat.Item("physmat_Comments").Value


Odeslal: madep
Datum odeslání: 16.srp.2020 v 15:45
Takhle mě to napadlo, ale nechtělo mi to fungovat.
Tak jsem to udělal takhle:

If ThisApplication.ActiveDocumentType <> DocumentTypeEnum.kPartDocumentObject Then Exit Sub

Dim oDoc As PartDocument = ThisDoc.Document
Dim oMat As Asset = oDoc.ActiveMaterial

iProperties.Value("Custom", "Materiál") = oDoc.ActiveMaterial.DisplayName
iProperties.Value("Project", "Stock number") = oMat.Item("physmat_Comments").Value


Odeslal: Navara
Datum odeslání: 16.srp.2020 v 16:27
Tohle je samozřejmě mnohem čistší Smile



Vytisknout stránku | Zavřít okno