Kiểm tra thứ tự đường AxiDraw trước khi vẽ SVG
So sánh các bản xem trước SVG ngoại tuyến của AxiDraw để kiểm tra thứ tự đường dẫn, sự đảo ngược và chuyển động bằng bút giơ lên từ giấy. Bảo toàn hình học bản vẽ và hiểu những gì SVG đã lưu giữ lại.
Trên trang này
Để tối ưu hóa việc di chuyển bút SVG trong AxiDraw, trước tiên hãy xác nhận rằng các đường dẫn sẽ vẽ các điểm bạn muốn. Sau đó so sánh các bản xem trước ngoại tuyến với cùng hình dạng và cài đặt cố định. Việc sắp xếp lại có thể rút ngắn chuyển động của bút khi bút được nâng lên mà không làm giảm số lần nâng hoặc thay đổi hình vẽ.
Giữ SVG gốc của bạn. Bản xem trước bên dưới kiểm tra thứ tự và đảo ngược đường dẫn tùy chọn; nó không tái tạo lại các đường trung tâm, sửa chữa các đường viền không mong muốn hoặc sắp xếp lại vĩnh viễn các đối tượng SVG ban đầu. Thử nghiệm của chúng tôi sử dụng tám nét mở được tạo sẵn, không phải đường viền được vector hóa từ PerfectVector hoặc bản vẽ bằng bút vật lý.
Chẩn đoán các bước nhảy trước khi thay đổi thứ tự
Chuyển động của bút chạm vào giấy là con đường tạo nên dấu vết. Chuyển động của bút giơ lên khỏi giấy là chuyển động giữa các dấu khi bút giơ lên. Một bức vẽ ngắn có thể có chuyển động dài bằng bút nhấc lên khỏi giấy khi các vật thể liên tiếp nằm cách xa nhau.
| Bản xem trước hiển thị những gì | Điều cần giải quyết trước tiên |
|---|---|
| Hai cạnh xung quanh một đường nên là một nét | Xây dựng tuyến đường đơn dự định |
| Một chu vi trống nơi bạn muốn có một khu vực bóng mờ | Tạo đường dẫn bút tô điểm rõ ràng |
| Đánh dấu đúng nhưng lặp lại nhiều lần trên trang | So sánh cài đặt trình tự đường dẫn và đảo ngược hướng đường dẫn bên dưới |
| Các đường không mong muốn được vẽ giữa các dấu riêng biệt | Kiểm tra hình học bút xuống và nối đường dẫn trước khi chấp nhận bất kỳ tuyến đường ngắn hơn nào |
Đo Độ dài đường dẫn SVG sẽ trả lời hình học của bản vẽ dài bao nhiêu. Bản thân nó không bao gồm hành trình của máy giữa các đường dẫn đó.
Tham chiếu CLI AxiDraw phân biệt các cài đặt này: 0 thường tuân theo thứ tự tài liệu với khả năng nối có sẵn, 1 cũng sắp xếp lại các đường dẫn và 2 cũng cho phép đảo ngược đường dẫn. Việc kết nối các đường vẽ liền kề là một quyết định riêng biệt. Để so sánh, chúng tôi vô hiệu hóa nó bằng min_gap = -1 để các nét liền kề không thể trở thành một dấu liên tục.
Sự đảo ngược có thể quan trọng đối với công việc nhạy cảm với hướng. Nếu bản vẽ phải tuân theo một trình tự hoặc hướng viết cụ thể thì lộ trình di chuyển ngắn hơn với bút giơ lên không đủ lý do để chấp nhận cài đặt 2. Các lớp cũng hạn chế việc sắp xếp; Các nhóm lồng nhau không nên được coi là duy trì trình tự vẽ được tối ưu hóa. Kiểm tra bản xem trước thực tế cho tài liệu của bạn.
Chạy ba bản xem trước ngoại tuyến trên SVG không thay đổi
Ví dụ này yêu cầu Python và API Python AxiDraw chính thức. Chúng tôi đã thử nghiệm API 3.9.6 với Python 3.9.6. Làm theo hướng dẫn cài đặt chính thức nếu mô-đun không được cài đặt trong môi trường Python mà bạn sử dụng.
Tham chiếu API Python xác định bản xem trước là mô phỏng ngoại tuyến. Đặt preview = True sau plot_setup và trước plot_run. Đoạn script bên dưới luôn đặt và xác nhận nó; nó không chứa cuộc gọi kết nối thiết bị.
Lưu ví dụ nhỏ này dưới dạng eight-strokes.svg hoặc sử dụng bản sao SVG của riêng bạ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>Thiết bị cố định có khung nhìn 100 × 80 mm và kích thước viewBox phù hợp. Ánh xạ mỗi đơn vị tọa độ tới 1 mm ở đây, tuân theo ánh xạ khung nhìn và khung nhìn của SVG. Mỗi trong số tám nét của nó dài 8 mm.
Lưu thông tin sau dưới dạng preview-orders.py:
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)Chạy nó với môi trường Python chứa API chính thức, sử dụng tên thư mục đầu ra mới:
python3 preview-orders.py eight-strokes.svg preview-checkNó lưu ba SVG chẩn đoán và distances.json. rendering = 3 bao gồm cả chuyển động nâng lên và chuyển động vẽ. Khởi động ngẫu nhiên và xoay tự động bị tắt; việc tham gia đường dẫn bị vô hiệu hóa. Giữ những lựa chọn đó cố định khi so sánh tệp của riêng bạn. Tập lệnh này là một phương pháp kiểm tra ngoại tuyến, không phải là lệnh để vận hành máy vẽ.
So sánh chuyển động với hình học được vẽ và vẽ bằng bút riêng biệt
Trong trận đấu tám gậy của chúng tôi, kịch bản chính xác được tạo ra:
| Sắp xếp lại | Ước lượng chuyển động khi bút giơ lên khỏi mặt giấy | Chuyển động khi bút chạm vào giấy | Mức tăng được báo cáo |
|---|---|---|---|
0 | 0,509749 m | 0,064m | 8 |
1 | 0,223592 m | 0,064m | 8 |
2 | 0,180919 m | 0,064m | 8 |
Đây là ước tính phần mềm gốc cho tệp này, bao gồm cả quãng đường di chuyển từ đầu đến cuối. Khoảng cách bút xuống ở mức 64 mm và số lần nâng ở mức 8. Chuyển động ngắn hơn khi bút giơ lên khỏi tờ giấy không có nghĩa là ít lần nâng bút hơn. Chúng tôi không đo lường một bản vẽ vật lý bằng bút, thời gian vẽ đã trôi qua hoặc sự cải thiện được đảm bảo cho một bản vẽ khác.

