Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy CAD Studio [www.cadforum.cz]
Česky Slovensky English Deutsch
Přihlášení:
▶ Registrace

 právě nás čte: 1226 
RSS tipy RSS kanál - CAD tipy
RSS diskuze RSS kanál - CAD diskuze

Diskuze Diskuzní fórum, poradna

NápovědaCAD diskuze, rady, výměna zkušeností

CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion 360, 3ds Max a s dalšími CAD aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy CAD Studio - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

PŘEPSÁNÍ PARAMETRU

 Odpovědět Odpovědět archiv
Autor
Lukáš Záruba Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 02.lis.2007
Lokalita: ČR (SČ)
Používám:
inventor 2015
Stav: Offline
Bodů: 387
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lukáš Záruba Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Téma: PŘEPSÁNÍ PARAMETRU
    Zasláno: 13.bře.2019 v 13:23
Zdravím,

Mám pravidlo které mi založí a vyplní parametr "POLOTOVAR". jak mám napsat aby se mi parametr který již existuje přepsal tímto s více hodnotami?

Dim oParams As Parameters
Dim oPartDoc As PartDocument = ThisDoc.Document
Dim oPartCompDef As PartComponentDefinition = oPartDoc.ComponentDefinition
oParams = oPartCompDef.Parameters

Dim oUserParams As UserParameters = oParams.UserParameters

Try
  p = Parameter("POLOTOVAR")
Catch
  oUserParams.AddByValue("POLOTOVAR","", UnitsTypeEnum.kTextUnits)
  MultiValue.SetList("POLOTOVAR",
  "PLECH",
  "JAKL",
  "TRUBKA 4HR",
  "TRUBKA OBD",
  "TY� PLOCH�",
  "TY� KULAT�",
  "TY� Z�VITOV� (DIN 975)"
  )
End Try
Budu rád za radu i případně všelijaké postřehy.
Zpět nahoru
krupicka Zobrazit panel
CAD Studio support
CAD Studio support
Avatar
CAD Studio s.r.o.

Přihlášen: 15.říj.2015
Lokalita: ČR (Pha)
Používám:
Inventor HSM
Stav: Offline
Bodů: 72
Možnosti příspěvku Možnosti příspěvku   Poděkování (1) Poděkování1   Citace krupicka Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 14.bře.2019 v 09:14
Dobrý den,
    Musíme ověřit existenci parametru. V případě, že existuje, jej odstranit a vytvořit nový.
Šel jsem na to procházením všech parametrů a porovnáváním jejich názvů s názvem "POLOTOVAR"
Smile
Dim oParams As Parameters
Dim oPartDoc As PartDocument = ThisDoc.Document
Dim oPartCompDef As PartComponentDefinition = oPartDoc.ComponentDefinition
oParams = oPartCompDef.Parameters
Dim ParaExist As Boolean = False

Dim oUserParams As UserParameters = oParams.UserParameters

Try
	For i = 1 To oParams.Count
		If oParams(i).Name = "POLOTOVAR" Then
			ParaExist = True
			Exit For
		End If
	Next
Catch

End Try


MessageBox.Show(ParaExist, "Existence parametru POLOTOVAR")

If ParaExist = True Then
	Parameter.Param("POLOTOVAR").Delete
End If

Try
  p = Parameter("POLOTOVAR")
Catch
  oUserParams.AddByValue("POLOTOVAR","", UnitsTypeEnum.kTextUnits)
  MultiValue.SetList("POLOTOVAR",
  "PLECH",
  "JAKL",
  "TRUBKA 4HR",
  "TRUBKA OBD",
  "TYC PLOCHA",
  "TYC KULATA",
  "TYC ZAVITOVA (DIN 975)"
  )
End Try

