AxiDraw: çizimden önce yol sırasını kontrol edin
Kalem kağıttan kaldırıldığında yol sırasını, geri dönüşü ve hareketi kontrol etmek için AxiDraw çevrimdışı SVG önizlemelerini karşılaştırın. Çizim geometrisini koruyun ve kaydedilen SVG'nin neyi koruduğunu anlayın.
Bu sayfada
AxiDraw'da SVG kalem hareketini optimize etmek için öncelikle yolların istediğiniz işaretleri çizdiğini doğrulayın. Ardından çevrimdışı önizlemeleri aynı geometri ve sabit ayarlarla karşılaştırın. Yeniden sıralama, kaldırma sayısını azaltmadan veya çizilen şekilleri değiştirmeden, kalem kaldırılmış durumdayken kalemin hareketini kısaltabilir.
Orijinal SVG'nizi koruyun. Aşağıdaki önizleme, sıralamayı ve isteğe bağlı yol tersine çevirmeyi kontrol eder; merkez çizgilerini yeniden yapılandırmaz, istenmeyen ana hatları onarmaz veya orijinal SVG nesnelerini kalıcı olarak yeniden düzenlemez. Testimiz PerfectVector'dan vektörleştirilmiş bir taslak veya fiziksel bir kalem çizimi değil, sekiz ayrı yazılmış açık vuruş kullanır.
Sırayı değiştirmeden önce atlamaları teşhis edin
Kalemin kağıda değmesiyle yapılan hareket, iz bırakan yoldur. Kalemin kağıttan kaldırılmasıyla yapılan hareket, kalemin kaldırılmasıyla işaretler arasındaki harekettir. Kısa görünümlü bir çizim, birbirini takip eden nesneler birbirinden çok uzak durduğunda, kalem kağıttan kaldırıldığında uzun bir harekete sahip olabilir.
| Önizlemenin gösterdiği şey | İlk önce ne ele alınmalı |
|---|---|
| Tek vuruş olması gereken bir çizginin etrafında iki kenar | Amaçlanan tek hatlı rotayı oluşturun |
| Gölgeli bir alan istediğiniz boş bir çevre | Açık hatch-fill kalem yolları oluşturun |
| Doğru işaretler ancak sayfa boyunca tekrarlanan atlamalar | Aşağıdaki yol sıralamasını ve yol yönünü tersine çevirme ayarlarını karşılaştırın |
| Ayrı işaretler arasına çizilen istenmeyen çizgiler | Daha kısa bir rotayı kabul etmeden önce aşağı doğru geometriyi ve yol birleştirmeyi kontrol edin |
SVG yol uzunluğunun ölçülmesi, çizim geometrisinin ne kadar uzun olduğunu yanıtlar. Tek başına makinenin bu yollar arasındaki yolculuğunu içermez.
AxiDraw CLI referansı bu ayarları birbirinden ayırır: 0 normal olarak birleştirme olanağıyla birlikte belge sırasını takip eder, 1 ayrıca yolları yeniden sıralar ve 2 ayrıca yolun tersine çevrilmesine de izin verir. Bitişik çizim yollarını bağlamak ayrı bir karardır. Bu karşılaştırma için min_gap = -1 ile devre dışı bırakırız, böylece bitişik vuruşlar tek bir sürekli işaret olamaz.
Yöne duyarlı çalışmalarda ters çevirme önemli olabilir. Çizimin belirli bir yazma sırasını veya yönünü izlemesi gerekiyorsa, kalem kaldırılmış durumdayken daha kısa bir hareket rotası 2 ayarını kabul etmek için yeterli neden değildir. Katmanlar aynı zamanda sıralamayı da kısıtlar; iç içe geçmiş grupların optimizasyon altında bir çizim sırasını koruduğu varsayılmamalıdır. Belgenizin gerçek önizlemesini inceleyin.
Değiştirilmemiş bir SVG'de üç çevrimdışı önizleme çalıştırın
Bu örnek, Python'u ve resmi AxiDraw Python API'sini gerektirir. API 3.9.6'yı Python 3.9.6 ile test ettik. Modül kullandığınız Python ortamında yüklü değilse resmi kurulum talimatlarını izleyin.
Python API referansı, önizlemeyi çevrimdışı simülasyon olarak tanımlar. preview = True sonra plot_setup ve önce plot_run olarak ayarlayın. Aşağıdaki komut dosyası her zaman onu ayarlar ve onaylar; cihaz bağlantı çağrısı içermiyor.
Bu küçük örneği eight-strokes.svg olarak kaydedin veya kendi SVG'nizin bir kopyasını kullanın:
<svg xmlns="http://www.w3.org/2000/svg" width="100mm" height="80mm" viewBox="0 0 100 80">
<g fill="none" stroke="#152b3b" stroke-width="0.4">
<path id="stroke-0" d="M 10 20 L 18 20"/>
<path id="stroke-1" d="M 88 60 L 80 60"/>
<path id="stroke-2" d="M 20 20 L 28 20"/>
<path id="stroke-3" d="M 78 60 L 70 60"/>
<path id="stroke-4" d="M 30 20 L 38 20"/>
<path id="stroke-5" d="M 68 60 L 60 60"/>
<path id="stroke-6" d="M 40 20 L 48 20"/>
<path id="stroke-7" d="M 58 60 L 50 60"/>
</g>
</svg>Test dosyasında 100 × 80 mm'lik bir görünüm kapısı ve eşleşen viewBox boyutları bulunur. Bu, SVG'nin viewport ve viewBox eşlemesini izleyerek her koordinat birimini burada 1 mm'ye eşler. Sekiz vuruşunun her biri 8 mm uzunluğundadır.
Aşağıdakileri preview-orders.py olarak kaydedin:
from pathlib import Path
import json
import sys
from pyaxidraw import axidraw
source = Path(sys.argv[1]).resolve()
destination = Path(sys.argv[2])
destination.mkdir() # Use a new directory; preserve previous results.
reports = []
for order in (0, 1, 2):
ad = axidraw.AxiDraw()
ad.plot_setup(str(source))
ad.options.preview = True
ad.options.rendering = 3
ad.options.reordering = order
ad.options.random_start = False
ad.options.auto_rotate = False
ad.options.report_time = False
ad.params.min_gap = -1
assert ad.options.preview is True
output = ad.plot_run(True)
if ad.errors.code:
raise RuntimeError(f"Preview error: {ad.errors.code}")
(destination / f"preview-order-{order}.svg").write_text(output)
reports.append({
"order": order,
"pen_down_m": ad.distance_pendown,
"pen_up_m": ad.distance_total - ad.distance_pendown,
"pen_lifts": ad.pen_lifts,
})
report = json.dumps(reports, indent=2)
(destination / "distances.json").write_text(report + "\n")
print(report)Yeni bir çıktı dizini adı kullanarak resmi API'yi içeren Python ortamıyla çalıştırın:
python3 preview-orders.py eight-strokes.svg preview-checkÜç tanılama SVG'sini ve distances.json'u kaydeder. rendering = 3 hem yükseltilmiş hem de çizim hareketini içerir. Rastgele başlatmalar ve otomatik döndürme kapalı; yol birleştirme devre dışı bırakıldı. Kendi dosyanızı karşılaştırırken bu seçenekleri sabit tutun. Bu komut dosyası, çiziciyi çalıştırmaya yönelik bir komut değil, çevrimdışı bir inceleme yöntemidir.
Hareketi, kalemin kaldırdığı ve çizdiği geometriyle ayrı ayrı karşılaştırın
Sekiz vuruşlu test dosyamızda tam olarak üretilen komut dosyası:
| Yeniden sıralama | Kalem kağıttan kaldırıldığında tahmini hareket | Kalemin kağıda değmesiyle hareket | Bildirilen artışlar |
|---|---|---|---|
0 | 0.509749 m | 0.064 m | 8 |
1 | 0.223592 m | 0.064 m | 8 |
2 | 0.180919 m | 0.064 m | 8 |
Bunlar, başlangıçtan eve dönüş yolculuğu da dahil olmak üzere, bu dosya için yerel yazılım tahminleridir. Kalem aşağı mesafesi 64 mm olarak kaldı ve kaldırma sayısı sekiz olarak kaldı. Kalemin kağıttan kaldırılmasıyla daha kısa hareket etmek, daha az kaldırma anlamına gelmiyordu. Fiziksel bir kalem çizimini, geçen çizim süresini veya başka bir çizim için garanti edilen iyileştirmeyi ölçmedik.

