Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 9935 
RSS kanál - CAD tipy RSS tipy
RSS 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 Arkance Systems (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

Téma uzavřenoSestava - export dxf

 Odpovědět Odpovědět archiv
Autor
michalkopriva Zobrazit panel
Diskutér
Diskutér

Přihlášen: 29.čer.2017
Lokalita: ČR (Pha)
Používám:
Inventor Pro 2018
Stav: Offline
Bodů: 27
Přímý odkaz na tuto zprávu Téma: Sestava - export dxf
    Zasláno: 02.kvě.2019 v 09:52
Zdravím,
mám vytvořenou sestavu ve které mám formulář do kterého se vkládá konfigurace podle které se následně upraví jednotlivé díly. Potřeboval bych vytvořit pravidlo v sestavě na export všech jednotlivých dílů do dxf po změně parametrů. Nevěděl by někdo jak na to? Pořád mi vyskakuje chyba :-/ Děkuji :-)

Edit:
V každém dílu mám vytvořené pravidlo na export dxf, to funguje správně.
Ale když v sestavě použiji v pravidle "iLogicVb.RunRule("Side_A:1", "Dxf")", tak mi vyskočí chyba:
 
"Error in rule: Dxf, in document: 19-109157.ipt
Forkert parameter. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))"


Upravil michalkopriva - 03.kvě.2019 v 08:23
Zpět nahoru
michalkopriva Zobrazit panel
Diskutér
Diskutér

Přihlášen: 29.čer.2017
Lokalita: ČR (Pha)
Používám:
Inventor Pro 2018
Stav: Offline
Bodů: 27
Přímý odkaz na tuto zprávu Zasláno: 03.kvě.2019 v 10:36
Nikdo neví? :-/
Zpět nahoru
Navara Zobrazit panel
Arkance Systems support
Arkance Systems support
Avatar
Arkance Systems

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1636
Přímý odkaz na tuto zprávu Zasláno: 03.kvě.2019 v 10:54
Budu se opakovat, ale nepoužívejte interní pravidla na úlohy typu export. Na to použijte externí pravidlo a to potom ze sestavy zavolejte.
Pokud máte chybu v tom vašem pravidle, tak ho sem dejte, ať se na to můžeme podívat.
 
 
Zpět nahoru
michalkopriva Zobrazit panel
Diskutér
Diskutér

Přihlášen: 29.čer.2017
Lokalita: ČR (Pha)
Používám:
Inventor Pro 2018
Stav: Offline
Bodů: 27
Přímý odkaz na tuto zprávu Zasláno: 03.kvě.2019 v 12:27
V iLogicu jsem amatér, učím se :-)
Jaký je v tom rozdíl? :-)

Vytvořil jsem tedy externí pravidlo:

Dim fSett As String
    fSett = "FLAT PATTERN DXF?AcadVersion=2004&RebaseGeometry=True&OuterProfileLayer=0&OuterProfileLayerColor=0;0;0&InteriorProfilesLayer=0&InteriorProfilesLayerColor=0;0;0&InvisibleLayers=IV_ARC_CENTERS;IV_TANGENT;IV_ROLL;IV_ROLL_TANGENT;IV_ALTREP_BACK;IV_ALTREP_FRONT;IV_FEATURE_PROFILES_DOWN;IV_FEATURE_PROFILES;IV_TOOL_CENTER_DOWN;DIGI_MARKER_TOOL_1;DIGI_MARKER_TOOL_2;IV_BEND;IV_BEND_DOWN" 'Nastaveni exportu
    Dim fSname As String
    fSname = Parameter("FilesStorage") & "JSMMU-" & Parameter("type_of_connection") & "-B-" & Parameter("length_B") & ".dxf" 'Nastaveni ulozeni cesta+nazev
ThisApplication.ActiveDocument.ComponentDefinition.DataIO.WriteDataToFile( fSett, fSname) 'Save s nastavenim fSett a do cesty fSname
'    MessageBox.Show("DXF was save: " & fSname,"Flat Pattern", MessageBoxButtons.OK) 'Message report


Když toto externí pravidlo spustím v .ipt ručně, tak se dxf vygeneruje. Jen nevím, jak ho správně vyvolat ze sestavy...

