Draft DXF/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "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 odni...")
No edit summary
Line 46: Line 46:
Importer ten może importować następujące obiekty DXF:
Importer ten może importować następujące obiekty DXF:
* linie
* linie
* polilinie (i lwpolilinie)
* polilinie ''(i lwpolilinie)''
* łuki
* łuki
* okręgi
* okręgi

Revision as of 18:58, 19 September 2021

Opis

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

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++

Some of the features and limitations of this exporter are:

  • All FreeCAD 2D geometry is exported, except Draft CubicBezCurves, Draft BezCurves and Draft Points.
  • Straight edges from faces of 3D objects are exported, but curved edges only if they are on a plane parallel to the XY plane of the global coordinate system. Note that a DXF created from 3D objects will contain duplicate lines.
  • Texts and dimensions are not exported.
  • Colors are ignored.
  • Layers are mapped from object names.

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")