DXF/pl

Tło historyczne

Drawing Exchange Format (DXF) to zastrzeżony format danych CAD opracowany przez Autodesk w celu umożliwienia wymiany plików między ich flagowym produktem AutoCAD a innym oprogramowaniem. Istnieje wiele dobrych bibliotek oprogramowania do odczytu/zapisu formatu DXF.

Istnieje wiele wersji formatu DXF. Można usłyszeć o niektórych kluczowych wersjach, takich jak R12 (z 1992 r.) lub R14 (z 1997 r., która miała splajny). Późniejsze wersje DXF mają elementy 3D, ale są one rzadko używane lub wdrażane. Sposób wykorzystania DXF do udostępniania danych CAD między programami zależy głównie od ograniczeń i błędów w odpowiednich czytnikach / importerach i programach zapisujących / eksporterach. Rzadko są one w pełni udokumentowane i mogą być źródłem frustracji.

Jeśli edytujesz pliki DXF i chcesz, aby pozostały prawie takie same po ich zapisaniu, zalecamy użycie LibreCAD lub QCad, ponieważ wewnętrzne struktury danych tych programów są kompatybilne z obiektami w pliku DXF.

W programie FreeCAD czytniki DXF muszą przetłumaczyć geometrię (np. kształty splajnu) z pliku DXF na określone wewnętrzne reprezentacje środowiska pracy.

Metody importowania DXF

Jeśli zamierzasz często sprawdzać ustawienia, zalecamy przejście do menu Edycja → Preferencje ...→ Import-Eksport → DXF i zaznaczenie pola Pokaż okno dialogowe podczas importowania i eksportowania.

Więcej informacji znajduje się na stronach Rysunek Roboczy: DXF i FreeCAD i import DXF.

Jeśli zaimportowana geometria jest używana do tworzenia kształtów 3D w środowisku pracy Projekt Części, po zaimportowaniu pliku DXF do szkicu należy użyć opcji Sprawdź poprawność szkicu.

Importer C++ DXF

Ta implementacja jest szybka, ale pomija funkcje, których nie rozpoznaje, takie jak splajny DXF. Może również importować geometrię do środowiska pracy Rysunek Roboczy tylko jako pojedyncze wpisy w drzewie modelu. Kolory mogą być odczytywane z pliku po zaznaczeniu tej opcji. Aby uzyskać więcej informacji, zobacz ten post na forum.

Importer DXF w Pythonie

Ten importer musi zostać pobrany i zainstalowany, zanim będzie można z niego korzystać. Użyj opcji Pozwól programowi FreeCAD na automatyczne pobieranie i aktualizację bibliotek DXF.

Ten importer ma więcej funkcji (takich jak implementacja splajnów) i ma opcję ładowania kształtów DXF do środowiska pracy Szkicownik. Należy jednak pamiętać, że wszystkie elementy szkicu pojawią się pojedynczo po raz drugi w drzewie modelu, co może być mylące. Możesz usunąć wszystkie te pojedyncze obiekty i zachować pojedynczy szkic (który pojawi się jako drugi wpis na liście nowych elementów).

Niestety, Szkicownik nie implementuje kolorów, więc cała geometria pojawi się na tym samym poziomie, co stanowi problem, jeśli plik zawiera wiele linii konstrukcyjnych. Jednym z obejść jest otwarcie rysunku w LibreCAD i usunięcie całej geometrii, której nie chcesz wyświetlać, przed zapisaniem pliku zawierającego dokładnie tę geometrię, którą chcesz załadować.

Makrodefinicje

Miej oko na forum FreeCAD lub Przepisy na makropolecenia na alternatywne implementacje importowania i czyszczenia DXF w miarę ich rozwoju.

Zapis DXF

Oprócz opcji w menu Edycja → Preferencje ..., środowisko pracy Rysunek Techniczny może również eksportować strony rysunku do DXF za pomocą funkcji Eksport strony do DXF.


DXF - pojęcia i definicje

Anonimowe bloki

Przy omawianiu plików DXF, używanych jest kilka określeń do opisu bloków, które są generowane automatycznie przez oprogramowanie CAD a nie przez użytkownika.

Zasadniczo, "blok anonimowy" to określenie techniczne, "blok systemowy" opisuje jego funkcję a "blok ukryty" jego typowe zachowanie w interfejsie użytkownika. Do celów praktycznych w kontekście importera DXF we FreeCAD, wszystkie te określenia odnoszą się do tej samej kategorii bloków.

Klasy bloków anonimowych

Bloki anonimowe są dalej kategoryzowane w oparciu o znak po początkowej gwiazdce. Ten przedrostek wskazuje specyficzny cel bloku. Najpopularniejsze klasy to:

Obiekty BLOCK oraz INSERT

Obiekt BLOCK

BLOCK to nazwany zbiór obiektów geometrycznych (linii, łuków, polilinii itd.), które są pogrupowane razem aby utworzyć pojedynczą definicję obiektu. Można to traktować jak szablon.

BLOCK:

Obiekt INSERT

Obiekt INSERT umieszcza kopię (instancję) geometrii obiektu BLOCK w przestrzeni modelu lub kartki rysunku. Jest to bardzo lekki obiekt, ponieważ sam nie zawiera geometrii a jedynie odniesienie do definicji obiektu BLOCK i instrukcje jak go umieścić i przekształcić.

Obiekt INSERT:

Strategie umiejscawiania obiektów BLOCK

Plik DXF oddziela definicję komponentu od jego umiejscowienia.

Istnieją dwa główne podejście do używania bloków i wstawień:

  1. Podejście z użyciem szabloni i instancji: Tworzona jest pojedyncza definicja obiektu BLOCK i wiele obiektów INSERT używanych do umiejscowienia jego instancji na całym rysunku. To wydajny sposób w przypadku powtarzalnych elementów. Przykładowo, geometria krzesła jest definiowana raz w obiekcie BLOCK a następnie jest wiele odniesień do niej przez obiekty INSERT.
  2. Podejście z użyciem złożonego obiektu: Tworzony jest obiekt BLOCK z istniejącej geometrii aby pogrupować te obiekty razem jako jedną wybieralną jednostkę. W tym wypadku, definicja obiektu BLOCK jest używana przez tylko jeden obiekt INSERT.

Importer DXF musi umieć rozróżnić te dwa przypadki aby prawidłowo przedstawiać założenie oryginalnego rysunku, poprzez tworzenie wielu instancji powiązanych z jednym obiektem bazowym (model szablonu) lub poprzez tworzenie jednego widocznego obiektu (model z pogrupowanymi obiektami).