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

ว่ากันด้วยเรื่องสเกลของเส้นและชิ้นงาน LTSCALE,PSLTSCALE,CELTSCALE,MSLTSCALE




การตั้งค่าในโปรแกรม AutoCAD มีมากมาย วันนี้มาลองดูการตั้งค่าของสเกลของเส้นและชิ้นงานในแต่ละตัวกันครับ


LTSCALE หรือ LineType Scale คืิอ ค่าที่ควบคุมสัดส่วนของ Line Type ของวัตถุทั้งหมด
ของ Drawing ในหน้าจอมอนิเตอร์
ไม่สามารถตั้งค่าเป็น 0 ได้ เพราะมีค่าเริ่มต้นเป็น 1
แต่สามารถจะตั้งค่าให้เป็น 0.5 ก็ยังได้ ลุงธีชอบใช้สะดวกดี

PSLTSCALE  หรือ Paper Space LineType Scale คือค่าที่ใช้ควบคุมสัดส่วนของ LineType ของวัตถุบน พื้นที่ Paper Space 

เมื่อเปลี่ยนค่าของ PSLTSCALE ให้เป็น 1 การใช้คำสั่งเช่น ZOOM ที่มีการตั้งค่า PSLTSCALE ไว้ที่ 1 วัตถุใน Paper space จะไม่ถูกสร้างใหม่โดยอัตโนมัติหรือไม่เปลี่ยนตาม ต้องใช้คำสั่ง REGEN หรือ REGENALL เพื่อปรับปรุง linetype ในแต่ละวิวพอร์ต ให้แสดงสัดส่วนที่ถูกปรับเปลี่ยน
มูลค่าเริ่มต้นของ PSLTSCALE คือ 1.

โดยมากจะใช้ในเวลาที่จะพิมพ์งานแล้วค่าใน Model กับ Paper Space ไม่เท่ากัน จึงต้องตั้งค่าให้กลับมาที่ 0 เพื่อไม่ให้ใช้ค่าใน Paper Space

MSLTSCALE หรือ Model space LineType Scale คำสั่งนี้จะเริ่มมีใน AutoCAD 2008 คือ คำสั่งควบคุม LineType ใน Model Space คล้ายกันกับ Psltscale แต่จะควบคุมใน Model เท่านั้น 
การใช้งานก็เช่นเดียวกันโดยตั้งค่าเป็น 0 เมื่อต้องการปิด ตั้งค่าเป็น 1 เมื่อต้องการเปิดใช้งาน (ใน AutoCAD 2007 หรือก่อนหน้านั้นจะมีค่าเป็น 0)

CELTSCALE หรือ Current Element LineType Scale คือค่ากำหนดขนาดสัดส่วนของ LineType ของวัตถุปัจจุบัน 
ค่า CELTSCALE จะคูณด้วยค่า LTSCALE เพื่อให้ได้ขนาดที่แสดง ซึ่งสามารถเปลี่ยน Scale LineType ในวัตถุได้ทั้งแบบรายวัตถุหรือแบบทั้งหมดได้ การตั้งค่าปรับขนาดเส้นวัตถุใหม่จะสัมพันธ์กับการตั้งค่าคำสั่ง LTSCALE ที่สร้างด้วย

CELTSCALE = 2 ใน Drawing วัตถุที่มี LTSCALE ตั้งค่าเป็น 0.5 จะปรากฎเหมือนกับเส้นที่สร้าง
CELTSCALE = 1 ใน Drawing วัตถุที่มี LTSCALE ตั้งค่าเป็น 1

/แถมอันนึง CANNOSCALE คือการตั้งค่าตัวแปรการให้สเกลกับ Paper Space เหมาะกับการตั้งค่าหน้ากระดาษ  Scale 1:1 หรือจะ Scale เท่าไหร่ แล้วล็อคหน้าจอ Viewport



Command: CANNOSCALE
Enter new value for CANNOSCALE <"1:2"> : 1:1

(***หมายเหตุในการกำหนดใส่ค่า Scale จะต้องใส่ค่าที่มีอยู่ใน List ของ SCALELISTEDIT สามารถเพิ่มเข้าไปได้โดยการ Add***)


จะเพิ่มเป็นเท่าไหร่ก็ระบุเอานะครับ





