>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Rust

OpenCADStudio: jak entuzjasta pisze CAD w Rust i uruchamia go w przeglądarce

Każdy, kto próbował szybko otworzyć plik DWG w systemie Linux lub macOS bez kupowania drogich pakietów komercyjnych, zna ten ból. Opcje są zwykle ograniczone: albo okrojone darmowe wersje profesjonalnego oprogramowania, albo stare narzędzia z grafiką z początku lat 2000.

Na GitHub pojawił się interesujący projekt o nazwie OpenCADStudio (OCS). To edytor CAD 2D i 3D, całkowicie napisany w Rust. Najlepsze jest to, że autor zaimplementował natywną obsługę formatów DWG i DXF bez rozbudowanych bibliotek zewnętrznych i zbudował działającą wersję WebAssembly, którą można otworzyć bezpośrednio w przeglądarce.

resim

Co potrafi projekt

Interfejs OpenCADStudio został zaprojektowany z myślą o klasycznym AutoCAD. Na dole znajduje się znajoma linia poleceń z autouzupełnianiem, na górze menu Ribbon, a na bokach panele warstw i właściwości geometrii.

Jeśli spojrzy się na listę obsługiwanych poleceń, staje się jasne: to nie jest abstrakcyjna koncepcja, ale działający program.

Odczytywanie i zapisywanie plików

Edytor może odczytywać i zapisywać rysunki DWG i DXF od wersji R13 do R2018. Dostępny jest eksport do STL, STEP AP203 oraz PDF do druku. Jeśli potrzebujesz wczytać gotowy model 3D, obsługiwany jest import formatu OBJ.

Rysowanie 2D i adnotacje

Arsenał edytora obejmuje podstawowy zestaw narzędzi kreślarskich: linie, polilinie, okręgi, łuki, splajny oraz ustawienia kreskowania. Polecenia edycyjne takie jak TRIM, EXTEND, OFFSET czy FILLET działają z większością typów linii.

Nie zapomniano również o dokumentacji:

  • Wymiary liniowe, kątowe, promieniowe i rzędne z obsługą DIMSTYLE.
  • Bloki tekstowe MTEXT oraz wiodące MLEADER.
  • Tabele oraz ramki GD&T.
resim2

Modelowanie 3D

Do pracy z obiektami objętościowymi OCS wykorzystuje prymitywy takie jak sześciany, kule czy walce, a także operacje wyciągania (EXTRUDE, REVOLVE, LOFT, SWEEP). Renderowanie brył ACIS obsługuje płaskie obszary oraz złożone bryły 3D.

Przestrzeń arkusza i widoki

OCS zawiera pełnoprawną obsługę przestrzeni Paper Space. Możesz tworzyć wiele zakładek układu, konfigurować widoki z rzutami modelu oraz wysyłać gotowy arkusz do drukarki.

Budowa techniczna

Głównym silnikiem OpenCADStudio jest język Rust oraz interfejs graficzny wgpu. Zapewnia to autorowi czyste renderowanie z przyspieszeniem GPU z wygładzaniem antyaliasingowym 4× MSAA.

Dzięki WebGPU i kompilacji do WebAssembly projekt działa w zwykłej przeglądarce internetowej. Możesz otworzyć GitHub Pages projektu i przeglądać dowolny rysunek bez instalowania programu na komputerze.

Podczas renderowania uwzględniane są funkcje specyficzne dla CAD:

  • Szerokie polilinie z wypełnieniem ciągłym.
  • Złożone typy linii zawierające osadzony tekst i symbole.
  • Automatyczne dostosowanie koloru geometrii do jasnego lub ciemnego tła obszaru roboczego.
  • Maskowanie obiektów (Wipeout) oraz podkłady rastrowe za pomocą polecenia IMAGE.

Jak uruchomić edytor

Jeśli wersja przeglądarkowa nie wystarcza, dostępne są pliki binarne dla głównych systemów.

Dla systemu Linux developer buduje AppImage, który nie wymaga dodatkowych zależności:

chmod +x OpenCADStudio-*-linux-x86_64.AppImage
./OpenCADStudio-*-linux-x86_64.AppImage

Dla użytkowników macOS na Apple Silicon wygodniej jest zainstalować aplikację przez Homebrew:

brew install --cask --no-quarantine \
  https://raw.githubusercontent.com/HakanSeven12/OpenCADStudio/main/packaging/homebrew/open-cad-studio.rb

Kompilacja ze źródeł jest standardowa dla Rust (wymagana wersja kompilatora 1.75+):

git clone https://github.com/HakanSeven12/OpenCADStudio.git
cd OpenCADStudio
cargo build --release --bin OpenCADStudio
./target/release/OpenCADStudio

Aktualny stan projektu

OpenCADStudio jest obecnie aktywnie rozwijany. Repozytorium ma nieco ponad 570 gwiazdek i około 80 otwartych zgłoszeń, a dokumentacja jest obecnie ograniczona do pliku README.

W przypadku złożonych komercyjnych projektów inżynieryjnych oprogramowanie może nadal nie wystarczać. Ale jeśli potrzebujesz lekkiej przeglądarki i edytora DWG dla Linuksa lub chcesz poznać architekturę prawdziwej aplikacji graficznej w Rust, projekt jest warty sprawdzenia. Wypróbowanie wersji webowej i otwarcie swojego pliku bezpośrednio w przeglądarce to świetny sposób, aby poznać możliwości nowoczesnego Rust w grafice.

Powiązane projekty