Hình xếp chồng so sánh các cài đặt 0 và 2; bảng cũng bao gồm 1. Nó hiển thị các bản sao của đường dẫn xem trước SDK gốc với màu xanh lam và đỏ tươi đậm hơn cũng như các nét dày hơn để dễ đọc. Đây là kiểu hiển thị, không phải chiều rộng bút vật lý. Các tọa độ và biến đổi đường dẫn gốc không thay đổi; khung nhìn hiển thị cắt không gian chưa sử dụng. Tất cả ba bản xem trước gốc đều được kiểm tra và kiểm tra hình học độc lập đã tìm thấy tám đoạn vẽ ngang giống nhau, cho phép đảo ngược thứ tự điểm cuối của chúng. Mỗi đỉnh bút xuống được lấy mẫu vẫn nằm trên đoạn dự định của nó.
Đối với tệp của bạn, hãy mở từng SVG xem trước và kiểm tra lớp vẽ riêng biệt với lớp di chuyển nâng lên. Xác nhận kích thước và vị trí trang dự định, tất cả các dấu dự kiến, các lỗ hoặc khoảng trống không thay đổi và không có đầu nối mới được vẽ. Kiểm tra xem mọi hành trình đảo ngược có được chấp nhận hay không. Từ chối tuyến đường có điểm sai ngay cả khi báo cáo khoảng cách của nó nhỏ hơn.
Hiểu những gì bản xem trước đã lưu giữ lại
tài liệu sắp xếp lại của AxiDraw giải thích rằng việc tối ưu hóa diễn ra trong một bản sao tạm thời. Các đối tượng ban đầu trong SVG đầu ra đã lưu vẫn giữ nguyên thứ tự ban đầu của chúng. Tương tự, kết quả đầu ra của chúng tôi vẫn giữ lại mọi đường dẫn stroke-* ban đầu và trình tự ban đầu của nó.
Do đó, preview-order-2.svg là bản xem trước chẩn đoán, không phải là bằng chứng cho thấy chương trình khác sẽ đọc tệp tác phẩm nghệ thuật được sắp xếp lại vĩnh viễn. Giữ nguồn, phương án đã chọn và báo cáo so sánh cùng nhau. Khi sử dụng bản gốc với AxiDraw sau này, hãy áp dụng lại cài đặt thứ tự dự định trong quy trình vẽ đồ thị thích hợp.
Nếu vấn đề của bạn là vẽ hình học không mong muốn, hãy quay lại bước xây dựng tuyến đường. Nếu chỉ có lộ trình di chuyển với bút giơ lên là lãng phí, hãy so sánh các bản xem trước cài đặt cố định. Kích thước vật lý, hành vi của bút và hoạt động của máy vẫn cần có sự kiểm tra riêng; điều khiển ngoại tuyến này không chứng minh được chúng.
Nơi PerfectVector phù hợp trước lần kiểm tra này
Nếu bạn vẫn chỉ có tác phẩm nghệ thuật raster và muốn các hình có đường viền hiển thị được tô màu dưới dạng hình vectơ có thể chỉnh sửa thì Trình tạo vectơ hình ảnh của PerfectVector có thể là bước phù hợp trước đó. Kiểm tra bản xem trước của nó dựa trên các đường viền và lỗ hổng của nguồn. Nó không suy ra một đường trung tâm duy nhất hoặc tối ưu hóa thứ tự đường dẫn AxiDraw; sử dụng quy trình làm việc của đường trung tâm hoặc cửa sập khi đó là những tuyến đường bạn cần.
Nếu bạn đã có các tuyến SVG chính xác, hãy giữ chúng và thực hiện kiểm tra ngoại tuyến trực tiếp. Việc truy lại SVG không bổ sung thêm thông tin đặt hàng nào bị thiếu. Bản xem trước được bảo vệ của PerfectVector chỉ ở chế độ xem; chỉnh sửa và xuất kết quả yêu cầu mở khóa nó.
Câu hỏi thường gặp
Việc sắp xếp lại AxiDraw có thay đổi vĩnh viễn thứ tự đối tượng SVG của tôi không? Không. Tối ưu hóa tài liệu sử dụng bản sao tạm thời. Bản xem trước đã lưu chứa các lớp chuyển động chẩn đoán, trong khi các đối tượng tác phẩm nghệ thuật gốc vẫn giữ nguyên thứ tự của chúng. Giữ riêng cài đặt đã chọn.
Tại sao chuyển động của cây bút được nâng lên từ tờ giấy lại co lại trong khi số lần nâng vẫn giữ nguyên? Tám nét riêng biệt tương tự có thể được truy cập theo một trình tự hoặc hướng khác nhau. Trong tài liệu tham khảo thử nghiệm của chúng tôi với tính năng nối đường dẫn bị vô hiệu hóa, tất cả các cài đặt đều báo cáo tám lần nâng và 64 mm bản vẽ, trong khi chuyển động khi bút nâng lên đã thay đổi.
Việc đặt hàng có thể sửa được đường viền kép hoặc tạo bóng không? Không. Hãy sửa đường vẽ trước. Sử dụng quy trình làm việc theo đường trung tâm cho một nét đơn hoặc xây dựng các đường tô bóng rõ ràng để tạo bóng cho khu vực, sau đó so sánh thứ tự trên hình học được chấp nhận đó.
Nguồn
- AxiDraw — Tham khảo API Python — Xác định xem trước và hiển thị ngoại tuyến, với các ví dụ trả về SVG xem trước.
- AxiDraw — Tham khảo CLI — Bao gồm cài đặt, sắp xếp đường dẫn và cài đặt đảo ngược hướng đường dẫn, xử lý lớp và tối ưu hóa tạm thời.
- W3C — Hệ tọa độ SVG, Chuyển đổi và Đơn vị — Giải thích ánh xạ khung nhìn được sử dụng bởi ví dụ về thứ nguyên.
Bạn vẫn đang bắt đầu từ một bản vẽ raster có các hình dạng được phác thảo bằng màu tô mà bạn cần? Bắt đầu miễn phí với hình ảnh của chính bạn, sau đó kiểm tra các đường viền và lỗ hổng của bản xem trước so với nguồn. Khi đã tồn tại các tuyến bút dự định, hãy kiểm tra thứ tự của chúng một cách riêng biệt bằng phương pháp ngoại tuyến ở trên.
Thêm từ blog
Độ sâu V-carve: vì sao nét logo rộng hơn lại cắt sâu hơn
Tìm hiểu cách bề rộng hình và góc dao V quyết định độ sâu khắc, tính thử một ví dụ logo, và phân biệt độ sâu đáy phẳng, độ sâu mỗi lượt với đường viền đã đồ lại.
Đường tạo nếp và đường cắt SVG: Đọc hình học
Đọc hình học nếp gấp SVG trước khi gán Score hay Cut. So sánh đường mở, dải có màu tô và nét đứt, rồi kiểm tra quy trình thao tác Cricut theo tài liệu.