คลิ๊กปุ่มล็อค Viewport ที่อยู่ข้างๆ Viewport Scale ตามรูป

ขอให้โชคดีครับ
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
AutoLISP1  Ex: Code

(defun c:mds (/ cs)
(setq cs (getvar "cannoscale"))
(if
(/= cs 1.5)
(setvar "cannoscale" 1.5)
)
(princ)
)


AutoLISP2  By Ian Bryant

(defun set-annoscale (name ratio / dlst test)
(if (/= (strcase name) (strcase (getvar "CANNOSCALE")))
(progn
(setq dlst (dictsearch (namedobjdict) "ACAD_SCALELIST")
test nil
)
(while dlst
(cond
((/= (caar dlst) 350) (setq dlst (cdr dlst)))
((= (strcase (cdr (assoc 300 (entget (cdar dlst))))) (strcase name))
(setq dlst nil test T)
)
(T (setq dlst (cdr dlst)))
)
)
(if (not test) (command "-SCALELISTEDIT" "Add" name ratio "Exit"))
(setvar "CANNOSCALE" name)
)
)
(princ)
)





Scale งานแบบใน AutoCAD

SCALE in AutoCAD



ความเข้าใจเรื่องมาตราส่วน AutoCAD หรือ Scale ในงาน AutoCAD
(ไม่เกี่ยวกับการใช้คำสั่ง Scale นะครับ แต่เป็นการกำหนดมาตราส่วนในแบบ)
หลายต่อหลายคนที่เริ่มงานแบบกับ AutoCAD มักจะงง กับการตั้งค่ามาตราส่วน SCALE
ลุงธีว่าคงจะต้องทำความเข้าใจเรื่องนี้กันสักหน่อย เพราะหลายคนจะมองว่าเป็นเรื่องที่ยุ่งยากสับสนงุนงง
ไม่รู้ว่าจะตั้งค่ายังไงให้เมื่อพิมพ์งานออกมาแล้วสามารถใช้เครื่องวัดที่วัดด้วยมือได้ถูกต้องตามมาตราส่วน


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




มีเทคนิคมากมายหลากหลายวิธีการในการสร้างงานให้ได้ตามมาตราส่วนที่กำหนด
ทั้งหมดอยู่ที่การเลือกใช้ เพราะในหลากหลายวิธีจะมีการปรับแก้ไขที่ไม่เหมือนกัน
การทำงานบน Model Space คงจะไม่ค่อยมีปัญหามากเท่าไหร่ เพราะส่วนมากจะใช้เพียงมาตราส่วนเดียวและหากจะใช้หลายมาตราส่วนก็อาจจะทำเป็น Block แล้วขยายให้เป็นมาตราส่วนที่ใหญ่ขึ้น ส่วนการทำงานบน PaperSpace ในหน้า Layout ต่างๆก็จะต้องใช้ Viewport เข้ามาช่วยในการปรับแต่งมาตราส่วนหากต้องการหลายมาตราส่วนก็ต้องใช้หลาย Viewport ครับ

เริ่มกันที่ Model Space กันก่อนครับ วิธีนี้จะออกไปทางวิชามารไปนิดนึงครับ ผมเองไม่ค่อยได้ใช้
โดยมากการทำงานย่อสิ่งใหญ่ๆให้เล็กลงจะใช้มาตราส่วนที่ใหญ่ คือมีตัวเลขมากครับ
เช่นการเขียนแบบแปลนบ้านจะใช้มาตราส่วนที่ 1:100
การกำหนดหน่วยที่ใช้ในการเขียนจึงจะต้องใหญ่ตามไปด้วยครับ
โดยทั่วไปแล้วจะกำหนดหน่วยในการเขียนที่ 1 หน่วย(ที่ใช้ในโปรแกรม) จะเท่ากับ 1 เมตร
(อ้างอิงจากงานเขียนแบบเพื่อขออนุญาต การใช้หน่วยที่ละเอียดมากๆจำทำให้ขนาดของไฟล์ข้อมูลมีขนาดใหญ่มากขึ้นครับ)

