Inkscape - zaokrąglanie rogów kształtów?

78

W Inkscape zaokrąglanie rogów prostokąta jest łatwe - wybierasz obiekt, naciskasz F4 (narzędzie prostokąta) i przeciągasz okrągłe węzły.

Jak to zrobić w przypadku bardziej skomplikowanych kształtów?

wielokąt i jego zaokrąglony odpowiednik

„Przesunięcie dynamiczne” jest prawie właściwe, ale nie zaokrągla wnętrza wklęsłego wielokąta.

OJW
źródło

Odpowiedzi:

17

Wydaje się, że jest to słaba strona programu Inkscape, ponieważ nie ma prostego sposobu na zrobienie tego. Najlepszym sposobem na rozwiązanie tego problemu, jaki do tej pory znalazłem, jest:

  1. Wykonaj kilka prostokątów zaokrąglonych narożników, używając pożądanego końcowego promienia narożnika
  2. Przyłóż je do siebie, aby uzyskać ostateczny kształt, nie zwracając uwagi na miejsca, w których rogi nie spotykają się z powodu okrągłości,
  3. Łączcie je w jedną ścieżkę
  4. Napraw obce wycięcia, usuwając ich węzły.

Na szczęście ktoś opisał tę technikę online, z ilustracjami (przewiń nieco w dół) http://www.inkscapeforum.com/viewtopic.php?f=5&t=880

Mam nadzieję, że istnieje narzędzie do edycji ścieżki, które może po prostu przekonwertować ścieżkę tak, jak chcesz (i pięćdziesiąt tysięcy innych użytkowników Inkscape) gdzieś tam. Jeśli nie, byłby to świetny weekendowy projekt kodowania.

DarenW
źródło
73
  1. Wybierz prostokąt lub kwadrat
  2. Wybierz opcję węzłów
  3. W prawym rogu zobaczysz okrągły węzeł zamiast kwadratowego. Przeciągnij w dół węzła, aż pojawi się żądany zaokrąglony róg.

Opcja węzłów:

2. Opcja węzłów

Okrągły widget, który musisz przeciągnąć, aby uzyskać zaokrąglone rogi:

wprowadź opis zdjęcia tutaj

Co się stanie, gdy przeciągniesz okrągły widżet:

wprowadź opis zdjęcia tutaj

Jak zauważyli inni, działa to tylko na prostokątach (ale jest to częsty przypadek użycia, który wyląduje na tej stronie).

Yessica
źródło
1
Co to jest ta „opcja węzłów”? Zrzuty ekranu byłyby piękne.
RAnders00
15
To świetnie nadaje się do prostokątów lub kwadratów, ale w jaki sposób pomaga to w przypadku bardziej złożonych kształtów, takich jak ten w pytaniu?
Tom Pohl
4
„W Inkscape zaokrąglanie rogów prostokąta jest łatwe”, zauważył wprowadzenie do pytania, zanim zadał pytanie o zaokrąglanie nieprostokątnych kształtów.
OJW
Należy zauważyć, że nie będzie to np. Poprawnie eksportować do formatu DXF. Możesz użyć menu „Ścieżka”> „Obiekt do ścieżki (Shift-Ctrl-C)”, aby utworzyć prawdziwie zaokrągloną ścieżkę.
Rocco
Nie chcę głosować za tym, ponieważ nie odpowiada na pytanie. Z drugiej strony tytuł pytania implikuje dowolny kształt i jest to pomocne, więc go głosowałem.
Dave F
22

Można to osiągnąć za pomocą efektu Ścieżka zaokrąglenia / fazowania (obecnie dostępna tylko w wersji dla programistów 0.91+devel, którą można znaleźć tutaj ).

Oto jak z niego korzystasz:

  1. Wybierz ścieżkę, którą chcesz zmodyfikować, a następnie otwórz kartę efektów ścieżki pod Path > Path Effects....

    Ścieżka niemodyfikowana

  2. Dodaj nowy efekt w oknie efektów ścieżki i wybierz Fillet/Chamfer.

    wprowadź opis zdjęcia tutaj

  3. Wybierz promień, który chcesz zastosować do narożników ścieżki, i naciśnij Filletprzycisk.

    Zaokrąglona ścieżka

  4. Jeśli chcesz zaokrąglić tylko niektóre rogi, zaznacz Change only selected nodes boxi wybierz węzły, które chcesz zmienić w trybie edycji ścieżki, zanim klikniesz Filletprzycisk.