Zpět nahoru
Navara Zobrazit panel
Arkance Systems support
Arkance Systems support
Avatar
Arkance Systems

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1636
Přímý odkaz na tuto zprávu Zasláno: 06.kvě.2019 v 09:52
Já bych to řešil tak, že si z aktivní sestavy zjistím všechny plechové součásti a na nich spustím export do DXF.
 
Sub Main()
 'Assembly document must be active
 Dim oAssembly As AssemblyDocument = ThisDoc.Document
 'Iteration thru all referenced douments of active assembly document
 For Each document As Document In oAssembly.AllReferencedDocuments
  'Process only sheetmetal parts
  If document.DocumentType = DocumentTypeEnum.kPartDocumentObject And
   document.DocumentSubType.DocumentSubTypeID = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then
   ExportDxf(document)
  End If
 Next
 MsgBox("Hotovo")
End Sub
'Constant value for all exports
Dim fSett As String = "FLAT PATTERN DXF?AcadVersion=2004&RebaseGeometry=True&OuterProfileLayer=0&OuterProfileLayerColor=0;0;0&InteriorProfilesLayer=0&InteriorProfilesLayerColor=0;0;0&InvisibleLayers=IV_ARC_CENTERS;IV_TANGENT;IV_ROLL;IV_ROLL_TANGENT;IV_ALTREP_BACK;IV_ALTREP_FRONT;IV_FEATURE_PROFILES_DOWN;IV_FEATURE_PROFILES;IV_TOOL_CENTER_DOWN;DIGI_MARKER_TOOL_1;DIGI_MARKER_TOOL_2;IV_BEND;IV_BEND_DOWN"                  'Nastaveni exportu
Sub ExportDxf(sheetmetalPart As PartDocument)
 Try
  'Reference to part parameters
  Dim parameters = sheetmetalPart.ComponentDefinition.Parameters
  'Get parameter values
  Dim fileStorage As String = GetParameterValue("FilesStorage", parameters)
  Dim typeOfConnection As String = GetParameterValue("type_of_connection", parameters)
  Dim lengthB As String = GetParameterValue("length_B", parameters)
  'Build target file name
  Dim fSname As String = String.Format("{0}JSMMU-{1}-B-{2}.dxf", fileStorage, typeOfConnection, lengthB) 'Nastaveni ulozeni cesta+nazev

  'Export flatpattern to DXF
  sheetmetalPart.ComponentDefinition.DataIO.WriteDataToFile(fSett, fSname) 'Save s nastavenim fSett a do cesty fSname
  '    MessageBox.Show("DXF was save: " & fSname,"Flat Pattern", MessageBoxButtons.OK) 'Message report
 Catch ex As Exception
  MsgBox(String.Format("Export se nezdaril.{2}FileName: {0}{2}Exception{1}", sheetmetalPart.FullFileName, ex, vbCrLf))
 End Try
End Sub
Function GetParameterValue(paramName As String, parameters As Parameters) As String
 Try
  'Returns parameter value as string if exists
  Return parameters(paramName).Value.ToString()
 Catch
  'Parameter with given name can't be found
  Return ""
 End Try
End Function
 
Co se týká použití externích pravidel, tak tam je ten důvod hlavně jednoduchá, centrální změna chování bez nutnosti aktualizovat obsah souborů.
 
Zpět nahoru
michalkopriva Zobrazit panel
Diskutér
Diskutér

Přihlášen: 29.čer.2017
Lokalita: ČR (Pha)
Používám:
Inventor Pro 2018
Stav: Offline
Bodů: 27
Přímý odkaz na tuto zprávu Zasláno: 06.kvě.2019 v 11:16
Super Smile
Nevím, jestli jsem to udělal správně (celé jsem to vložil do pravidla sestavy), ale funguje mi to.
Budu si u vás muset zařídit nějaké školení Smile
Moc děkuji za řešení.

To mě ani nenapadlo, ale je to celkem logické Big smile

