Zobrazit plnou verzi příspěvku: DXF převodník do G-kódu
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
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.
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é.
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.
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.