ส่วนการทำงานขยายสิ่งที่เล็กๆให้ใหญ่ขึ้นจะใช้มาตราส่วนที่เล็ก คือมีตัวเลขน้อยๆครับ
เช่นการเขียนแบบเครื่องกล เครื่องจักร ผลิตภัณฑ์ หรือการเขียนแบบของงานเฟอร์นิเจอร์
ที่ต้องการความละเอียดมากๆ มักจะใช้มาตราส่วนที่ 1:25 หรืออาจจะน้อยกว่านั้น
การกำหนดหน่วยที่ใช้ในการเขียนจึงต้องมีความละเอียดไปด้วย
โดยที่พบเจอทั่วไปแล้ว(ปกติไม่ค่อยได้ทำงานละเอียดๆครับ อิอิ)
เท่าที่เห็นจะกำหนดหน่วยในการเขียนที่ 1 หน่วยเท่ากับ 1 มิลลิเมตรครับ
โดยส่วนตัวผมจะใช้ 1 หน่วยเท่ากับ 1 เมตร แล้วไปตั้งค่าใน Dimension แทน
เพราะไม่ค่อยได้ใช้งานบ่อย จึงยอมพิมพ์ตัวเลขให้มากหน่อยในเวลาป้อนค่าจำนวน
อีกอย่างหนึ่งขนาดของไฟล์ก็ไม่ใหญ่จนเกินไปครับ ชอบๆๆ

ไม่ว่าจะใช้หน่วยเมตรหรือหน่วยมิลลิเมตรในการเริ่มต้นเขียนงานก็ตาม
ก็จะใช้หลักการเดียวกันในการทำมาตราส่วนหลายๆอัน โดยจะต้องกำหนดมาตราส่วน
เริ่มแรกก่อนเป็นตัวตั้ง แล้วทำส่วนที่่ต้องขยายเป็น Block แล้วใช้คำสั่ง Scale ขึ้นมาตามสัดส่วนครับ

ตัวอย่าง หากผมกำหนดแบบแปลนให้มีมาตราส่วน 1:100 และต้องการมีแบบขยายข้างๆที่ 1:20
การทำคือ ทำส่วนที่ต้องการขยายเป็น Block แล้วใช้คำสั่ง Scale / Refenrence กำหนดค่าที่ต้องการ คือ 20 แล้วขยายไปเป็น 100 ครับ

Command line : Scale
Select object : เลือกไปที่ Block แล้ว Enter
Specify base point : กำหนดจุดอ้างอิง
Specify Scale factor or [Copy/Referance] : R เลือกที่ Referance พิมพ์ R ครับ
Specify Referance length <1 .000=".000">: 20 กำหนดค่าที่ต้องการ
Specify New length or [Points] <1 .000=".000">: 100 ใส่ค่าขยายครับ 
เท่านี้เอง

หลักก็คือใช้ Scale/Referance กำหนดค่าที่ต้องการย่อขยาย แล้วใส่ค่าของแบบที่ตั้งต้น
ในส่วนที่ทำเป็น Block ก็เพื่อที่จะให้ระยะในมาตราส่วนไม่เปลี่ยนตามครับ





ที่นี่ก็มากันที่ PaperSpace ส่วนตัวแล้วชอบวิธีนี้มากกว่าครับ เดี๋ยวมาต่อครับ ....
ผ่านไป 10 นาทีได้ ดื่มน้ำแล้วมาต่อกันครับ

การทำงานบน Paperspace หรือการทำงานบน Layout 
โดยมากเราจะต้องกำหนดกรอบของกระดาษ
ขึ้นมาก่อน เพื่อให้รู้ขนาดของแบบเริ่ม (มาตราส่วนตั้งต้น) 
ส่วนใหญ่จะกำหนดที่ 1:100 หรือ 1:1000
ของขนาดกระดาษในแต่ละ Size ครับ

ขนาดกระดาษ A4 - 297x210 mm.
                        A3 - 420x297 mm.
                        A2 - 594x420 mm.
                        A1 - 841x594 mm.
                        A0 - 1189x841 mm.

รู้ขนาดของกระดาษแล้วเริ่มกันเลยครับ
ใน Layout เขียนขนาดกระดาษ หรือจะ Insert Block ที่ได้ทำไว้แล้วจากภายนอกมาเข้าใช้งานก็ได้ครับ ควรจะเป็น Block โดยมากจะทำเป็น Title block แล้ว Insert เป็น Xref เพราะสะดวกในการแก้ไข





