Vytisknout stránku | Zavřít okno

Paramatrie součásti

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: Inventor
Popis fóra: Otázky k programům Autodesk Inventor Professional, Product Design & Manufacturing Collection, Factory Design; digitální prototypy
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=18601
Datum vytištění: 24.čvc.2026 v 15:03


Téma: Paramatrie součásti
Odeslal: Jirizhk
Předmět: Paramatrie součásti
Datum odeslání: 22.led.2014 v 17:56
Dobrý den,

prosím, kdyby mi někdo poradil zda jde v inventoru vytvořit půllitr (sklenka), ve které, když bych měnil rozměr horní a dolní části součásti ( tabulka), aby objem sklenky zůstával 1/2 litru (v závislosti na výšce součásti). 

Děkuji



Odpovědi:
Odeslal: maiklss
Datum odeslání: 22.led.2014 v 18:52
Jestli  budete mít namysli  čistě komolí  kužel  tak to  problém  není  ale pokud bude nějaká  zvláštní  geometrie tak  to  se rad přiučím:)


Odeslal: Vladimír Michl
Datum odeslání: 22.led.2014 v 21:08
Pro zvláštní geometrii jde použít iterační postupy využívající iLogic.

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


Odeslal: Jirizhk
Datum odeslání: 22.led.2014 v 22:27
Vyzkouším si to nejdřív na válci. Nejdřív jsem si myslel,že bych dal dvě kružnice od sebe vzdáleně jako součást a do ni adaptivně vložil válek a pak postupně ty dvě kružnice různě měnil. Zkusím podle nápovědy Přes parametry Ilogic
.


Odeslal: Jirizhk
Datum odeslání: 22.led.2014 v 22:34
Prosím pomohl by jste mi s příkazem do Ilogic? If zvětším sp a sp2 parametry tak se změní délka vysunutí?


Odeslal: Vladimír Michl
Datum odeslání: 22.led.2014 v 23:01
Záleží jak je model vytvořen, stačí jakékoliv modelovací operace závislé na jednom či více parametrech. Ověření objemu pak ověříte přes iLogic a podle výsledku pak můžete programově dále upravovat parametry.
 
Koncept je v anglickém tipu:
http://www.cadforum.cz/cadforum_en/ilogic-adjusting-model-parameters-to-match-model-volume-or-mass-tip9659 - http://www.cadforum.cz/cadforum_en/ilogic-adjusting-model-parameters-to-match-model-volume-or-mass-tip9659


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


Odeslal: Jirizhk
Datum odeslání: 23.led.2014 v 00:12
Jestli tomu pravidlu rozumím, takže jestli tomu dobře rozumím tak d1 přečtě jaký má nynější parametr.
MessageBox.Show před a po funkci ILogic a ta se pak vynásobí koeficientem 1.10 a vznikne nová hodnota změní se vysunutí.

ThisApplication.CommandManager.ControlDefinitions.Item("AppUpdateMassPropertiesCmd").Execute myVolume = iProperties.Volume ' or Mass
MessageBox
.Show("Volume before = " & myVolume, "iLogic")
d1 = Parameter("d1") MessageBox.Show("d1 before = " & d1, "iLogic")
Parameter
("d1")=d1 * 1.10 ThisDoc.Document.Rebuild() d1 = Parameter("d1") MessageBox.Show("d1 after = " & d1, "iLogic") ThisApplication.CommandManager.ControlDefinitions.Item("AppUpdateMassPropertiesCmd").Execute myVolume = iProperties.Volume ' or Mass MessageBox.Show("Volume after = " & myVolume, "iLogic")


Odeslal: Cheff
Datum odeslání: 23.led.2014 v 09:16
Já osobně se zatím snažím iLogicu vyhýbat (teda přesněji, nemám jej tolik zažitý jako práci bez něj).

Zde se bez něj lze obejít, ale je nutné objem vyjádřit "matematicky". Ale na druhou stranu výsledný objem máme stejně zadaný - a pouhé podělení základnou stačí pro válec, u "soudků" nebo jiných "patvarů" se stejně musí objem vyjádřit nějak jinak. Např. Odečtením "válcové části" od výsledného objemu, a z tohoto teprv dopočítávat výšku (s nějakou chybou...)

Případně mě "programátoři" opravte, ale bez znalosti matematického vyjádření se stejně asi v iLogiku neobejdete - nebo snad ano?

V parametrech se dá postupovat jednoduše:
Zavedu uživatelský parametr Objem (když jsem líný, tak mu dám rovnou jednotku "l" = litr). Následně si vytvořím parametr Vyska [mm] (není nutný - šlo by napsat přímo do kóty, ale lépe se to opravuje, pokud by se daná kóta mazala...)
Následně již jen pomocí matematiky vyjádřím danou výšku pomocí vzorce.
Např. pro válec je to takto:

round(Objem / ( pow(Prumer / 1 mm;2 ul) * 1 mm^2 * PI ) / 0,01 mm) * 0,01 mm

