Rysunek Roboczy: DXF

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page Draft DXF and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎română • ‎svenska • ‎čeština • ‎русский

Opis

Funkcja DXF, środowiska Rysunek Roboczy jest modułem oprogramowania używanym przez polecenia Std Open.svg Otwórz, Std Import.svg Importuj i Std Export.svg Eksportuj do obsługi formatu pliku DXF.

Screenshot qcad.jpg

Rysunek Qcad wyeksportowany do DXF, który jest następnie otwierany w programie FreeCAD

Importowanie

Dostępne są dwa importery, który z nich będzie używany można określić w menu Edycja → Preferencje → Import/Eksport → DXF: Pierwszy jest wbudowany, oparty na C++ i szybki, drugi jest starszy, zakodowany w Pythonie, wolniejszy i wymaga instalacji dodatku, ale czasami lepiej radzi sobie z niektórymi wystąpieniami obiektów i potrafi tworzyć bardziej dopracowane obiekty FreeCAD. Oba obsługują wszystkie wersje DXF począwszy od R12.

Bryły 3D wewnątrz pliku DXF są przechowywane w binarnym bloku ACIS/SAT, który w tej chwili nie może być odczytany przez FreeCAD.

Importer C++

Można importować następujące obiekty DXF:

  • linie
  • polilinie (oraz długie polilinie)
  • okręgi
  • łuki
  • splajny
  • elipsy
  • warstwy
  • teksty i meta teksty
  • wymiary
  • bloki (tylko geometria, teksty, wymiary i atrybuty wewnątrz bloków będą pomijane)
  • punkty
  • obiekty odniesienia
  • obiekty przestrzeni papierowej

Starszy importer

Importer ten może importować następujące obiekty DXF:

  • linie
  • polilinie (i lwpolilinie)
  • łuki
  • okręgi
  • elipsy
  • splajny
  • ściany 3D
  • teksty i mteksty
  • linie odniesienia
  • warstwy

Eksportowanie

Istnieją również dwa eksportery. Starszy eksporter eksportuje do formatu R12 DXF, a eksporter C++ do formatu R14 DXF. Oba formaty mogą być obsługiwane przez wiele aplikacji.

Eksporter C++

Niektóre z cech i ograniczeń tego eksportera to:

  • Eksportowana jest cała geometria FreeCAD 2D, z wyjątkiem Draft CubicBezCurves, Draft BezCurves i Draft Points.
  • Proste krawędzie z powierzchni obiektów 3D są eksportowane, ale krawędzie zakrzywione tylko wtedy, gdy leżą na płaszczyźnie równoległej do płaszczyzny XY globalnego układu współrzędnych. Należy pamiętać, że DXF utworzony z obiektów 3D będzie zawierał zduplikowane linie.
  • Teksty i wymiary nie są eksportowane.
  • Kolory są ignorowane.
  • Warstwy są mapowane na podstawie nazw obiektów.

Starszy eksporter

Niektóre z cech i ograniczeń tego eksportera to:

  • Eksportowana jest cała geometria FreeCAD 2D, z wyjątkiem Punktów środowiska Rysunek Roboczy. Jednak elipsy, krzywe złożone i krzywe Béziera nie są eksportowane poprawnie.
  • Obiekty 3D są eksportowane jako spłaszczony widok 2D,
  • Obiekty złożone są eksportowane jako bloki,
  • teksty,
  • Kolory w DXF są oparte na kolorze linii obiektów. Czarny jest mapowany do "ByBlock", inne kolory są mapowane przy użyciu kolorów indeksu kolorów AutoCAD Color Index (ACI).
  • Warstwy są odwzorowywane na podstawie nazw grup. Gdy grupy są zagnieżdżone, najgłębsza grupa nadaje nazwę warstwy'

Instalacja

Z powodów licencyjnych, wymagane biblioteki importu/eksportu DXF potrzebne dla starszej wersji importera, nie są częścią kodu źródłowego programu FreeCAD. Aby uzyskać więcej informacji zobacz stronę: FreeCAD i import DXF.

Ustawienia

Aby uzyskać więcej informacji zobacz stronę Ustawienia Importu i Eksportu.

Tworzenie skryptów

Zobacz również: Dokumentacja API generowana automatycznie oraz Podstawy tworzenia skryptów FreeCAD.

Do eksportu obiektów do DXF użyj metody export modułu importDXF.

importDXF.export(objectslist, filename, nospline=False, lwPoly=False)
  • Dla systemu operacyjnego Windows: użyj / (ukośnik do przodu) jako separatora ścieżki w filename.

Przykład:

import FreeCAD as App
import Draft
import importDXF

doc = App.newDocument()

polygon1 = Draft.make_polygon(3, radius=500)
polygon2 = Draft.make_polygon(5, radius=1500)

doc.recompute()

objects = [polygon1, polygon2]
importDXF.export(objects, "/home/user/Pictures/myfile.dxf")