> [Site index](https://perfectvector.com/llms.txt) — available pages and descriptions.

# ตรวจลำดับพาธ AxiDraw ก่อนวาด SVG

> เปรียบเทียบการแสดงตัวอย่าง SVG ออฟไลน์ของ AxiDraw เพื่อตรวจสอบลำดับเส้นทาง การกลับตัว และการเคลื่อนไหวด้วยปากกาที่ยกขึ้นจากกระดาษ รักษารูปทรงเรขาคณิตของการวาดและทำความเข้าใจว่า SVG ที่บันทึกไว้คืออะไร

Source: https://perfectvector.com/th/blog/axidraw-path-order

Language: th
Author: Irene Kim
Published: 2026-11-06T08:00:00+09:00
Updated: 2026-11-09T08:00:00+09:00

หากต้องการเพิ่มประสิทธิภาพการเคลื่อนที่ของปากกา SVG ใน AxiDraw ขั้นแรกให้ยืนยันว่าเส้นทางวาดเครื่องหมายที่คุณต้องการ จากนั้นเปรียบเทียบการแสดงตัวอย่างแบบออฟไลน์กับรูปทรงเดียวกันและการตั้งค่าคงที่ การจัดลำดับใหม่อาจทำให้การเคลื่อนไหวของปากกาสั้นลงเมื่อยกปากกาขึ้น โดยไม่ลดจำนวนการยกหรือเปลี่ยนรูปร่างที่วาด

เก็บ SVG ดั้งเดิมของคุณไว้ การแสดงตัวอย่างด้านล่างจะตรวจสอบการเรียงลำดับและการกลับเส้นทางทางเลือก มันไม่สร้างเส้นกึ่งกลางขึ้นมาใหม่ ซ่อมแซมโครงร่างที่ไม่ต้องการ หรือจัดเรียงวัตถุ SVG ดั้งเดิมใหม่อย่างถาวร การทดสอบของเราใช้จังหวะเปิดที่เขียนขึ้นแปดครั้ง ไม่ใช่โครงร่างแบบเวกเตอร์จาก PerfectVector หรือการวาดด้วยปากกาจริง

## วินิจฉัยการกระโดดก่อนที่จะเปลี่ยนลำดับ

การเคลื่อนไหวโดยให้ปากกาสัมผัสกระดาษเป็นเส้นทางที่ทำเครื่องหมาย การเคลื่อนไหวโดยยกปากกาขึ้นจากกระดาษคือการเคลื่อนไหวระหว่างเครื่องหมายโดยยกปากกาขึ้น การวาดภาพที่ดูสั้นอาจมีการเคลื่อนไหวที่ยาวนานโดยยกปากกาขึ้นจากกระดาษเมื่อวัตถุที่ต่อเนื่องกันอยู่ห่างจากกัน

| สิ่งที่แสดงตัวอย่าง                          | จะต้องจัดการอะไรก่อน                                                                             |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| ขอบสองเส้นรอบเส้นที่ควรเป็นหนึ่งขีด          | สร้าง [เส้นทางสายเดียว](https://perfectvector.com/th/blog/drawing-to-single-line-svg) ที่ต้องการ |
| เส้นรอบวงว่างที่คุณต้องการให้มีพื้นที่แรเงา  | สร้าง[เส้นทางปากกาเติมฟัก](https://perfectvector.com/th/blog/hatch-fill-svg-pen-paths)ที่ชัดเจน  |
| เครื่องหมายถูกต้อง แต่ข้ามหน้าซ้ำๆ           | เปรียบเทียบการตั้งค่าการเรียงลำดับเส้นทางและการกลับทิศทางเส้นทางด้านล่าง                         |
| เส้นที่ไม่ต้องการลากระหว่างเครื่องหมายแยกกัน | ตรวจสอบเรขาคณิตแบบปากกาลงและการเชื่อมต่อเส้นทางก่อนที่จะยอมรับเส้นทางที่สั้นกว่า                 |

การวัด [ความยาวเส้นทาง SVG](https://perfectvector.com/th/blog/measure-svg-path-length) จะตอบคำถามว่าเรขาคณิตของการวาดมีความยาวเท่าใด โดยตัวมันเองไม่ได้รวมการเดินทางของเครื่องระหว่างเส้นทางเหล่านั้นด้วย

[การอ้างอิง AxiDraw CLI](https://axidraw.com/doc/cli_api/#reordering) จะแยกแยะการตั้งค่าเหล่านี้: โดยปกติ `0` จะเป็นไปตามลำดับเอกสารที่มีการเข้าร่วม `1` ยังจัดลำดับเส้นทางใหม่ และ `2` ยังอนุญาตให้มีการกลับเส้นทางอีกด้วย การเชื่อมต่อเส้นทางการวาดที่อยู่ติดกันเป็นการตัดสินใจแยกต่างหาก สำหรับการเปรียบเทียบนี้ เราปิดใช้งานด้วย `min_gap = -1` ดังนั้นเส้นที่อยู่ติดกันจึงไม่สามารถกลายเป็นเครื่องหมายต่อเนื่องได้

การกลับรายการอาจมีความสำคัญสำหรับงานที่ต้องคำนึงถึงทิศทาง หากภาพวาดต้องเป็นไปตามลำดับการเขียนหรือทิศทางเฉพาะ เส้นทางการเคลื่อนที่ที่สั้นกว่าโดยยกปากกาขึ้นนั้นไม่เพียงพอที่จะยอมรับการตั้งค่า `2` เลเยอร์ยังจำกัดการเรียงลำดับ ไม่ควรถือว่ากลุ่มที่ซ้อนกันเพื่อรักษาลำดับการวาดไว้ภายใต้การปรับให้เหมาะสม ตรวจสอบตัวอย่างจริงสำหรับเอกสารของคุณ

## เรียกใช้การแสดงตัวอย่างแบบออฟไลน์สามรายการบน SVG ที่ไม่เปลี่ยนแปลง

ตัวอย่างนี้ต้องใช้ Python และ AxiDraw Python API อย่างเป็นทางการ เราทดสอบ API 3.9.6 ด้วย Python 3.9.6 ปฏิบัติตาม[คำแนะนำในการติดตั้ง](https://axidraw.com/doc/cli_api/#installation)อย่างเป็นทางการ หากไม่ได้ติดตั้งโมดูลในสภาพแวดล้อม Python ที่คุณใช้

[การอ้างอิง Python API](https://www.axidraw.com/doc/py_api/#preview) กำหนดการแสดงตัวอย่างเป็นการจำลองออฟไลน์ ตั้งค่า `preview = True` **หลัง** `plot_setup` และ **ก่อน** `plot_run` สคริปต์ด้านล่างจะตั้งค่าและยืนยันเสมอ ไม่มีการโทรเชื่อมต่ออุปกรณ์

บันทึกตัวอย่างเล็กๆ นี้เป็น `eight-strokes.svg` หรือใช้สำเนา SVG ของคุณเอง:

```xml
<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>
```

อุปกรณ์จับยึดมีวิวพอร์ต 100 × 80 มม. และขนาด `viewBox` ที่ตรงกัน ซึ่งแมปแต่ละหน่วยพิกัดเป็น 1 มม. ที่นี่ ตาม [การแมปวิวพอร์ตและ viewBox](https://www.w3.org/TR/SVG2/coords.html#ViewBoxAttribute) ของ SVG แต่ละจังหวะทั้งแปดนั้นยาว 8 มม.

บันทึกสิ่งต่อไปนี้เป็น `preview-orders.py`:

```python
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)
```

รันด้วยสภาพแวดล้อม Python ที่มี API อย่างเป็นทางการ โดยใช้ชื่อไดเร็กทอรีเอาต์พุตใหม่:

```bash
python3 preview-orders.py eight-strokes.svg preview-check
```

โดยจะบันทึก SVG การวินิจฉัยสามรายการและ `distances.json` `rendering = 3` รวมถึงการเคลื่อนไหวทั้งการยกและการวาด การเริ่มสุ่มและการหมุนอัตโนมัติปิดอยู่ การเข้าร่วมเส้นทางถูกปิดใช้งาน คงตัวเลือกเหล่านั้นไว้เมื่อเปรียบเทียบไฟล์ของคุณเอง สคริปต์นี้เป็นวิธีการตรวจสอบแบบออฟไลน์ ไม่ใช่คำสั่งในการใช้งานพล็อตเตอร์

## เปรียบเทียบการเคลื่อนไหวกับรูปทรงปากกาที่ยกและวาดแยกกัน

ในการแข่งขันแปดจังหวะของเรา สคริปต์ที่แน่นอนถูกสร้างขึ้น:

| กำลังจัดลำดับใหม่ | การเคลื่อนไหวโดยประมาณโดยยกปากกาขึ้นจากกระดาษ | การเคลื่อนไหวโดยให้ปากกาสัมผัสกับกระดาษ | รายงานลิฟท์ |
| ----------------- | --------------------------------------------- | --------------------------------------- | ----------- |
| `0`               | 0.509749 ม                                    | 0.064 ม                                 | 8           |
| `1`               | 0.223592 ม                                    | 0.064 ม                                 | 8           |
| `2`               | 0.180919 ม                                    | 0.064 ม                                 | 8           |

ข้อมูลเหล่านี้เป็นค่าประมาณของซอฟต์แวร์เนทิฟสำหรับไฟล์นี้ รวมถึงการเดินทางตั้งแต่เริ่มต้นและกลับบ้าน ระยะปากกาลงอยู่ที่ 64 มม. และจำนวนการยกยังคงอยู่ที่แปด การเคลื่อนไหวที่สั้นลงโดยยกปากกาขึ้นจากกระดาษไม่ได้หมายความว่าการยกน้อยลง เราไม่ได้วัดการวาดด้วยปากกาจริง เวลาในการวางแผนที่ผ่านไป หรือการปรับปรุงที่รับประกันสำหรับการวาดอื่น

![ตัวอย่าง AxiDraw แบบเรียงซ้อนจะแสดงลายเส้นสีน้ำเงินแปดเส้นไม่เปลี่ยนแปลง ในขณะที่เส้นทางการเคลื่อนที่สีม่วงแดงพร้อมปากกาที่ยกขึ้นแตกต่างกันระหว่างการเรียงลำดับศูนย์และสอง คอนทราสต์ของจอแสดงผลและน้ำหนักเส้นโครงร่างได้รับการปรับปรุง](https://perfectvector.com/blog/axidraw-path-order/axidraw-proof.webp)

*การจับภาพตัวอย่างจริงของสำเนาการแสดงเส้นทาง SDK เนทีฟแบบสแต็ก แสดงผลด้วย resvg สีน้ำเงินปากกาลงแล้ว สีม่วงแดงถูกปากกาขึ้น สีและน้ำหนักเส้นโครงร่างได้รับการปรับปรุงเพื่อให้อ่านได้ชัดเจน พิกัดเส้นทางดั้งเดิมไม่เปลี่ยนแปลง ไม่มีการเชื่อมต่อพล็อตเตอร์*

รูปที่ซ้อนกันจะเปรียบเทียบการตั้งค่า `0` และ `2`; ตารางยังรวมถึง `1` โดยจะแสดงสำเนาของเส้นทางแสดงตัวอย่าง SDK ดั้งเดิมที่มีสีน้ำเงินและสีม่วงแดงเข้มขึ้น และมีลายเส้นที่หนาขึ้นเพื่อให้อ่านได้ชัดเจน นี่เป็นรูปแบบการแสดงผล ไม่ใช่ความกว้างของปากกาจริง พิกัดเส้นทางดั้งเดิมและการแปลงไม่มีการเปลี่ยนแปลง วิวพอร์ตจอแสดงผลจะครอบตัดพื้นที่ที่ไม่ได้ใช้ มีการตรวจสอบการแสดงตัวอย่างดั้งเดิมทั้งสามรายการ และการตรวจสอบเรขาคณิตอิสระพบว่าส่วนการวาดภาพแนวนอนแปดส่วนเหมือนกัน ทำให้สามารถกลับลำดับจุดสิ้นสุดได้ จุดยอดแบบปากกาที่สุ่มตัวอย่างทั้งหมดยังคงอยู่บนส่วนที่ตั้งใจไว้

สำหรับไฟล์ของคุณ ให้เปิด SVG ตัวอย่างแต่ละรายการ และตรวจสอบเลเยอร์การวาดแยกจากเลเยอร์ระยะยกขึ้น ยืนยันขนาดหน้าและตำแหน่งที่ต้องการ เครื่องหมายที่คาดหวังทั้งหมด รูหรือช่องว่างที่ไม่เปลี่ยนแปลง และไม่มีตัวเชื่อมต่อที่วาดใหม่ ตรวจสอบว่าจังหวะการกลับด้านเป็นที่ยอมรับได้ ปฏิเสธเส้นทางที่วาดเครื่องหมายผิด แม้ว่ารายงานระยะทางจะน้อยกว่าก็ตาม

## ทำความเข้าใจว่าตัวอย่างที่บันทึกไว้จะเก็บรักษาอะไรไว้บ้าง

[เอกสารการจัดลำดับใหม่](https://axidraw.com/doc/cli_api/#reordering)ของ AxiDraw อธิบายว่าการปรับให้เหมาะสมเกิดขึ้นในสำเนาชั่วคราว ออบเจ็กต์ดั้งเดิมในเอาต์พุต SVG ที่บันทึกไว้จะคงลำดับเดิมไว้ ผลลัพธ์ของเรายังคงรักษาพาธ `stroke-*` ดั้งเดิมทุกอันและลำดับดั้งเดิมของมันไว้เช่นเดียวกัน

ดังนั้น `preview-order-2.svg` จึงเป็นการแสดงตัวอย่างเพื่อการวินิจฉัย ไม่ใช่ข้อพิสูจน์ว่าโปรแกรมอื่นจะอ่านไฟล์อาร์ตเวิร์คที่เรียงลำดับใหม่อย่างถาวร เก็บแหล่งที่มา ตัวเลือกที่เลือก และรายงานการเปรียบเทียบไว้ด้วยกัน เมื่อใช้ต้นฉบับกับ AxiDraw ในภายหลัง ให้ใช้การตั้งค่าลำดับที่ต้องการอีกครั้งในเวิร์กโฟลว์การลงจุดที่เหมาะสม

หากปัญหาของคุณคือรูปทรงเรขาคณิตในการวาดภาพที่ไม่ต้องการ ให้กลับไปที่ขั้นตอนการสร้างเส้นทาง หากเพียงเส้นทางการเคลื่อนที่โดยยกปากกาขึ้นเท่านั้นที่สิ้นเปลือง ให้เปรียบเทียบตัวอย่างการตั้งค่าคงที่ ขนาดทางกายภาพ พฤติกรรมของปากกา และการทำงานของเครื่องยังคงต้องมีการตรวจสอบด้วยตนเอง การควบคุมแบบออฟไลน์นี้ไม่สามารถพิสูจน์ได้

## ตำแหน่งที่ PerfectVector พอดีก่อนการตรวจสอบนี้

หากคุณยังมีเพียงอาร์ตเวิร์กแรสเตอร์และต้องการให้รูปร่างที่มีโครงร่างที่มองเห็นได้พร้อมการเติมสีเป็นรูปร่างเวกเตอร์ที่แก้ไขได้ [เวกเตอร์รูปภาพของ PerfectVector](https://perfectvector.com/th/image-to-vector) อาจเป็นขั้นตอนก่อนหน้านี้ที่เหมาะสม ตรวจสอบภาพตัวอย่างโดยเทียบกับรูปทรงและรูของแหล่งที่มาของคุณ มันไม่ได้อนุมานเส้นกึ่งกลางเส้นเดียวหรือปรับลำดับเส้นทาง AxiDraw ให้เหมาะสม ใช้เวิร์กโฟลว์เส้นกึ่งกลางหรือฟักเมื่อเป็นเส้นทางที่คุณต้องการ

หากคุณมีเส้นทาง SVG ที่ถูกต้องอยู่แล้ว ให้เก็บไว้และดำเนินการตรวจสอบออฟไลน์โดยตรง การย้อนกลับ SVG จะทำให้ข้อมูลการสั่งซื้อไม่ขาดหายไป การแสดงตัวอย่างที่ได้รับการป้องกันของ PerfectVector เป็นแบบดูอย่างเดียว การแก้ไขและส่งออกผลลัพธ์จำเป็นต้องปลดล็อค

## คำถามที่พบบ่อย

**การเรียงลำดับ AxiDraw ใหม่จะเปลี่ยนลำดับออบเจ็กต์ของ SVG ของฉันอย่างถาวรหรือไม่**
ไม่ การเพิ่มประสิทธิภาพที่บันทึกไว้จะใช้สำเนาชั่วคราว การแสดงตัวอย่างที่บันทึกไว้ประกอบด้วยเลเยอร์การเคลื่อนไหวเพื่อการวินิจฉัย ในขณะที่ออบเจ็กต์อาร์ตเวิร์คต้นฉบับยังคงรักษาลำดับไว้ เก็บการตั้งค่าที่เลือกไว้แยกกัน

**เหตุใดการเคลื่อนไหวด้วยปากกาที่ยกขึ้นจากกระดาษจึงหดตัวในขณะที่จำนวนการยกยังคงเท่าเดิม**
สามารถเยี่ยมชมแปดจังหวะที่แยกจากกันในลำดับหรือทิศทางที่แตกต่างกันได้ ในการทดสอบอ้างอิงของเราที่ปิดใช้งานการรวมเส้นทาง การตั้งค่าทั้งหมดรายงานการยกแปดครั้งและการวาด 64 มม. ในขณะที่การเคลื่อนไหวโดยยกปากกาขึ้นเปลี่ยนไป

**การสั่งซื้อสามารถแก้ไขการติดตามโครงร่างสองชั้นหรือสร้างการแรเงาได้หรือไม่**
ไม่ใช่ครับ แก้ไขเส้นทางการวาดก่อน ใช้เวิร์กโฟลว์เส้นกึ่งกลางสำหรับจังหวะเดียว หรือสร้างเส้นทางฟักอย่างชัดเจนสำหรับการแรเงาพื้นที่ จากนั้นเปรียบเทียบลำดับบนรูปทรงเรขาคณิตที่ยอมรับ

## แหล่งที่มา

1. [AxiDraw — การอ้างอิง Python API](https://www.axidraw.com/doc/py_api/) — กำหนดการแสดงตัวอย่างและการแสดงผลแบบออฟไลน์ โดยมีตัวอย่างที่ส่งคืน SVG การแสดงตัวอย่าง
2. [AxiDraw — การอ้างอิง CLI](https://axidraw.com/doc/cli_api/) — ครอบคลุมการติดตั้ง การจัดลำดับเส้นทางและการตั้งค่าการกลับทิศทางของเส้นทาง การจัดการเลเยอร์ และการเพิ่มประสิทธิภาพชั่วคราว
3. [W3C — ระบบพิกัด SVG การแปลงและหน่วย](https://www.w3.org/TR/SVG2/coords.html#ViewBoxAttribute) — อธิบายการแมปวิวพอร์ตที่ใช้โดยตัวอย่างที่มีมิติ

***

ยังคงเริ่มต้นจากการวาดภาพแรสเตอร์ที่มีรูปทรงเค้าร่างพร้อมเติมสีที่คุณต้องการหรือไม่? [เริ่มต้นอย่างอิสระด้วยภาพของคุณเอง](https://perfectvector.com/th/image-to-vector) จากนั้นตรวจสอบรูปทรงและรูของตัวอย่างเทียบกับแหล่งที่มา เมื่อมีเส้นทางปากกาที่ต้องการแล้ว ให้ตรวจสอบคำสั่งซื้อแยกกันด้วยวิธีออฟไลน์ด้านบน

## Explore

- [Read the HTML article](https://perfectvector.com/th/blog/axidraw-path-order)
- [ความลึก V-Carve: ทำไมเส้นโลโก้กว้างจึงตัดลึก](https://perfectvector.com/th/blog/v-carve-width-depth.md)
- [เส้นกรีดรอยพับกับเส้นตัด SVG: อ่านรูปทรงให้เข้าใจ](https://perfectvector.com/th/blog/svg-score-lines-vs-cut-lines.md)
- [Product facts](https://perfectvector.com/product-facts.md)
- [FAQ](https://perfectvector.com/faq.md)
- [Pricing and credits](https://perfectvector.com/pricing.md)
