Zobrazit plnou verzi příspěvku: DXF převodník do G-kódu

Spa001
03.09.2014, 08:57

Dobrý den,programuji si převodník DXF souborů (2D výkresů) na G-kód pro stroje a jediným pomocníkem mi je DXF referenční příručka od AutoCadu (http://www.autodesk.com/techpubs/autocad/acadr14/dxf/).  Momentálně dokážu rozebrat DXF soubor na jednotlivé sekce a úspěšně vytahovat LINE, CIRCLE, ARC, POLYLINE a LWPOLYLINE entity, které následně převádím do G-kódu. Narazil jsem však na některé výkresy využívající kopie entit "podle kruhu / kruhové trasy". Když tento DXF výkres převedu na G-kód a zobrazím, vše je ok, avšak zobrazí se i "pomocný kruh pro kopírování" který bych zobrazovat neměl. Nevíte náhodou někdo, podle čeho mám určovat kdy entitu zobrazit a kdy ne? Má to něco společného s "*model space" a "*paper space"? Děkuji za případné rady.Alex. 

Vladimír Michl
03.09.2014, 09:10

DXF soubor je textová podoba formátu DWG. Vámi používaná specifikace pro Rel.14 je už dosti zastaralá. Novější verze obsahují desítky dalších typů objektů a jejich programová interpretace není moc triviální úloha. Nicméně DXF soubory verze R14 by neměly obsahovat popisované entity asociativních polí. Pro převod na G-kód se možná podívejte na novou aplikaci Autodesk Fusion 360 (s modulem CAM 360). Ta je pro nekomerční využití zdarma a umožňuje zpracovávat CAD modely v libovolném souborovém formátu, včetně DXF. Lze si vytvářet vlastní postprocesory pro NC výstup. Viz:www.cadstudio.cz/fusion360www.cadstudio.cz/cam 

Spa001
03.09.2014, 09:24

Autodesk Fusion 360 bych si rád stáhnul, ale mám "pouze" 32bit. Windows 7 Pro a hned v úvodu to napíše, že jsem mimo podporu...  Jinak samozřejmě nemám v úmyslu přeprogramovávat všech cca 60 typů entit které DXF formát umí. Jaktože je R14 zastaralá? Není to verze pro rok 2014?  Nějaká rada k tomu DXF?  Děkuji.Alex

Vladimír Michl
03.09.2014, 09:36

Ne, R14 je patnáct verzí starý AutoCAD z roku 1997 - viz:http://www.cadstudio.cz/autocad#Historie Existuje i popis DXF aktuální verze 2015 (zde), ale ta je o dost komplikovanější. Fusion 360 a řada dalších aktuálních verzí CAD/CAM aplikací je bohužel již jen pro 64bitové Windows.

Spa001
03.09.2014, 10:51

Děkuji za odkaz na nejnovější verzi - přes offic. web AutoCadu prostě nejde najít. K tomu DXF. Níže je Blok s Circle entitou, která je "vodičem" pro kopii entit umístěných v ENTITIES sekci. Podle čeho to mám poznat? Děkuji.Alex.   0BLOCK  5903302E100AcDbEntity  80100AcDbBlockBegin  2SE 70     0 100.0 200.0 300.0  3SE  1SE  0CIRCLE  52F3302E100AcDbEntity  8DV1_Default  6Continuous 62     7100AcDbCircle 10218.7354825045483 20146.5635249961415 300.0 40139.0029316708945

Vladimír Michl
03.09.2014, 11:32

To vypadá jako klasický blok - tedy definice bloku obsahujícího kružnici. Jak a zda vůbec je potom tato definice použita ve výkresu (tedy "reference" bloku), není z této části zřejmé.

Spa001
04.09.2014, 09:59

Dobrý den,tak na problém jsem nepřišel a budu jej tedy ignorovat. Ještě bych měl dotaz - jsou i jiné programy od AutoCadu (mimo Fusion 360) které mají možnost výstupu pro NC stroj (mají nějaký ten postprocesor)?  Lze nějak v AutoCadu nastavit, aby byl v DXF výstupu pouze LINE a ARC entity (i když pro modelování byly použity elipy, spline atp.? Děkuji.Alex

Vladimír Michl
04.09.2014, 10:11

Ano, od Autodesku jsou i jiné CAM programy - např. HSM nebo 123D Design. DXF výstup je textový obraz DWG databáze, takže ovlivnit co je v DXF můžete jen kreslením. Nicméně když z AutoCADu nastavíte při exportu DXF formát staré verze R14, budou nové/složitější typy objektů rozbity na jednodušší - což vám pomůže.

Spa001
04.09.2014, 10:28

Všechny výše uvedené aplikace běhají jen na 64. bit Windows. Nějaký i starší , který bych rozběhal na 32 bitech?  Ještě k tomu DXF. Rozumím, že nelze měnit nic v DXF pokud je nějak vytvořené, ale když máme ve firmě AutoCad 2010 a mají otevřený výkres (DXF/DWG atd.), tak opravdu nemá AutoCad žádnou funkci, která by uměla změnit vybrané části výkresu třeba na úsečky o délce 1mm (z kruhů a oblouků)? Děkuji.Alex. 

Vladimír Michl
04.09.2014, 10:55

Staršího nic není, protože se Autodesk do oblasti CAM pustil relativně nedávno. Ta volba verze DXF (během exportu) by měla pomoci s většinou objektů. Rozbít výkres na jednodušší objekty jde i nástroji AutoCADu, např. příkazem _EXPLODE,  převodem oblouků utilitou Arc2Lin, výstupem do HPGL (PLT) a jeho opětným načtením, přes WMF, apod.