S pozdravem Martin Krupička, CAD Studio Smile
Zpět nahoru
Lukáš Záruba Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 02.lis.2007
Lokalita: ČR (SČ)
Používám:
inventor 2015
Stav: Offline
Bodů: 387
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lukáš Záruba Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 14.bře.2019 v 09:48
Díky, přesně to jsem potřeboval. Už mi to funguje.
Budu rád za radu i případně všelijaké postřehy.
Zpět nahoru
Lukáš Záruba Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 02.lis.2007
Lokalita: ČR (SČ)
Používám:
inventor 2015
Stav: Offline
Bodů: 387
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lukáš Záruba Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 15.bře.2019 v 11:02
Je možné toto pravidlo napsat tak aby fungovalo i pro sestavu? pokud ano, tak jak to napíšu?
Budu rád za radu i případně všelijaké postřehy.
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
CAD Studio s.r.o.

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 18508
Možnosti příspěvku Možnosti příspěvku   Poděkování (1) Poděkování1   Citace Vladimír Michl Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 17.bře.2019 v 08:10
Pro parametr sestavy nebo pro parametry všech komponent sestavy a podsestav? (to už je složitější). Pro parametr sestavy stačí upravit záhlaví - typy objektů.
Vladimír Michl (moderátor)
CAD Studio s.r.o. - www.cadstudio.cz
(podporu najdete na helpdesk.cadstudio.cz)
Zpět nahoru
Lukáš Záruba Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 02.lis.2007
Lokalita: ČR (SČ)
Používám:
inventor 2015
Stav: Offline
Bodů: 387
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lukáš Záruba Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 18.bře.2019 v 08:40
Zdravím, 
Chtěl bych tímto pravidlem vyhledat, vymazat a znovu vytvořit uživatelský parametr "POLOTOVAR" v sestavě. Toto pravidlo funguje pro díl ale v sestavě hlásí chybu. Jedná se mi o to že budu postupně připisovat hodnoty do pravidla v "MultiValue.SetList" a proto když bude tato změna tak potřebuji aby byl starý seznam hodnot nahrazen novými. Hlavně u starých nebo převzatých projektů kde tento parametr není, nebo je vyplněn jinak. 
Budu rád za radu i případně všelijaké postřehy.
Zpět nahoru
Navara Zobrazit panel
CAD Studio support
CAD Studio support
Avatar
CAD Studio s.r.o.

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1247
Možnosti příspěvku Možnosti příspěvku   Poděkování (1) Poděkování1   Citace Navara Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 18.bře.2019 v 09:30
Tohle už začíná být docela rozsáhlé.
Co se týká zpracování sestavy, tak stačí upravit záhlaví, ale doporučuju to udělat tak, aby to fungovalo pro obojí (sestava i součást). To znamená získat oUserParams jak pro sestavu, tak pro součást. Zbytek uzavřít do metody s argumentem oUserParams.
No a v té metodě před smazáním parametru zkontrolovat, jestli je to přegenerování parametru nutné. Jinak totiž dochází ke změně souboru a budou neustále vznikat nové verze, které bude nutné ukládat i v případě, že fakticky k žádné změně nedojde.
 
Zpět nahoru
Lukáš Záruba Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 02.lis.2007
Lokalita: ČR (SČ)
Používám:
inventor 2015
Stav: Offline
Bodů: 387
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lukáš Záruba Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 18.bře.2019 v 11:04
Děkuji za nápad pane Navaro, mohl byste mi napsat jak by šlo upravit abych získat oUserParams? 

Co se týče zjišťování nutnosti přegenerování, tak bych si s tím nelámal hlavu. Jelikož toto pravidlo je spouštěno ručně, pouze při nutnosti použít starý projekt nebo přenzané díly jako nový. Tím pádem se vždycky něco změní ( materiál, geometrie,.... ). 
Budu rád za radu i případně všelijaké postřehy.
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 7083:VIPJak přepsat kótu Revitu numerickou hodnotou?
Tip 7999:Jak odstranit přepsání kótovacích stylů v kótách?
Tip 4785:Jak nalézt AEC objekty s přepsaným zobrazením?
Tip 9970:Proč se změna barvy součásti nepromítne do sestavy?
Tip 9529:Nastavení průhlednosti barevného schematu místností Revitu.
Tip 10234:Jak odstranit přepsání vzhledu komponent Inventoru?


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,344 sekund.