Yığılmış şekil 0 ve 2 ayarlarını karşılaştırır; tablo ayrıca 1'i de içerir. Yerel SDK önizleme yollarının kopyalarını daha güçlü mavi ve macenta renklerle ve okunabilirlik için daha kalın konturlarla görüntüler. Bunlar, fiziksel kalem genişlikleri değil, görüntüleme stilleridir. Yerel yol koordinatları ve dönüşümleri değişmedi; ekran görüntü alanı kullanılmayan alanı keser. Üç yerel önizlemenin tümü incelendi ve bağımsız bir geometri kontrolü aynı sekiz yatay çizim parçasını buldu ve uç nokta sırasının tersine çevrilmesine olanak sağladı. Örneklenen her aşağıya yazılan köşe noktası, amaçlanan segmentte kaldı.
Dosyanız için her SVG önizlemesini açın ve çizim katmanını yükseltilmiş seyahat katmanından ayrı olarak inceleyin. Amaçlanan sayfa boyutunu ve konumunu, beklenen tüm işaretleri, değişmeyen delikleri veya boşlukları ve yeni çizilmiş bağlayıcı olmadığını onaylayın. Herhangi bir ters vuruşun kabul edilebilir olup olmadığını kontrol edin. Mesafe raporu daha küçük olsa bile yanlış işaretler veren bir rotayı reddedin.
Kaydedilen önizlemenin neyi koruduğunu anlayın
AxiDraw'ın yeniden sıralama belgeleri, optimizasyonun geçici bir kopyada gerçekleştiğini açıklar. Kaydedilmiş bir çıktı SVG'sindeki orijinal nesneler orijinal sıralarını korur. Çıktılarımız aynı şekilde her orijinal stroke-* yolunu ve orijinal sırasını korudu.
Bu nedenle, preview-order-2.svg bir tanılama önizlemesidir, başka bir programın kalıcı olarak yeniden sıralanan bir resim dosyasını okuyacağının kanıtı değildir. Kaynağı, seçilen seçeneği ve karşılaştırma raporunu bir arada tutun. Orijinali daha sonra AxiDraw ile kullanırken, amaçlanan sıralama ayarlarını uygun çizim iş akışında tekrar uygulayın.
Sorununuz istenmeyen çizim geometrisiyse rota oluşturma adımına dönün. Yalnızca kalem kaldırılmış durumdaki hareket rotası israfa yol açıyorsa, sabit ayarlı önizlemeleri karşılaştırın. Fiziksel boyut, kalem davranışı ve makinenin çalışması hâlâ kendi kontrollerini gerektirmektedir; bu çevrimdışı kontrol onları kanıtlamaz.
Bu kontrolden önce PerfectVector'un sığacağı yer
Hala yalnızca raster resminiz varsa ve bunun düzenlenebilir vektör şekilleri olarak renk dolgulu görünür dış hatlı şekillerini istiyorsanız, PerfectVector'ın görüntü vektörleştiricisi uygun bir erken adım olabilir. Önizlemesini kaynağınızın konturlarına ve deliklerine göre inceleyin. Tek bir merkez çizgisi çıkarmaz veya AxiDraw yol sırasını optimize etmez; ihtiyacınız olan rotalar olduğunda merkez çizgisi veya tarama iş akışını kullanın.
Zaten doğru SVG rotalarına sahipseniz bunları saklayın ve doğrudan çevrimdışı kontrolü gerçekleştirin. Bir SVG'nin yeniden izlenmesi, eksik sipariş bilgisi eklemez. PerfectVector'un korumalı önizlemesi salt görüntülenebilir; Bir sonucu düzenlemek ve dışa aktarmak, kilidinin açılmasını gerektirir.
SSS
AxiDraw'ın yeniden sıralaması SVG'min nesne sırasını kalıcı olarak değiştirir mi? Hayır. Belgelenen optimizasyon geçici bir kopya kullanır. Kaydedilen bir önizleme tanısal hareket katmanlarını içerirken orijinal resim nesneleri sıralarını korur. Seçilen ayarı ayrı olarak koruyun.
Kağıttan kaldırılan kalemin hareketi neden küçülürken kaldırma sayısı aynı kaldı? Aynı sekiz ayrı vuruş farklı bir sıra veya yönde ziyaret edilebilir. Yol birleştirmenin devre dışı olduğu test referansımızda, tüm ayarlar sekiz kaldırma ve 64 mm çizim rapor ederken, kalem kaldırılmış durumdayken hareket değişti.
Sipariş vermek çift hatlı izi düzeltebilir mi veya gölgeleme oluşturabilir mi? Hayır. Önce çizim rotalarını düzeltin. Tek bir vuruş için bir merkez çizgisi iş akışı kullanın veya alan gölgelendirmesi için açık tarama yolları oluşturun, ardından kabul edilen geometri üzerindeki sıralamayı karşılaştırın.
Kaynaklar
- AxiDraw — Python API Referansı — Önizleme SVG'lerini döndüren örneklerle çevrimdışı önizlemeyi ve oluşturmayı tanımlar.
- AxiDraw — CLI Referansı — Kurulumu, yol sıralamasını ve yol yönünü tersine çevirme ayarlarını, katman işlemeyi ve geçici optimizasyonu kapsar.
- W3C — SVG Koordinat Sistemleri, Dönüşümler ve Birimler — Boyutlandırılmış örnek tarafından kullanılan görünüm alanı eşlemesini açıklar.
Hala ihtiyacınız olan renk dolgulu ana hatlarıyla belirtilen bir taramalı çizimden mi başlıyorsunuz? Kendi görselinizle ücretsiz başlayın, ardından önizlemenin hatlarını ve deliklerini kaynağa göre inceleyin. Amaçlanan kalem rotaları mevcut olduğunda, yukarıdaki çevrimdışı yöntemle bunların sırasını ayrı ayrı kontrol edin.
Bloga daha fazlası
V-Carve Derinliği: Geniş Logo Çizgileri Daha Derin
Çizim genişliği ve V uç açısının kazıma derinliğini nasıl belirlediğini öğrenin, logo örneği hesaplayın ve düz taban, paso derinliği ile izlenmiş kontur geometrisini ayırın.
SVG kat izi ve kesim çizgileri: Geometriyi okuyun
Score veya Cut atamadan SVG kat geometrisini okuyun. Açık yolları, dolgulu bantları ve kesikli işaretleri karşılaştırıp belgelenmiş Cricut işlem akışını kontrol edin.