testowany
źródło
2
Ten efekt wydaje się być dodawany w Inkscape 0.92, który nie został wydany w chwili pisania tego komentarza.
Levi Morrison,
1
Brak wersji Fillet / Chamfer w wersji 0.92pre1
Christian Strang
1
@ChristianStrang wygląda na to, że wciąż brakuje go w wydaniu 0.92 :(
Cylindric
2
Jednak od kwietnia 2017 r. Nie jest jeszcze dostępny, nawet w wersji programistycznej (0.92.1preX). Funkcja została przeniesiona do kamienia milowego 0.93, jak widać w narzędziu do śledzenia błędów . Dlatego nie można tego teraz osiągnąć bez budowania z gałęzi eksperymentalnej .
ferran
1
Dobre wieści! Fillet / Chamfer jest dostępny w wersji 1.0 alfa, która została wydana. W opisie tego filmu można znaleźć link do wstępnie skompilowanej wersji systemu Windows: youtube.com/watch?v=9lFI7qGFP7M
user1414213562
20

Kolejne prowizoryczne rozwiązanie z problemami, ale które działa również w przypadku kształtów innych niż prostokątne:

  1. Zastosuj dynamiczne przesunięcie do swojego obiektu.
  2. Konwertuj obiekt na ścieżkę.
  3. Dodaj węzły (w obszarze Rozszerzenia → Zmień ścieżkę ). Jest to opcjonalne, ale najprawdopodobniej drastycznie poprawi wyniki. Im wiecej tym lepiej.
  4. Zastosuj dynamiczny wstawka (tj. Ujemne przesunięcie dynamiczne ) do swojego obiektu.
  5. W razie potrzeby ponownie przekonwertuj Obiekt na Ścieżkę i Uprość.
Wrzlprmft
źródło
3
zobacz także inkscape.org/doc/advanced/tutorial-advanced.html - wstawka / offset to ctrl + (i ctrl +), dynamiczne offset to ctrl + J, aby dodać uchwyt do przeciągania
Jason S
17

Oto kolejna metoda, którą właśnie odkryłem, gdy chciałem dodać zaokrąglone rogi do istniejącego nieregularnego wielokąta w celu stworzenia projektu pleksa wycinanego laserowo, który jest bardziej odporny na pękanie.

  1. Wybierz narzędzie Edytuj ścieżki według węzła (F2) i wybierz węzeł narożny, który chcesz zaokrąglić.

  2. Przytrzymaj Ctrl-Alti kliknij lekko wzdłuż poziomej linii od rogu, aby dodać nowy węzeł.

  3. Zrób to ponownie, aby utworzyć nowy węzeł lekko wzdłuż linii pionowej, aby dodać kolejny nowy węzeł.
  4. Na tym etapie wracam do dwóch nowych węzłów i upewniam się, że oba mają stałe odsunięcie od narożnika. np. 2 mm.
  5. Wybierz węzeł narożny i naciśnij, Delaby go usunąć. Twój róg powinien teraz wyglądać następująco:

szorstki róg

  1. Przeciągnij dwa punkty Beziera w lewym dolnym rogu, aby utworzyły zadowalającą krzywą. Przytrzymuję Ctrli wyrównuję je jeden nad drugim, aby wyglądać tak:

Wyrównany

Andy Brown
źródło
Fajne rozwiązanie! Jeden dodatek do kroku 3: Sugerowałbym użyć, Extensions -> Modify Path -> Add Notes ...aby dodać węzły, aby węzły były w tej samej odległości od krawędzi na każdej krawędzi.
daniel.neumann
1
Nie jest to jednak takie łatwe, jeśli boki twoich obiektów nie są wyrównane z prostokątną siatką, ale są ukośne lub pochylone w jakikolwiek sposób.
Zelphir Kaltstahl
5

Użyłem innej metody. Kiedy już się do tego przyzwyczaiłem i nauczyłem się korzystać z opcji przyciągania, stwierdziłem, że mogłem pracować dość szybko. Najlepiej działa to ze ścieżkami złożonymi z prostopadłych linii równoległych do osi.

  1. Odejmij okrąg o promieniu, który chcesz od kwadratu, aby utworzyć kształt „noża”. Umieść środek koła na jednym z kwadratowych rogów i zmień kwadrat zgodnie ze średnicą koła. Zapewnia to wyrównanie środka noża z krawędziami łuku:
    wprowadź opis zdjęcia tutaj
  2. Zduplikuj swój nóż, aby móc go ponownie użyć i wyrównaj, umieść go w rogu, który chcesz zaokrąglić. Aktywuj przyciąganie środków obiektów i węzłów wierzchołkowych, aby wyrównać nóż dokładnie tam, gdzie chcesz.wprowadź opis zdjęcia tutaj
  3. W razie potrzeby obróć nóż wzdłuż jego środka, aby wyrównać łuk z krawędziami leżącej poniżej ścieżki
  4. Wybierz oryginalną ścieżkę i nóż i zrób różnicę boolowską, jeśli twój narożnik jest wypukły, zjednoczenie boolowskie, jeśli jest wklęsłe. Twój róg jest teraz zaokrąglony!
  5. Zduplikuj nóż i powtórz dla wszystkich narożników, które chcesz.
  6. Jeśli twój początkowy kształt był otwarty, operacja boolowska go zamknie. Być może będziesz musiał otworzyć go ponownie pod koniec procesu.
bonaccia
źródło
Prawdopodobnie najlepsze rozwiązanie na razie (0.92.2)!
Ray
3

Zainspirowany odpowiedzią bonaccia (dziękuję za to) odkryłem, że aby uzyskać kontrolę nad zaokrąglonymi narożnikami, możesz użyć dodatkowego prostokąta lub kwadratu i funkcji wycinania. Sprawdź następujący GIF, który zrobiłem.

Jak uzyskać kontrolę nad zaokrąglonymi narożnikami

kcpr
źródło
2

Innym rozwiązaniem tego problemu jest użycie narzędzia podziału ścieżki. Zaletą jest to, że promienie można jawnie ustawić jako liczbę

  1. Utwórz prostokąt
  2. Utwórz okrąg o żądanym promieniu
  3. Wyrównaj okrąg w rogu prostokąta
  4. Wybierz prostokąt i okrąg i użyj Ścieżka-> Podział
  5. Usuń niechciany narożnik
  6. Wykonaj ścieżkę-> Zjednoczenie między nowym okręgiem a oryginalnym prostokątem
Joel
źródło
2

Udało mi się to rozwiązać za pomocą Edit paths by nodesnarzędzia. Pokażę, jak poradziłem sobie z jednym końcem, ale operacja powinna działać dla każdego kształtu z płaską krawędzią. Zaczynając od takiego kształtu:

wprowadź opis zdjęcia tutaj

Wybierz Edit paths by nodesnarzędzie i wybierz swój kształt. Jeśli koniec kształtu jest płaski, powinien mieć dwa węzły, po jednym dla każdego rogu. Wybierz te węzły i kliknij Insert new nodes into selected segmentsprzycisk: wprowadź opis zdjęcia tutajSpowoduje to dodanie trzeciego węzła między dwoma węzłami na końcu i będzie wyglądał mniej więcej tak:

wprowadź opis zdjęcia tutaj

Teraz, gdy mamy węzeł w środku, możemy tworzyć zaokrąglone rogi. Po prostu wybierz węzeł i wyciągnij go, aby utworzyć punkt, taki jak ten:

wprowadź opis zdjęcia tutaj

Pamiętaj, aby użyć Ctrl + przeciągnij, aby przeciągnąć w linii prostej. Teraz, gdy mamy punkt musimy pozwolić węzeł być wygładzone, a to jest, gdy Make selected nodes symmetricprzycisk jest w: wprowadź opis zdjęcia tutaj. Dodaje to pewne uchwyty do węzła, aby umożliwić nam zmianę kształtu węzła. Będzie to wyglądać tak:

wprowadź opis zdjęcia tutaj

Teraz wystarczy wyregulować uchwyty (przytrzymując klawisz Ctrl, aby wszystko było proste), aby uzyskać pożądane zaokrąglenie:

Po wybraniu węzłów

siannopollo
źródło
2

Jeśli twoja wersja Inkscape nie ma efektu Ścieżka zaokrąglenia / fazowania, pomocne może okazać się rozszerzenie, które napisałem:

Zaokrąglone rogi Inkscape

Przykład użycia rozszerzenia z zaokrąglonymi narożnikami

Chris H.
źródło
Musiałem przeczytać wszystkie powyższe odpowiedzi, aby uzyskać tę odpowiedź, ale było warto. Rzeczywiście, jest to najbliższe Fillet / Chamfer LPE. Na oficjalnej stronie Inkscape znajduje się również rozszerzenie „Fillet and Chamfer”, ale dla mnie to nie działa.
user1414213562
Próbowałem i dostałem ten błąd
Foad
Dzięki, to zadziałało dla mnie. Przekształciłem wielokąt gwiezdny za pomocą „Object -> Path”. Automatycznie dodawało węzły do ​​rogów gwiazdy. Następnie wybrałem ścieżkę gwiazdy i zastosowałem promień za pomocą opcji „Rozszerzenie> Zmień ścieżkę> Zaokrąglone rogi”. [Używam Inkscape 0.92] EDYCJA: Jeśli to rozszerzenie powoduje, że krawędzie również są zaokrąglone zamiast narożników, po prostu uruchom ponownie Inkscape.
myDoggyWritesCode
1

Odniosłem sukces po prostu używając krzywych Beziera. Np. Narysowałbym kształt OP w kształcie litery L.

|
|
|
 \
  \
   \_________

(bardzo szorstka sztuka ASCII!), tj. z ukośną linią, w której powinien znajdować się zaokrąglony róg, a następnie dostosuj punkty kontrolne Beziera dla dwóch punktów łączenia linii.

Alf P. Steinbach
źródło
0

Aby uzyskać czysto kosmetyczny efekt (to znaczy, że nie kończysz się zaokrągloną ścieżką), możesz spróbować zastosować efekt Filtry> Rozmycia> Efekt płynnego przejścia . Następnie otwórz Edytor filtrów i ustaw parametr efektu odchylenia standardowego na około 1,0.

muteboy
źródło
0

Inną metodą jest utworzenie obrysu i ustawienie zaokrąglenia w łączeniach i zakończeniach. Skopiuj ścieżkę i wklej na miejscu i usuń obrys z kopii. Następnie wybierz oryginał i wybierz ścieżkę> obrysuj ścieżkę, a następnie ponownie połącz dwa kształty.

Gary
źródło
-1

Ponieważ nie ma czystego rozwiązania, wspomnijmy o innym, używając GIMP!

1- Wykonaj kopię tylko tego obiektu w innej instancji Inkscape (w przypadku, gdy masz inne obiekty)

2- Eksport do bitmapy (plik png)

3- Otwórz png za pomocą GIMP, wybierz kształt za pomocą „Wybierz według narzędzia Kolor”

3- Wybierz -> Wtapianie -> według Rpikseli (promień)

4- Pokoloruj zaznaczenie i ponownie zapisz / eksportuj do png

5- Otwórz zmodyfikowany plik png za pomocą Inkscape i użyj narzędzia „Trace Bitmap”, aby uzyskać zaokrągloną ścieżkę (ponieważ kształt powinien być jednokolorowy, jest łatwy i prawdopodobnie czysty)

saeedgnu
źródło
Istnieje kilka rozwiązań wymienionych powyżej. Czy są nieczyste? Zabranie obiektu wektorowego do edycji GIMP to brudny hack.
Martin Zaske,
1
@MartinZaske Większość powyższych odpowiedzi (które są wysoko oceniane) ogranicza się do podstawowych kształtów, takich jak prostokąty, lub jest zbyt ręczna i niepraktyczna dla kształtów o zbyt wielu narożnikach. W skomplikowanych kształtach myślę, że takie podejście byłoby znacznie łatwiejsze i lepsze niż większość powyższych odpowiedzi. Również nie było czystej odpowiedzi, kiedy to opublikowałem.
saeedgnu
-1

Działa całkiem dobrze, ale nieco zmienia twój kształt.

To podobne do rozwiązania Wrzlprmft .

Wynik

GIF krok po kroku

Niestety nie mam 10 reputacji do publikowania zdjęć

Możesz także utworzyć rozszerzenie inkscape, które:

Przepraszam za mój okropny angielski

strateg
źródło
-2

Za pomocą edytora XML w Inkscape można tworzyć prostokątne zaokrąglone narożniki. Otwórz edytor XML, wybierz <svg:rectelement. Dodaj atrybuty rx i ry, w prawym dolnym rogu edytora XML znajdują się dwa pola i Setprzycisk. Wpisz rxgórne pole i / 10lub dowolny inny numer, a następnie naciśnij Set.

ruckc
źródło
Teoretycznie fajny pomysł. Praktycznie obiekty wymienione w pytaniu nie są już prostokątami. Można ustawić atrybuty ryi, rxale nie są one interpretowane.
daniel.neumann
-4

To bardzo proste.

  1. Zrób kształt, który ma prostokątne rogi.

  2. Kliknij narzędzie prostokąta

  3. Kliknij jeden z okrągłych uchwytów w rogu kształtu, a nie jeden z kwadratowych uchwytów.

  4. Naciśnij Shifti przeciągnij okrągły uchwyt, automatycznie utworzy on zaokrąglone rogi.

wprowadź opis zdjęcia tutaj
Przeciągnij okrągły uchwyt, aby zrobić zaokrąglone rogi.

suresh yadam
źródło
3
Jeśli nie zmieniło się to ostatnio, powinno to działać tylko w przypadku zwykłych prostokątów, co nie dotyczy tego pytania. Nawet zrzut ekranu pokazuje, że wybierasz tylko prostokąt, który stanowi lewą część kształtu. Wreszcie zrzut ekranu nie zawiera żądanego zaokrąglenia do wewnątrz wklęsłych narożników.
Wrzlprmft,