แสดงบทความที่มีป้ายกำกับ Block แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Block แสดงบทความทั้งหมด

Blockreplace - Redefine Block การแทนที่ Block ใหม่

       Block Replace - Redefine Block

เดิมทีการ Insert  Block ใหม่เพื่อมาแทน Block เก่า ทำได้โดยใช้คำสร้าง Insert ชื่อ Block เก่าแล้วเพิ่มเครื่องหมาย=ต่อท้ายระบุด้วยชื่อของ Block ใหม่ แต่มักจะเกิดปัญหาตามรูปด้านล่าง


วันนี้จึงต้องมาค้นหาคำสั่งใหม่ๆ มาแทนคำสั่งเก่า เพื่ออารมณ์ในการทำงานได้ดีขึ้น

จึงได้คำสั่งนี้มาครับ   BLOCKREPLACE


พิมพ์ Blockreplace จะขึ้น dialog box นี้มาให้เลือก Block เดิมที่ต้องการจะเปลี่ยน พอกด OK แล้วปั๊บ


จะขึ้น Dialog box นี้มาให้เลือก Block ที่ต้องการจะเปลี่ยนแทนที่ Blockเดิมครับ พอกดโอเครปุ๊บ Block เดิมก็เปลี่ยนปั๊บเป็นอันใหม่ตามที่เลือกไว้ครับ

อีกกรณีหนึ่งการแก้ไข Block โดยใช้ Wblock แล้วทำการ Insert เข้ามาใหม่ จะมี Dialog box นี้ขึ้นมาถาม
ให้ Redefine หรือไม่ หากต้องการเปลี่ยนก็กดที่ Redefine ครับ



จากที่ไม่ค่อยได้ใช้คำสั่งใหม่ๆ วันนี้ได้น้องมาบอกคำสั่งใหม่ๆบ้างกัน


กับคำสั่ง XR (Xref)
วันนี้ลุงธีลองใส่ชื่อดูแต่ Path มันยาวมาก Block ก็เลยไม่เปลี่ยนให้
อีกอย่างคือมันเป็น Xref ได้หนูนาบอกใช้คำสั่ง XR ซิพี่
ลองดู อืม... อืม...อืม เป็น Xref ลุง๊ลืมใช้ไปได้ไงนี่



บอกไว้เผื่อคนยุคเก่าๆได้ปรับเปลี่ยนมาใช้กันนะครับ






การ Insert Block ใหม่แทนที่ Block เก่า

       มีหลายครั้งหลายครา เวลาที่ทำำงานโดยที่จะต้องพบเจอปัญหากับการปรับปรุงแก้ไขแบบหลายครั้ง
โดยไม่ได้ใช้ Xref (หากทำ Xref คงจะปรับแก้ไขได้ง่ายกว่า ) การทำ Block เป็นทางเลือกหนึ่งที่การแก้ไขหลายๆจุด จนมึนงง และสับสน ใหม่เก่า ไม่รู้ว่าปรับแก้ไขที่ตรงจุดไหนบ้าง ผมเองมักจะหลีกเลี่ยงโดยทำ Block ใหม่เข้าไปทับ Block เก่ามันซะเลย เส้นเยอะนักใช่ไหม โดยครอบสร้าง Block ในไฟล์ที่ต้องแก้ไข ให้ชื่อที่ไม่ยาวจะได้พิมพ์ได้ง่าย ยกตัวอย่างงานง่ายๆที่มักเจอบ่อยๆ คือการที่จะต้องเปลี่ยน Headding Title หรือกรอบกระดาษของงานนั่นแหล่ะครับ หากเป็น Xref ก็ง่ายครับ แก้ต้นทางปลายทางก็ปรับให้แล้ว แต่หากไม่มีต้นทาง วิธีก็คือใช้ตัวใหม่ทับตัวเก่า แต่การที่จะให้คำสั่ง Insert Block ใหม่ แล้วให้ตัวเก่าปรับตามใน Release ใหม่ๆจะเป็น Dialog Box ไปหมดจึงไม่ค่อยได้มีใครได้ใช้ Parameter ที่ AutoCAD ให้มาสักเท่าไหร่นัก งั้นมาลองดูวิธีนี้ดูนะครับ การเปลี่ยน Block หลายๆอัน โดยครั้งเดียว

Command Line : -insert (ใช้ - นำหน้าเพื่อเรียกคำสั่งพื้นฐานโดยไม่ดึง App.Dialog Box ขึ้นมาครับ)
-INSERT Enter block name or [?] : (ใส่ชื่อ Block เดิมที่ต้องการเปลี่ยนแล้วใช้เครื่องหมาย = ตามด้วยชื่อของ Block ใหม่ที่ต้องการแทนที่ )

ตัวอย่าง
Command line : -insert
-INSERT Enter block name or [?] : A=B
Block "A" already exists. Redefine it ? [Yes/No] : Y (ตอบ Yes แล้ว Enterครับ)

เท่านี้ก็เปลี่ยนไปแล้วครับ
มีข้อแม้อยู่ว่าหากอยู่คนละพาร์ท จะต้องพิมพ์ชื่อพาร์ทให้ครบครับ ควรสร้างเป็น Block ภายนอกไฟล์จะดีกว่าครับ ไว้จะลงรูปมาให้ดูกันครับ

