Inkscape - pembulatan sudut bentuk?

78

Di Inkscape, membulatkan sudut-sudut persegi panjang itu mudah - Anda memilih objek, tekan F4 (alat persegi panjang), dan seret simpul bundar.

Bagaimana Anda melakukannya untuk bentuk yang lebih kompleks?

poligon, dan ekuivalen bulatnya

"Offset dinamis" hampir merupakan hal yang tepat, tetapi tidak membulatkan bagian dalam poligon cekung.

OJW
sumber

Jawaban:

17

Ini tampaknya menjadi titik lemah dengan Inkscape, tidak memiliki cara sederhana untuk melakukan ini. Cara terbaik untuk menangani ini yang saya temukan sejauh ini adalah:

  1. Buat beberapa persegi panjang sudut bulat, menggunakan jari-jari sudut akhir yang diinginkan
  2. Bokong mereka terhadap satu sama lain untuk membuat bentuk akhir keseluruhan, tidak memikirkan tempat di mana sudut tidak bertemu karena kebulatan,
  3. Jalan-persatuan mereka menjadi satu jalan
  4. Perbaiki takik asing dengan menghapus node mereka.

Untungnya seseorang telah menggambarkan teknik ini secara online, dengan illustrasi (gulir ke bawah sedikit) http://www.inkscapeforum.com/viewtopic.php?f=5&t=880

Saya harap ada alat pengeditan jalur yang hanya dapat mengubah jalur seperti yang Anda inginkan (dan lima puluh ribu pengguna Inkscape lainnya) inginkan, di suatu tempat di luar sana. Jika tidak, ini akan menjadi proyek pengkodean akhir pekan yang hebat.

DarW
sumber
73
  1. Pilih persegi panjang atau persegi
  2. Pilih opsi node
  3. Di sudut kanan, Anda akan melihat simpul bundar alih-alih simpul persegi. Seret simpul sampai Anda mendapatkan sudut bulat yang Anda inginkan.

Opsi node:

2. Opsi Nodes

Widget bundar yang harus Anda seret untuk mendapatkan sudut bundar:

masukkan deskripsi gambar di sini

Apa yang terjadi ketika Anda menyeret widget bundar:

masukkan deskripsi gambar di sini

Seperti yang telah dicatat orang lain, ini hanya bekerja pada persegi panjang (tapi itu adalah kasus penggunaan umum yang akan membuat orang di halaman ini).

Yessica
sumber
1
Apa ini 'opsi node'? Tangkapan layar akan menyenangkan.
RAnders00
15
Itu bagus untuk persegi panjang atau kotak, tetapi bagaimana ini membantu untuk bentuk yang lebih kompleks seperti yang ada di pertanyaan?
Tom Pohl
4
"Dalam Inkscape, membulatkan sudut-sudut persegi panjang itu mudah," kata pengantar pertanyaan, sebelum mengajukan pertanyaan tentang membulatkan bentuk - bentuk non-persegi panjang .
OJW
Perlu dicatat bahwa ini misalnya tidak akan mengekspor ke DXF dengan benar. Anda dapat menggunakan menu "Path"> "Object to Path (Shift-Ctrl-C)" untuk membuat jalur bulat nyata.
Rocco
Saya tidak ingin memperbaiki ini karena tidak menjawab pertanyaan. Di sisi lain, judul pertanyaan menyiratkan bentuk apa pun dan ini sangat membantu jadi saya memutarnya.
Dave F
22

Ini dapat dicapai dengan menggunakan efek jalur Fillet / talang (saat ini hanya tersedia dalam versi pengembang 0.91+devel, yang dapat ditemukan di sini ).

Begini cara Anda menggunakannya:

  1. Pilih jalur yang ingin Anda modifikasi dan kemudian buka tab efek jalur di bawah Path > Path Effects....

    Jalur yang tidak dimodifikasi

  2. Tambahkan efek baru di jendela jalur efek dan pilih Fillet/Chamfer.

    masukkan deskripsi gambar di sini

  3. Pilih radius yang ingin Anda terapkan ke sudut jalan, dan tekan Fillettombol.

    Jalur yang diisi

  4. Jika Anda hanya ingin membulatkan beberapa sudut, centang Change only selected nodes boxdan pilih node yang ingin Anda ubah dalam mode edit jalur sebelum mengklik Fillettombol.

