Zobrazit plnou verzi příspěvku: Jak vložit barvu do výkresu
Lukáš Záruba
02.11.2010, 07:54
Potřebuji abych měl na výkrese označený RAL. Jelikož většinou z konečné sestavy rendruji .jpg nebo video, tak mám již přiřazenou barvu v .aim nebo .ipt. Doteď jsem ji na výkres psal ručně ale byl bych radši kdyby šel upravit kusovník tak abych si molh ve výběru sloupce vybrat přímo odkaz barva ale nemůžu na to přijít.
Tohle by šlo řešit nějakým makrem. Jestli to umí Inventor sám, to si nejsem jistý, řekl bych že ne.Pokud informaci budete chtít dostat do kusovníku, budete ji muset mít v nějaké uživatelské vlastnosti.
flesar2010-11-02 12:14:58
Pokud je mi známo, tak Inventor opravdu nikde nevystavuje barvu jako vlastnost podobně jako materiál.
Získat barvu do iVlasnosti přes makro problém není. Pokud by se sešlo více takových požadavků, asi by bylo možné to zahrnout do některé z příštích verzí XTools.
Lukáš Záruba
02.11.2010, 22:38
Můžete mi někdo tedy aspoň poradit jak nejjednodušeji dostat barvu z modelu do výkresu? Do teďka jsem barvu ručně vkládal do tabulky ivlastnotí modelu do záložky uživatelské. Je to však příliš zdlouhavé ale zase mám jistotu že na to při závěrečném spěchu nezapomenu.
Pokud to Inventor opravdu neumí, můžete uvažovat o dvou variantách:a) vložíte název barevného schematu (v API RenderStyle) do uživatelské proměnné a následně v kusovníku vložíte sloupeček s uživatelskou proměnnoub) do výkresu sestavy vložíte samostatnou tabulku, která by obsahovala např. pozici, název a číslo součásti, a zvolenou barvu v dokumentu (sestavě), ke kterému náleží výkres.ad a) těžko určíte barvu sestavy, barvu určujete dílům v sestavě, v nadřazené sestavě můžete barvu změnit ale tato změna se nepromítne do uživatelské vlastnosti součástiad b) máte další tabulkuObojí bych řešil přes makro.
Hrubý nástřel:Pokud se jedná o součást vypiš její barvu, pokud se jedná o neprázdnou sestavu vypiš barvu prvního dílu (tedy pokud má celá sestava stejnou barvu). Název barvy se samozřejmě nemusí vypisovat, ale je možné ho vložit do uživatelské proměnné. Tedy něco jako bod a) výše.Public Sub RenderStyle() Dim oInvDoc As Document Dim oCompDef As Inventor.ComponentDefinition Dim oCompOcc As ComponentOccurrence Dim oRenderStyle As RenderStyle Dim strRenderStyle As String Set oInvDoc = ThisApplication.ActiveDocument If oInvDoc.DocumentType = kPartDocumentObject Then Set oRenderStyle = oInvDoc.ActiveRenderStyle strRenderStyle = oRenderStyle.Name End If If oInvDoc.DocumentType = kAssemblyDocumentObject Then Set oCompDef = oInvDoc.ComponentDefinition If oCompDef.Occurrences.Count = 0 Then strRenderStyle = "Je prázdná sestava" Debug.Print strRenderStyle Set oInvDoc = Nothing Exit Sub End If Set oCompOcc = oCompDef.Occurrences.Item(1) Set oRenderStyle = oCompOcc.RenderStyle strRenderStyle = oRenderStyle.Name End If If oInvDoc.DocumentType <> kPartDocumentObject And oInvDoc.DocumentType <> kAssemblyDocumentObject Then strRenderStyle = "Není díl nebo sestava" End If Debug.Print strRenderStyle Set oInvDoc = NothingEnd Sub