กำหนดมาตราส่วนเริ่มแรกให้เป็น 1 : 100
(ผมใช้ 1:100 โดยใช้ 1 หน่วยเท่ากับ 1 เมตรเป็นตัวอย่างนะครับ)
ที่หน้า Layout เมื่อเราเข้ามาจะพบ Viewport ที่โปรแกรมให้มา 1 Viewport ครับ
เขียนขนาดของกรอบกระดาษที่หน้า Layout นี้เลย โดยใช้ Pline เริ่มที่จุด 0,0 ไปที่ 0.42,0 ไปที่ 0.42,0.21 ไปที่ 0,0.21 แล้ว Close จะได้กรอบของกระดาษขนาด A3 ในหน่วย 1:100 ครับ
หรือจะ Insert Block ของกระดาษที่ทำไว้เข้ามาก็ได้ครับ


สร้าง Viewport ของมาตราส่วนหลัก โดยใช้คำสั่ง ที่ Pulldown menu ใช้ View/Viewports/1 Viewport กำหนด viewport ให้อยู่ในกรอบของกระดาษที่ทำไว้ จะเห็นชิ้นงานที่ทำไว้ในกรอบแต่ยังไม่มีมาตราส่วน ให้เข้าไปในโหมด Model ของหน้า Layout โดยพิมพ์ MS หรือจะดับเบิ้ลคลิ๊กในกรอบ Viewport ที่สร้างขึ้นมาก็ได้ครับ การกำหนดมาตราส่วนจะใช้คำสั่ง Zoom เพื่อย่อหรือขยายภาพที่เห็นใน Viewport ผมกำหนดให้เป็น 1:100

เมื่ออยู่ใน Model Space ในหน้า Layout ใช้คำสั่ง Zoom
Command: _.MSPACE  (สามารถคลิ๊กพื้นที่ในกรอบ Viewport ที่ต้องการได้ ลุงธีบอกเสริมมา)
Command: Zoom
ZOOM
Specify corner of window, enter a scale factor (nX or nXP), or
[All/Center/Dynamic/Extents/Previous/Scale/Window/Object] : 1xp
Command:

เท่านี้ก็ได้มาตราส่วนในแบบเป็น 1:100 เพราะเราทำกรอบไว้ที่ 1:100 การใช้ค่า 1xp คือ 1 หน่วยคูณด้วยค่าของ PaperSpace

การทำหลายมาตราส่วนก็เพียงเพิ่ม Viewport ใน Layout เดียวกัน แล้วเข้าใน Mspace ใช้คำสั่ง Zoom
ใส่ค่าของมาตราส่วนที่ต้องการย่อหรือขยาย โดยหลักที่ง่ายๆคือใช้ค่ามาตราส่วนที่เริ่มต้นหารด้วยมาตราส่วนที่ต้องการ

ตัวอย่างการใช้ zoom มาตราส่วน เมื่อแบบหลักเป็น 1:100 แบบขยายต้องการที่ 1:20 ดังนี้ครับ
เมื่ออยู่ใน Model Space ในหน้า Layout ใช้คำสั่ง Zoom

Command: _.MSPACE
Command: Zoom
ZOOM
Specify corner of window, enter a scale factor (nX or nXP), or
[All/Center/Dynamic/Extents/Previous/Scale/Window/Object] : 100/20xp
Command:

แล้วก็ได้แบบขยายที่ 1:20 เพิ่มมาแล้ว

อธิบายหลักง่ายๆคือ หน่วยที่ใช้หารด้วยมาตราส่วนที่ต้องการคูณด้วย Paper

( NU/WUxP)


แล้วจะทำรูปมาประกอบภายหลังครับ วันนี้ปวดเมื่อยมาก



เทคนิคง่ายๆที่จะทำให้ไม่สับสนหลงสเกล คือมาตราส่วนเริ่มต้นหารด้วยมาตราส่วนที่ต้องการครับ ไม่ต้องไปคูณกับการกดเครื่องคิดเลขให้ปวดหัว

ขอให้โชคดีทุกๆท่าน







เข้าใจมาตราส่วน ก็เข้าใจ SCALE 



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