kotak yang diuji
sumber
2
Efek ini tampaknya ditambahkan di Inkscape 0.92 yang tidak dirilis pada saat saya menulis komentar ini.
Levi Morrison
1
Fillet / Chamfer tidak ada dalam versi 0.92pre1
Christian Strang
1
@ChristianStrang sepertinya masih belum ada di rilis 0.92 juga :(
Cylindric
2
Namun, pada April 2017, itu belum tersedia, bahkan dalam versi pengembangan (0.92.1preX). Fitur telah dipindahkan ke tonggak sejarah 0,93, seperti yang Anda lihat pada pelacak bug . Oleh karena itu, ini tidak dapat dicapai sekarang tanpa membangun dari cabang eksperimental .
ferran
1
Kabar baik! Fillet / talang tersedia dalam 1,0 alpha, yang dirilis. Dalam uraian video ini, Anda dapat menemukan tautan ke versi Windows yang dikompilasi sebelumnya: youtube.com/watch?v=9lFI7qGFP7M
user1414213562
20

Solusi darurat lainnya dengan masalah, tetapi juga berfungsi untuk bentuk non-persegi panjang:

  1. Terapkan Dynamic Offset ke objek Anda.
  2. Konversi Objek ke Path.
  3. Tambahkan Node (di bawah Ekstensi → Ubah Jalur ). Ini opsional tetapi kemungkinan besar akan meningkatkan hasil Anda secara drastis. Semakin meriah.
  4. Terapkan inset dinamis (yaitu, Dynamical Offset negatif ) ke objek Anda.
  5. Jika diinginkan, konversi Objek ke Path sekali lagi dan Sederhanakan.
Wrzlprmft
sumber
3
lihat juga inkscape.org/doc/advanced/tutorial-advanced.html - inset / offset adalah ctrl + (dan ctrl +), offset dinamis adalah ctrl + J untuk menambahkan pegangan yang dapat diseret
Jason S
17

Berikut adalah metode lain yang baru saja saya temukan ketika saya ingin menambahkan sudut bulat ke poligon tidak teratur yang ada untuk tujuan menciptakan desain perspex potong laser yang lebih tahan terhadap retak.

  1. Pilih alat Edit Paths By Node (F2) dan pilih simpul sudut yang ingin Anda buat bulat.

  2. Tahan Ctrl-Altdan klik sedikit di sepanjang garis horizontal menjauh dari sudut untuk menambahkan node baru.

  3. Lakukan hal yang sama lagi untuk membuat simpul baru sedikit di sepanjang garis vertikal untuk menambahkan simpul baru.
  4. Pada tahap ini saya kembali ke dua node baru dan memastikan bahwa keduanya memiliki offset konstan dari sudut. misal 2mm jauhnya.
  5. Pilih simpul sudut dan tekan Deluntuk menghapusnya. Sudut Anda sekarang akan terlihat seperti ini:

sudut kasar

  1. Seret dua titik bezier di kiri bawah sehingga mereka membentuk kurva yang memuaskan. Saya menahan Ctrldan menyelaraskannya di atas satu sama lain untuk terlihat seperti ini:

Selaras

Andy Brown
sumber
Solusi bagus! Satu tambahan untuk Langkah 3: Saya akan menyarankan untuk menggunakan Extensions -> Modify Path -> Add Notes ...untuk menambahkan node agar memiliki Node pada jarak yang sama ke tepi di setiap tepi.
daniel.neumann
1
Namun ini tidak mudah, jika sisi objek Anda tidak sejajar dengan kisi persegi panjang, tetapi diagonal atau miring dengan cara apa pun.
Zelphir Kaltstahl
5

Saya telah menggunakan metode lain. Setelah saya terbiasa, dan belajar cara menggunakan opsi gertakan, saya menemukan bahwa saya bisa bekerja sangat cepat. Ini berfungsi baik dengan jalur yang disusun oleh garis ortogonal yang sejajar dengan sumbu.

  1. Kurangi lingkaran yang memiliki jari-jari yang Anda inginkan dari kotak untuk membuat bentuk 'pemotong'. Letakkan bagian tengah lingkaran di salah satu sudut persegi dan ukuran bujur sangkar sebagai diameter lingkaran. Ini memastikan bahwa bagian tengah pemotong Anda akan sejajar dengan tepi busur:
    masukkan deskripsi gambar di sini
  2. Gandakan pemotong Anda untuk dapat menggunakannya kembali dan luruskan meletakkannya di sudut yang ingin Anda bulatkan. Aktifkan menjentikkan pusat objek dan titik puncak untuk menyelaraskan pemotong tepat di tempat yang Anda inginkan.masukkan deskripsi gambar di sini
  3. Jika perlu, putar pemotong di sepanjang bagian tengahnya untuk meluruskan busur dengan tepi jalur yang mendasarinya
  4. Pilih jalur asli dan pemotong dan lakukan perbedaan boolean, jika sudut Anda cembung, serikat boolean jika itu cekung. Sudut Anda sekarang bulat!
  5. Gandakan pemotong dan ulangi untuk semua sudut yang Anda inginkan.
  6. Jika bentuk awal Anda terbuka, operasi boolean akan menutupnya. Anda mungkin harus membukanya kembali sampai akhir proses.
bonaccia
sumber
Mungkin solusi terbaik untuk saat ini (0.92.2)!
Ray
3

Terinspirasi oleh bonaccia jawaban (terima kasih untuk itu) Saya menemukan bahwa untuk mendapatkan kendali atas sudut bulat Anda dapat menggunakan beberapa persegi panjang atau persegi tambahan dan fitur snipping. Lihatlah GIF yang saya buat berikut ini.

Cara mendapatkan kendali atas sudut-sudut bulat

kcpr
sumber
2

Solusi lain untuk masalah ini adalah dengan menggunakan alat divisi jalan. Keuntungannya di sini adalah bahwa jari-jari dapat secara eksplisit ditetapkan sebagai angka

  1. Buat persegi panjang
  2. Buat lingkaran dengan jari-jari yang diinginkan
  3. Sejajarkan lingkaran ke sudut persegi panjang
  4. Pilih persegi panjang dan lingkaran, dan gunakan Path-> Division
  5. Hapus bagian sudut yang tidak diinginkan
  6. Lakukan Path-> Union antara lingkaran baru dan persegi panjang asli
Joel
sumber
2

Saya bisa menyelesaikan ini dengan menggunakan Edit paths by nodesalat ini. Saya akan menunjukkan bagaimana saya menangani ujung tunggal, tetapi operasi harus bekerja untuk bentuk apa pun dengan tepi rata. Mulai dengan bentuk seperti ini:

masukkan deskripsi gambar di sini

Pilih Edit paths by nodesalat dan pilih bentuk Anda. Jika ujung bentuk Anda rata, ia harus memiliki dua simpul, satu untuk setiap sudut. Pilih simpul-simpul itu dan klik Insert new nodes into selected segmentstombolnya: masukkan deskripsi gambar di siniIni akan menambahkan simpul ketiga di antara dua simpul di ujungnya, dan akan terlihat seperti ini:

masukkan deskripsi gambar di sini

Sekarang kita memiliki simpul di tengah kita dapat membuat sudut membulat kita. Cukup pilih node dan tarik sehingga menciptakan titik, seperti ini:

masukkan deskripsi gambar di sini

Pastikan untuk menggunakan Ctrl + seret untuk menarik dalam garis lurus. Sekarang bahwa kita memiliki titik kita perlu untuk memungkinkan simpul yang akan merapikan, dan ini adalah di mana Make selected nodes symmetrictombol masuk: masukkan deskripsi gambar di sini. Ini menambahkan beberapa pegangan ke simpul untuk memungkinkan kami mengubah bentuk simpul. Ini akan terlihat seperti ini:

masukkan deskripsi gambar di sini

Sekarang hanya menyesuaikan pegangan (menahan Ctrl untuk menjaga semuanya tetap lurus) untuk mendapatkan kebulatan yang diinginkan:

Dengan node dipilih

siannopollo
sumber
2

Jika versi Inkscape Anda tidak memiliki efek jalur Fillet / talang, Anda mungkin menemukan ekstensi yang saya tulis membantu:

Sudut Bulat Inkscape

Contoh penggunaan ekstensi sudut membulat

Chris H.
sumber
Saya harus membaca semua jawaban di atas untuk mencapai jawaban ini, tetapi itu sangat berharga. Memang, ini paling dekat dengan Fillet / Chamfer LPE. Ada juga ekstensi "Fillet and Chamfer" di halaman Inkscape resmi, tetapi tidak berfungsi untuk saya.
user1414213562
Saya mencobanya dan mendapatkan kesalahan ini
Mengisi
Terima kasih, ini berhasil untuk saya. Saya mengonversi poligon bintang saya menggunakan "Object -> Path". Secara otomatis menambahkan node ke sudut-sudut bintang. Lalu saya memilih bintang Path dan menerapkan radius menggunakan "Extension> Modify path> Rounded Corners". [Saya menggunakan inkscape 0.92] EDIT: Jika ekstensi ini membuat ujung-ujungnya juga bulat bukan sudut, cukup restart inkscape.
myDoggyWritesCode
1

Saya sudah sukses dengan hanya menggunakan kurva Bezier. Misalnya saya akan menggambar bentuk OP's L seperti

|
|
|
 \
  \
   \_________

(ASCII art sangat kasar!) yaitu dengan garis diagonal di mana sudut bulat seharusnya, dan kemudian sesuaikan titik kontrol Bezier untuk dua garis titik bergabung.

Alf P. Steinbach
sumber
0

Untuk efek kosmetik murni (yaitu, Anda tidak berakhir dengan jalur bulat), Anda dapat mencoba menerapkan Filter> Blur> Efek lintas halus . Kemudian buka Editor Filter dan atur Parameter Efek Deviasi Standar menjadi sekitar 1,0.

pembalas
sumber
0

Metode lain adalah dengan membuat stroke dan mengatur Join and Cap untuk dibulatkan. Salin jalur dan tempel di tempatnya dan hapus goresannya dari salinan. Kemudian pilih yang asli dan pilih path> stroke to path kemudian satukan 2 bentuk kembali bersama-sama.

Gary
sumber
-1

Karena tidak ada solusi bersih, mari sebutkan yang lain, menggunakan GIMP!

1- Buat salinan hanya objek ini dalam instance Inkscape lain (jika Anda memiliki objek lain)

2- Ekspor ke bitmap (file png)

3- Buka png dengan GIMP, pilih bentuk dengan "Select by Color Tool"

3- Pilih -> Bulu -> dengan Rpiksel (jari-jari)

4- Warnai pilihan dan simpan / ekspor ke png lagi

5- Buka file png yang dimodifikasi dengan Inkscape dan gunakan alat "Trace Bitmap" untuk mendapatkan jalur bulat (karena bentuknya harus satu warna, mudah dan mungkin bersih)

saeedgnu
sumber
Ada beberapa solusi yang tercantum di atas. Apakah mereka najis? Mengambil objek vektor ke GIMP untuk diedit adalah hack yang kotor.
Martin Zaske
1
@ MartinZaske Sebagian besar jawaban di atas (yang berperingkat tinggi) terbatas pada bentuk dasar seperti persegi panjang, atau terlalu banyak manual dan tidak praktis untuk bentuk dengan sudut terlalu banyak. Dalam bentuk yang rumit saya pikir pendekatan ini akan jauh lebih mudah dan lebih baik daripada sebagian besar jawaban di atas. Juga tidak ada jawaban bersih ketika saya memposting ini.
saeedgnu
-1

Ini bekerja cukup baik tetapi sedikit mengubah bentuk Anda.

Itu mirip dengan solusi Wrzlprmft .

Hasil

GIF langkah demi langkah

Maaf saya tidak punya 10 reputasi untuk mengirim gambar

Anda juga dapat membuat ekstensi inkscape yang:

Maaf untuk bahasa Inggris saya yang mengerikan

strategi
sumber
-2

Anda bisa menggunakan Editor XML di Inkscape untuk membuat sudut bulat persegi panjang. Buka Editor XML, pilih <svg:rectelemen. Tambahkan atribut rx dan ry, di kanan bawah Editor XML ada dua bidang dan Settombol. Letakkan rxdi bidang atas, dan 10atau nomor lainnya, lalu tekan Set.

keributan
sumber
Secara teori ide yang bagus. Secara praktis, objek yang disebutkan dalam pertanyaan tidak lagi berbentuk persegi panjang. Seseorang dapat mengatur rydan rxatribut tetapi mereka tidak ditafsirkan.
daniel.neumann
-4

Sebenarnya sangat sederhana.

  1. Buatlah bentuk yang memiliki sudut persegi panjang.

  2. Klik pada alat persegi panjang

  3. Klik pada salah satu pegangan bundar di sudut bentuk, bukan salah satu pegangan persegi.

  4. Tekan Shiftdan seret gagang bundar, secara otomatis akan membuat sudut membulat.

masukkan deskripsi gambar di sini
Seret gagang bundar untuk membuat sudut membulat.

suresh yadam
sumber
3
Kecuali jika ini berubah baru-baru ini, ini hanya akan bekerja untuk persegi panjang biasa, yang bukan tentang pertanyaannya. Bahkan tangkapan layar Anda menunjukkan bahwa Anda hanya memilih persegi panjang yang merupakan bagian kiri bentuk. Akhirnya, tangkapan layar Anda tidak menunjukkan pembulatan sudut cekung ke dalam yang diminta.
Wrzlprmft