การสร้าง Attibute Block ไม่ยากอย่างที่คิด

          ผมใช้โปรแกรมมานานโดยตั้งแต่เริ่มใช้ก็ 2.14 โน้นแล้ว สิ่งที่ศึกษาเป็นอันดับต้นๆคือคำสั่งต่างๆ โดยจะไล่เรียงคำสั่งในแต่ละชุดออกมาใช้งาน และก็มีคำสั่งเขียนแผ่นป้าย Attibute นี่แหล่ะที่มีรายละเอียดชวนให้งง สับสนกับการใช้งานให้ถูกต้อง เพราะมันมีให้ตั้งค่าอะไรต่างๆมากมาย แต่ตอนนี้ผมว่าคำสั่งนี้ไม่ได้ยากเลย ถ้าเรารู้จักใช้มัน เพราะที่ใช้งานกันส่วนมากก็เพียงแค่เพื่อให้แก้ไขตัวอักษรที่อยู่ภายในเท่านั้น ส่วนไอ้ที่จะติดรายละเอียดลึกๆข้างใน เพื่อสกัดเอาค่าออกมาใช้นั้นช่างมีน้อยเสียเหลือเกิน เพราะฉะนั้นเราคงไม่ไปสนใจรายละเอียดที่มากมายขนาดนั้น วิธีการง่ายเลยที่ผมมักจะใช้เสมอตั้งแต่โบราณจนปัจจุบันต่างกันที่ Version 2.14 จะเป็น command line อย่างเดียวต้องตอบที่ละบรรทัด แต่เดี๋ยวนี้มี Dialogbox เข้ามาช่วยอำนวยความสะดวกขึ้นเยอะเลย จริงๆนะ

  1. พิมพ์คำสั่งที่ Command line : DDATTDEF (คำสั่งเต็มย่อมาจาก Dialog attibute define แปลกันตรงๆเลยก็คือ เปิดไดอะล็อกบล็อกเพื่อกำหนดแผ่นป้าย ตรงไปหรือเปล่าไม่รู้ อิอิ )
  2. จะปรากฎไออะล็อกบล็อกขึ้นมา ไม่ต้องไปสนใจอะไรมากกับค่าต่างๆ ให้ใช้ค่า Tag , Prompt , และ  Default  ก็เพียงพอ ไม่ต้องไปตั้งค่าใน Mode หากไม่ต้องการซ่อนมัน

   Tag - จะว่าไปก็คือแผ่นป้ายที่จะติดนี่แหล่ะ เพื่อให้รู้ว่าข้อความที่จะติดคืออะไร นึกอะไรไม่ออกก็พิมพ์ XXX ไปก่อน ( อย่าไปคิดอะไรมากนะ ไม่ใช่หนังติดเรท )
   Prompt - จริงๆแล้วก็คือตัวที่เราจะตั้งข้อมูลบอกที่เกี่ยวกับแผ่นป้าย เช่น Project name, Number, Work หรืออื่นที่สามารถระบุแผ่นป้ายได้ นึกอะไรไม่ออก พิมพ์ XXX: ไปครับ
  Default - อันนี้คือการกำหนดค่าคงที่ให้กับแผ่นป้าย ในกรณีที่เราใช้ค่าข้อความที่เหมือนกันมากในหลายชุด เราก็ใส่ค่าลงไปที่นี้ครับ เช่นประเภทงานที่เขียนเราอาจจะใส่เป็นโค้ดได้ : AR,ST,SN หรือ อาจจะใส่เป็นจำนวนรวมทั้งทั้งของงานก็ได้ เป็นตัวเลขไปเลย เช่น 69 , 96 (อย่าไปคิดมากนะครับ แค่ตัวอย่างเท่านั้นเอง) แต่ถ้ายังนึกอะไรไม่ออกก็พิมพ์ 18+ ไปก่อนครับ
เพียงเท่านี้เราก็คลิ๊ก OK ครับ
     3. โปรแกรมได้รับค่าแล้วก็จะให้เรากำหนดตำแหน่งของแผ่นป้ายว่าจะว่างมันที่ตรงไหน คลิ๊กไปเลยครับตรงไหนก่อนก็ได้ แล้วค่อยมา Move เคลื่อนมันทีหลัง
     4. แล้วเราก็ทำให้มันเป็น Block ครับจะเป็นภายนอก Wblock หรือภายใน Block ธรรมดาก็ได้ ให้ชื่อว่า X ก็แล้วกัน
     5.ใช้คำสั่ง Insert ดึงบล็อกชื่อ X เข้ามาใช้งานครับ จะมีไดอะล็อกบล็อกให้ใส่ค่าของแผ่นป้ายเท่านี้ก็เรียบร้อยครับ

ถ้าไม่มีไดอะล็อกบล็อกขึ้นมาให้แก้ไข ให้ตั้งค่า Setvar ดังนี้  พิมพ์ ATTDIA ที่ Command line : พิมพ์ค่าเป็น 1 เพื่อเปิดใช้งานครับ แล้วลอง Insert ดูอีกครั้ง (นั่นไง มาแล้วใช่ม่ะ)
คำสั่งแก้ไขแผ่นป้ายคือ : DDATTE ( คงจะมาจาก Dialog block attibute edit ครับ )



*การใช้คำสั่งเปิดไฟล์ Open จะใช้ Filedia เป็นค่าตัวแปรระบบควบคุมกล่องโต้ตอบ หากเป็นค่า 0 ก็จะไม่ขึ้นกล่องมาให้เลือกครับ*

ในส่วนของคุณสมบัติของตัวอักษรก็ใช้ Property object แก้ไขได้เหมือนข้อความทั่วไปครับ ง่ายกว่ากันเยอะ

ช่องทางการปรับแก้ไขข้อมูลในแผ่นป้าย Tag Attibute ตามด้านล่างนี้ครับ


Button

 Ribbon: Home tabBlock panelEdit Single Attribute

 Menu: ModifyObjectAttributeSingle

 Toolbar: Modify II
 Command entry: eattedit










เรียบร้อย

คลังบทความของบล็อก