ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
Již 10.000+ CAD tipů. Přes 118.000 registrovaných u nás, celkem 1.091.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků. Vyzkoušejte nový přesný Inženýrský kalkulátor. Kompletní příkazy AutoCADu a proměnné AutoCADu 2026.
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

?
CAD 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, 3ds Max, Vault a s dalšími CAD/BIM/PDM 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 (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoHromadný převod do DXF

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

Přihlášen: 11.říj.2012
Lokalita: ČR (JM)
Používám:
Inventor 2017
Stav: Offline
Bodů: 20
Přímý odkaz na tuto zprávu Téma: Hromadný převod do DXF
    Zasláno: 12.říj.2012 v 09:54
Dobrý den,
v současnosti používám kód pro převod plechových součástí do DXF, který je v každé součásti zvlášť. Chtěl bych všechny plechové součásti převést pomocí jednoho pravidla napsaného v sestavě (moje představa je, aby kód vyhledal pouze plechové součásti a ty následně uložil jako DXF). Ještě v kódu potřebuji vypnout některé hladiny.
Tady je kód, který používám.

Public Sub Main()
    ' Získat aktivní dokument, musí to být součást, rozvinutý tvar
    Dim invDoc As Inventor.Document
    invDoc = ThisApplication.ActiveDocument
   
    ' Jméno dokumentu
    Dim sFileName As String
    sFileName = invDoc.DisplayName
    sFileName = Left(sFileName, Len(sFileName) - 1) 'bez .IPT

    ' Vytvořit objekt DataIO
    Dim oDataIO As DataIO
    oDataIO = invDoc.ComponentDefinition.DataIO
 
    ' Parametry definující formát výstupního souboru DWG nebo DXF
    Dim sParam As String
    sParam = "FLAT PATTERN DXF?AcadVersion=2000"
'dostupné formáty: AcadVersion = "2005","2004","2002", "2000", "R14", "R13", "R12" (R12 jen pro DXF)

 
    ' Vytvořit výstupní DWG nebo DXF soubor v adresáři C:\TEMP
    Dim sDXFFileName As String
    sDXFFileName = "c:\temp\" & sFileName & ".dxf"
    oDataIO.WriteDataToFile (sParam, sDXFFileName)
End Sub


Děkuji
Adam Blažek
Zpět nahoru
Adamito Zobrazit panel
Diskutér
Diskutér

Přihlášen: 11.říj.2012
Lokalita: ČR (JM)
Používám:
Inventor 2017
Stav: Offline
Bodů: 20
Přímý odkaz na tuto zprávu Zasláno: 15.říj.2012 v 14:02
Vytvořil jsem kód pro hromadné uložení všech souborů do jiného typu, s malou záměnou je funkční pro různé tipy přípon, problém nastane když chci ukládat do dxf. Předpokládám, že je problém v cestě k rozvinu.
Neví někdo co s tím?

Sub
Main()
  
    Dim sFile As String, sInDir As String, sOutDir As String, I As String
    Dim oDocs As Documents, oDoc As Document
 
    oDocs = ThisApplication.Documents
 
    'Cesta pro otevření a uložení souboru
    sInDir = (ThisDoc.Path & "\")
    sOutDir = (ThisDoc.Path & "\DXF\")
     
    sFile = Dir(sInDir)
     
    While (sFile <> "")
                       
        'Definice formatu souboru pro otevření (IPT, IAM, IDW...)
        If (Right(sFile, 3) = "ipt") Then
            Debug.Print (sFile)
            oDoc = oDocs.Open(sInDir & sFile, False)
 
            ' Vytvořit objekt DataIO
            Dim oDataIO As DataIO
            oDataIO = oDoc.ComponentDefinition.DataIO
 
            ' Parametry definující formát výstupního souboru DXF
            Dim sParam As String
            sParam = "FLAT PATTERN DXF?AcadVersion=2000"
                 
                  ' Vytvořit výstupní DXF soubor v adresáři
            Dim sDXFFileName As String
            sDXFFileName = (sOutDir & Left(sFile, Len(sFile) - 3) & "DXF")
            MessageBox.Show(sDXFFileName, " CESTA SOUBORU")
            oDataIO.WriteDataToFile (sParam, sDXFFileName)
                 
        End If
 
        sFile = Dir
 
      End While
End Sub
Zpět nahoru
Navara Zobrazit panel
ARKANCE support
ARKANCE support
Avatar
Arkance Systems

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1637
Přímý odkaz na tuto zprávu Zasláno: 15.říj.2012 v 14:37
Problémy jsou tu dva.
1) Adresář pro DXF musí existovat, jinak to skončí s chybou při zápisu do souboru
...
oDataIO.WriteDataToFile (sParam, sDXFFileName)
...
 
2) Pokud není otevíraná součást plech, skončí to s chybou tamtéž.

A jedna poznámka na závěr: Otevřený soubor je po dokončení vhodné zavřít.
 
...
oDoc.Close(true)
End If
...
 
Zpět nahoru
Adamito Zobrazit panel
Diskutér
Diskutér

Přihlášen: 11.říj.2012
Lokalita: ČR (JM)
Používám:
Inventor 2017
Stav: Offline
Bodů: 20
Přímý odkaz na tuto zprávu Zasláno: 17.říj.2012 v 07:40
Děkuji za rady.
Přidal jsem pravidlo pro testování plechu a už to běhá.

Ještě při převodu potřebuji vypnout některé hladiny, cary ohybu a nejak se mi to nedari.
...
sParam = "FLAT PATTERN DXF?AcadVersion=2000"
                + "&TangentLayer=IV_TANGENT" _
                + "&BendLayer=IV_BEND" _



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

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1637
Přímý odkaz na tuto zprávu Zasláno: 17.říj.2012 v 08:00
Hladiny je potřeba vypnout, ne přejmenovat.
sParam = "FLAT PATTERN DXF?AcadVersion=2000&InvisibleLayers=IV_TANGENT;IV_BEND;IV_BEND_DOWN"
Zpět nahoru
Adamito Zobrazit panel
Diskutér
Diskutér

Přihlášen: 11.říj.2012
Lokalita: ČR (JM)
Používám:
Inventor 2017
Stav: Offline
Bodů: 20
Přímý odkaz na tuto zprávu Zasláno: 22.říj.2012 v 09:07
Dobrý den,
děkuji za výše uvedené připomínky a chtěl bych se ještě zeptat jestli je možné získat cestu k souboru jako iVlastnost
např. takto: cesta = iProperties.Value("Project", "Location")
Zpět nahoru
Navara Zobrazit panel
ARKANCE support
ARKANCE support
Avatar
Arkance Systems

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1637
Přímý odkaz na tuto zprávu Zasláno: 22.říj.2012 v 13:40
V iVlastnostech se cesta k souboru nevyskytuje. Je ale možné jí získat z plného názvu souboru
SyntaxEditor Code Snippet
Dim fileName As String = ThisDoc.Document.FullFileName
Dim fileLocation As String = System.IO.Path.GetDirectoryName(fileName)
 


Upravil Navara - 22.říj.2012 v 13:40
Zpět nahoru
Adamito Zobrazit panel
Diskutér
Diskutér

Přihlášen: 11.říj.2012
Lokalita: ČR (JM)
Používám:
Inventor 2017
Stav: Offline
Bodů: 20
Přímý odkaz na tuto zprávu Zasláno: 24.říj.2012 v 11:39
Lze toto použít pro získání cesty k jednotlivým souborům v sestavě, přičemž by pravidlo bylo zapsáno pouze v hlavní sestavě?
Momentálně to obcházím přes kusovník, kde získávám cestu k souborům.

Jsou dostupné nějaké návody a popis pro API v češtině.

Děkuji.
Zpět nahoru
Navara Zobrazit panel
ARKANCE support
ARKANCE support
Avatar
Arkance Systems

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1637
Přímý odkaz na tuto zprávu Zasláno: 24.říj.2012 v 12:32
Odpověď je podobná jako v tomto případě
 
Pro API žádné návody ani popisy v češtině nejsou (naštěstí, protože nechci vědět, jak by ty překlady dopadly)
Zpět nahoru
hoboj Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 22.led.2008
Lokalita: ČR (HK)
Používám:
NX; ProE; Creo; I13; AutoCAD2011, SurfCAM, EdgeCAM
Stav: Offline
Bodů: 811
Přímý odkaz na tuto zprávu Zasláno: 08.lis.2012 v 13:43
Chtěl bych se zeptat na řádek, kde se nastavuje objekt DataIO a potom na sParam, jestli by to šlo poupravit pro export výkresu idw na dwg verze R14.
Šlo by to?
 
Mám makro na export idw -> dwg , ale pouze verze 2000 a to bych potřeboval změnit na R14.
 
Děkuji za rady.
Vojtěch Visingr
Zpět nahoru
Navara Zobrazit panel
ARKANCE support
ARKANCE support
Avatar
Arkance Systems

Přihlášen: 08.zář.2008
Lokalita: ČR (Pha)
Používám:
Inventor
Stav: Offline
Bodů: 1637
Přímý odkaz na tuto zprávu Zasláno: 09.lis.2012 v 08:08
Formát R14 je povlen pouze pro DXF.
Zpět nahoru
hoboj Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 22.led.2008
Lokalita: ČR (HK)
Používám:
NX; ProE; Creo; I13; AutoCAD2011, SurfCAM, EdgeCAM
Stav: Offline
Bodů: 811
Přímý odkaz na tuto zprávu Zasláno: 09.lis.2012 v 08:11
a jak by to šlo napsat pro dxf?
Prosím Smile
Vojtěch Visingr
Zpět nahoru
Adamito Zobrazit panel
Diskutér
Diskutér

Přihlášen: 11.říj.2012
Lokalita: ČR (JM)
Používám:
Inventor 2017
Stav: Offline
Bodů: 20
Přímý odkaz na tuto zprávu Zasláno: 09.lis.2012 v 09:15
Dobrý den,
u mě stačilo přepsat 2000 na R14 (respektive R12, R14 nemám podporován)
Zpět nahoru
hoboj Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 22.led.2008
Lokalita: ČR (HK)
Používám:
NX; ProE; Creo; I13; AutoCAD2011, SurfCAM, EdgeCAM
Stav: Offline
Bodů: 811
Přímý odkaz na tuto zprávu Zasláno: 09.lis.2012 v 09:51
To funguje pro rozvin, já to ale potřebuji pro normální výkres idw bez rozvinu..
 
Na to už mám makro, ale v makru nevím, jak nastavit starší verzi.
Vojtěch Visingr
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 7849:VIPAutomatické vytváření DXF, DWG a DWF souborů z IPT a IDW souborů.
Tip 12159:VIPSnadný převod souborů SVG, CGM, VSD nebo AI do AutoCADu. Převod DWG-DXF.
Tip 4134:Dávkový převod IDW výkresů Inventoru do DWG, DXF a DWF.
Tip 13195:VIPHromadný převod výkresů Inventoru do PDF (celá složka, iLogic).
Tip 4147:VIPImport VRML, XGL a dalších 3D formátů do AutoCADu a Inventoru.
Tip 9967:Dávkový převod CAD souborů z/do formátů IPT/IAM, STEP, IGES, SAT, Catia, apod.


 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,320 sekund.