Jen tedy v mém případě mi to teď funguje bez dalších pravidel v jednotlivých dílech...
Moc tomu tedy nerozumím :-D
Jak říkám, jsem amatér :-)
Zpět nahoru
michalkopriva Zobrazit panel
Diskutér
Diskutér

Přihlášen: 29.čer.2017
Lokalita: ČR (Pha)
Používám:
Inventor Pro 2018
Stav: Offline
Bodů: 27
Přímý odkaz na tuto zprávu Zasláno: 11.zář.2019 v 10:26
Bylo by možné upravit toto pravidlo pro export, abych mohl zvolit (určit), pro které díly se mají exportovat dxf? Některé díly (držáky pro motory, nakupované díly, atd...) se nemění a není tedy potřeba znovu a znovu generovat nová dxf...

Seznam dílů pro export by byl v hlavní sestavě (buď v pravidle nebo v parametrech).

Je něco takového možné? :-)
Děkuji
Zpět nahoru
Navara Zobrazit panel
Arkance Systems support
Arkance Systems support
Avatar
Arkance Systems

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1636
Přímý odkaz na tuto zprávu Zasláno: 15.zář.2019 v 17:33
Možné to samozřejmě je, ale tady už je to spíš otázka na správu dat. Obvyklý postup je, že se data zařadí do Vaultu a při schválení se vygeneruje DXF. Pokud se ten díl nezmění, nedojde k novému schválení a DXF se znova netvoří. Doporučil bych vám zaměřit se spíš tímto směrem.
Pokud to z nějakého důvodu není možné, tak je potřeba doplnit ještě kontrolu na to, že daný díl je/není v nějakém seznamu dílů určených pro export.
Kontrola patří podle mě sem 
...
 For Each document As Document In oAssembly.AllReferencedDocuments
  'Process only sheetmetal parts
  If document.DocumentType = DocumentTypeEnum.kPartDocumentObject And
   document.DocumentSubType.DocumentSubTypeID = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}"  And IsDocumentForExport(document)  Then
   ExportDxf(document)
...
Jak tu kontrolu provést je už ale zcela jiná otázka a souvisí s tím, jak budete definovat ten seznam. (Hodnota iVlastnosti, seznam čísel součástí, je to knihovní díl, umístění v adresáři, ...). A tohle už za vás nikdo nevyřeší.

Zpět nahoru
michalkopriva Zobrazit panel
Diskutér
Diskutér

Přihlášen: 29.čer.2017
Lokalita: ČR (Pha)
Používám:
Inventor Pro 2018
Stav: Offline
Bodů: 27
Přímý odkaz na tuto zprávu Zasláno: 25.zář.2019 v 13:57
Děkuji, Vault bychom uvítali, ale zatím to není možné.

Nejsem schopný rozchodit kontrolu souborů pro export :-/

Je možné do pravidla vypsat názvy souborů (např.: 19-109321.ipt) pro export? Z celé sestavy jich bude cca 5, tak bych to nebyl takový problém.

Děkuji
Zpět nahoru
JDoubrava Zobrazit panel
Diskutér
Diskutér

Přihlášen: 04.kvě.2018
Lokalita: ČR (OL)
Používám:
Autocad
Stav: Offline
Bodů: 69
Přímý odkaz na tuto zprávu Zasláno: 25.zář.2019 v 15:15
Jestli jsem to správně pochopil tak by mělo stačit vytvořit testovací funkci "IsDocumentForExport" vracející hodnotu True pokud dokument součásti splňuje nějakou podmínku, třeba že jeho jméno je uvedené v nějakém seznamu nebo se jmenuje "PlechXXXXX".
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 12159:VIPSnadný převod souborů SVG, CGM, VSD nebo AI do AutoCADu. Převod DWG-DXF.
Tip 5626:VIPBezplatný dávkový konvertor 3D souborů formátu OBJ, 3DS, DXF.
Tip 8374:VIPStínovaný pohled Inventoru bez přechodů a odrazů.
Tip 2270:VIPJak hromadně převést sadu výkresů do DXF formátu?
Tip 9641:Export rozvinu z Inventoru do formátu DXF.
Tip 6424:VIPPoužití konstrukčních čar náčrtu ve výkresovém pohledu sestavy 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 1,297 sekund.