Vytisknout stránku | Zavřít okno

VYTVOŘ PARAMETR NEBO UŽIVATELSKOU IVLASTNOST

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=27791
Datum vytištění: 06.kvě.2026 v 21:30


Téma: VYTVOŘ PARAMETR NEBO UŽIVATELSKOU IVLASTNOST
Odeslal: Lukáš Záruba
Předmět: VYTVOŘ PARAMETR NEBO UŽIVATELSKOU IVLASTNOST
Datum odeslání: 05.říj.2018 v 21:51
Je možné napsat na začátek pravidla něco jako:

zkontroluj parmetr X
pokud neni tak ho vytvoř
pokud je tak nic.

a

zkontroluj uživatelskou ivlastnost Y
pokud neni, tak ji vytvoř
pokud je tak nic.

Pokud ano, tak jak to napsat?


-------------
Budu rád za radu i případně všelijaké postřehy.



Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 06.říj.2018 v 08:02
Test na existenci uděláte nejsnáze přes Try-Catch - viz ukázka Ilogic kódu:

https://www.cadforum.cz/cadforum/jak-vytvorit-uzivatelskou-ivlastnost-nebo-parametr-pomoci-ilogic-tip12023 - https://www.cadforum.cz/cadforum/jak-vytvorit-uzivatelskou-ivlastnost-nebo-parametr-pomoci-ilogic-tip12023

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: Lukáš Záruba
Datum odeslání: 06.říj.2018 v 09:06
Díky už mi to funguje.

Co když budu chtít v jednom pravidle takto nastavit více ivlatvností ? dá se Try-Catch jen zkopírovat , přiřadit jiné názvy a bude to fungovat? nějak takhle:

 
Dim propertyName As String = "MAT"
Dim propertyValue As String = "PZ"
customPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties") Try prop = customPropertySet.Item(propertyName) Catch customPropertySet.Add("", propertyName) End Try Dim propertyName As String = "POLOTOVAR" Dim propertyValue As String = "PLECH"
customPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties") Try prop = customPropertySet.Item(propertyName) Catch customPropertySet.Add("", propertyName) 
End Try

nevím však čím to oddělit.  


-------------
Budu rád za radu i případně všelijaké postřehy.


Odeslal: Vladimír Michl
Datum odeslání: 06.říj.2018 v 11:18
Pak už stačí opakovat jen řádky (ničím není třeba oddělovat):


Try
prop = customPropertySet.Item("DalsiVlastnost")
Catch
customPropertySet.Add("","DalsiVlastnost")
End Try



-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: Lukáš Záruba
Datum odeslání: 08.říj.2018 v 13:13
Děkuji za radu ale jak jste to přesně myslel? pořád mi to nefunguje.

Try
prop = customPropertySet.Item("MAT")
Catch
customPropertySet.Add("","MAT")
End Try
 prop = customPropertySet.Item("POLOTOVAR")
Catch
customPropertySet.Add("","POLOTOVAR")
End Try


-------------
Budu rád za radu i případně všelijaké postřehy.


Odeslal: Vladimír Michl
Datum odeslání: 08.říj.2018 v 13:24
Máte to správně, jen tam chybí ten druhý úvodní "Try" - opakovat se musí celý ten blok Try-End Try.

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: Lukáš Záruba
Datum odeslání: 09.říj.2018 v 07:49
Velice mi to pomohlo, už mi to funguje.
Děkuji

když bych chtěl založit parametr a zároveň ho "nastavit s více hodnotami" tak to jde taky? a jak to mám napsat?

Takhle?

Try
  p = Parameter("MAT")
Catch
  oUserParams.AddByValue("MAT","Neni", UnitsTypeEnum.kTextUnits)
End Try


Try
  p = Parameter("POLOTOVAR")
Catch
  oUserParams.AddByValue("POLOTOVAR","PLECH", UnitsTypeEnum.kTextUnits)
  MultiValue.List("POLOTOVAR","TYČ", "DESKA-PŘÍŘEZ") = MyArrayList
End Try


-------------
Budu rád za radu i případně všelijaké postřehy.


Odeslal: Vladimír Michl
Datum odeslání: 09.říj.2018 v 08:53
Ten (před)poslední řádek je nějaký divný, spíš bych zkusil něco jako:
 
MultiValue.SetList("POLOTOVAR", "TYČ", "PLECH", "DESKA", "HRANOL")


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)



Vytisknout stránku | Zavřít okno