วันศุกร์ที่ 10 กันยายน พ.ศ. 2553

AutoCAD Tips: Visual LISP / AutoLISP ลง Hatch ด้วย 3 จุด



งานเขียนแบบสถาปัตย์ในส่วน Section หรือ Elevation บางครั้งจะมีแสดงแนวของดิน ทราย หรือคอนกรีต ถ้ามีวิธีช่วยให้เขียนเร็วขึ้นได้ ก็จะลดเวลาลงได้มาก ไม่ต้องเสียเวลาสร้าง Boundary ไว้อ้างอิงสำหรับการลง Hatch เหล่านี้ (แล้วค่อยลบขอบเขตนี้ออกไปในภายหลัง)

ขอนำเสนอไฟล์ HatchLine.VLX ซึ่งผู้สนใจสามารถอีเมลมารับไปใช้งานกันได้ โดยแก้ไขในส่วนไฟล์นิยาม อีกตัวชื่อ HatchDefs.LSP เพื่อกำหนด Hatch Pattern, Scale, Angle, ชื่อเลเยอร์ของ Hatch Pattern หรือจะใช้ตามที่นิยามไว้แล้วในไฟล์ก็ได้เช่นกัน

ตัวอย่างใช้งาน
Command: พิมพ์ชื่อคำสั่ง EARTHI กด ENTER
Developed by schatchawal@gmail.com
Specify first point: คลิกจุดปลายบนเส้นเพื่อกำหนดแนวขอบเขต (1)
Specify second point: คลิกจุดบนอีกปลายของเส้นเพื่อกำหนดแนวขอบเขต (2)
Specify side to draw: คลิกจุดในด้านที่จะเขียน hatch (3)


ผลลัพธ์ที่ได้


เนื่องจากเป็นไฟล์ LISP จึงต้องโหลดก่อน ด้วยคำสั่ง APPLOAD โดยให้โหลดไฟล์ HatchLine.VLX เท่านั้น ส่วน HatchDefs.LSP จะถูกโหลดให้เอง เพราะมีกำหนดในไฟล์ HatchLine.VLX เอาไว้แล้ว

สังเกตว่าในไฟล์ตัวอย่าง HatchDef.LSP ที่ให้ไว้นี้ มีคำสั่ง EARTH, EARTHI, CONC, CONCI, SAND และ SANDI ในคำสั่งที่ชื่อลงท้ายด้วย I นี้จะให้ผลเป็นรูปร่างทรงอิสระ (Irregular) ที่เหลือเป็นแบบสี่เหลี่ยม (Rectangular)

ในไฟล์ HatchDefs.LSP สร้างคำสั่งใหม่ได้เอง
โดยใช้บรรทัด (defun c:XXX () (... )) ตามที่ให้รายละเอียดไว้ในไฟล์แล้ว

;;Samples
;; (defun c:XXX () (Hatch3Points Hatch_Pattern Scale Angle_in_Degrees Depth Irregular Layer )(princ))
;; Name - c:XXX
;; Irregular - 1 for Irregular shape and 0 for Rectangular.
;; Layer - Layer name of this new hatch or nil for Use the current layer.
(defun c:earth ()
(Hatch3Points "EARTH" 0.01 45.0 0.2 0 "A-Lightweight-Line")
(princ)
)

6 ความคิดเห็น:

  1. Hi, please send me HatchLine.VLX and HatchDefs.LSP at cad8521@hotmail.com
    many thx

    ตอบลบ
  2. จัดส่งให้แล้วนะครับ

    ตอบลบ
  3. รบกวนขอไฟล์ทางเมล์ครับ
    ขอบคุณครับ
    geartnias@gmail.com

    ตอบลบ
  4. รบกวนขอไฟล์ทางเมล์ด้วยครับ deawdesign@yahoo.com
    ขอบพระคุณอย่างสูงครับ
    นับถือ
    Metaldeaw

    ตอบลบ
  5. น่าสนใจมากครับ
    ขอ IDP.VLX ได้ไหมครับ
    Somchay_ts@hotmail.com

    ตอบลบ