Z toho
round(xxx/0,01mm)*0,01mm je zaokrouhlení výsledku na 2 desetinná místa
pow(xxx/1;2)*1mm - je druhá mocnina (ekvivalent sqrt() a "^") - za ";" je mocnitel (odmocnitel)
- tyto funkce potřebují bezrozměrný argument proto /1mm a následně výsledek opět přenásobuji 1mm
PI = 3.141593....


Odeslal: Jirizhk
Datum odeslání: 23.led.2014 v 10:25
Původně odeslal(a) Cheff Cheff napsal(a):

Já osobně se zatím snažím iLogicu vyhýbat (teda přesněji, nemám jej tolik zažitý jako práci bez něj).

Zde se bez něj lze obejít, ale je nutné objem vyjádřit "matematicky". Ale na druhou stranu výsledný objem máme stejně zadaný - a pouhé podělení základnou stačí pro válec, u "soudků" nebo jiných "patvarů" se stejně musí objem vyjádřit nějak jinak. Např. Odečtením "válcové části" od výsledného objemu, a z tohoto teprv dopočítávat výšku (s nějakou chybou...)

Případně mě "programátoři" opravte, ale bez znalosti matematického vyjádření se stejně asi v iLogiku neobejdete - nebo snad ano?

V parametrech se dá postupovat jednoduše:
Zavedu uživatelský parametr Objem (když jsem líný, tak mu dám rovnou jednotku "l" = litr). Následně si vytvořím parametr Vyska [mm] (není nutný - šlo by napsat přímo do kóty, ale lépe se to opravuje, pokud by se daná kóta mazala...)
Následně již jen pomocí matematiky vyjádřím danou výšku pomocí vzorce.
Např. pro válec je to takto:

round(Objem / ( pow(Prumer / 1 mm;2 ul) * 1 mm^2 * PI ) / 0,01 mm) * 0,01 mm

Z toho
round(xxx/0,01mm)*0,01mm je zaokrouhlení výsledku na 2 desetinná místa
pow(xxx/1;2)*1mm - je druhá mocnina (ekvivalent sqrt() a "^") - za ";" je mocnitel (odmocnitel)
- tyto funkce potřebují bezrozměrný argument proto /1mm a následně výsledek opět přenásobuji 1mm
PI = 3.141593....


To matematicky někde stranou na papír nebo ten výpočet round jde v inventoru?


Odeslal: Cheff
Datum odeslání: 23.led.2014 v 11:26
Výpočet je kompletně v Inventoru

PS: Samozřejmě, že se mi do vzorce musela vloudit chyba... - Při psaní vzorce jsem si neuvědomil, že zadávám průměr, takže výpočet má být s průměrem nikoli si poloměrem... (závislost výšky na průmeru)

Tak sem alespoň dodám opravenej model... uploads/1030/Objem.ipt" rel="nofollow - Objem.ipt

Jo a pokud jsem to náhodou pochopil špatně a má to být závislost průměru na výšce tak je poloměr takto:

round(pow(Objem / ( PI * Vyska * 1 ul );0,5 ul) / 0,01 mm) * 0,01 mm


Odeslal: Vladimír Michl
Datum odeslání: 23.led.2014 v 11:34
Právě že onen iLogic kód umožňuje obejít se bez matematického výpočtu objemu a nechat Inventor ať si objem (nebo třeba hmotnost) výsledného, jakkoliv složitého tělesa zjistí sám. Pro triviální tvary bude jednodušší si parametr z objemu odvodit vzorečkem.
 
K dotazu ke kódu - ano, d1 je parametr ovlivňující tvar součásti (parametrů může být i více). Pomocí jeho iterace (zmenšování/zvětšování) se pak lze dopracovat k požadovanému objemu.


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


Odeslal: Jirizhk
Datum odeslání: 23.led.2014 v 23:37
Nevím jestli jsem to dostatečně pobral, vidím to dost nereálně.
Jde mi o nádobu tvaru komolého kužele, kde bude konstatní objem, zatím funguje díky....
Jen teď je potřeba měnit horní a dolní průměr podstavy..

Je tam možné i reakce v rámci vliv i na zkosení?

Pokud změním tvar spodního průměru po vysunutí tak se mi změnou průměru dole změní výška.




Odeslal: Cheff
Datum odeslání: 24.led.2014 v 10:39
Ano - model bude vytvořen např pomocí šablonování, nebo rotace. V přiloženém modelu bylo "jen" zobrazeno, jak parametricky vypočítat výšku. Takže je jen potřeba upravit výpočet výšky. Jednoduše ji vyjádřit z výpočtu pro objem komolého kužele...

Pokud se použije zkrácený způsob pro umocnění "^" , tak je nutné si uvědomit, že potřebuje pracovat s bezrozměrným číslem...
Takže nezapomenout na "likvidaci" jednotek (např. pro výsledek 4 nelze zapsat jen jako 2^2 a mít vísledek v mm - správně pro Inv je (2mm/1mm)^2ul*1mm ) Zbytek už je obyčejná matematika



Vytisknout stránku | Zavřít okno