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

ว่ากันด้วยเรื่องสเกลของเส้นและชิ้นงาน 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)
)





PSLTSCALE เมื่อ LTScale ใน Model กับ Paper ไม่เท่ากัน

มีคำถามมาว่า "พี่ ทำไมลายเส้นใน Model กับใน Layout มันไม่เหมือนกัน"
ตอบได้ว่าสเกลของลายเส้นที่ตั้งค่าไว้ใน Model นั้น ไม่ถูกนำมาใช้เพราะใน Layout หรือใน Paper space  มีมาตราส่วนเป็นตัวคุมอยู่ จึงทำให้ในลายเส้น Model กับ Paper space ไม่เท่ากัน

ให้ใช้คำสั่งนี้ครับ PSLTSCALE ( Paper Space LineType Scale ) จำได้ไม่ยาก หรือจะตั้งคำสั่งย่อให้เป็น PSLT ก็ได้ครับ เพราะคิดว่าคงจะต้องใช้กันบ่อยๆเป็นแน่

Command : PSLTSCALE
Enter new value for PSLTSCALE <1> : 0  (ให้ใส่ค่าเป็น 0 ครับ)

แล้วในโหมดของ Paper Space ก็จะไม่เป็นตัวกำหนดคุมลายเส้นครับ

ลืมไปว่าเคยเขียนมาแล้วที่นี่ เรื่องเก่าเล่าใหม่ 

หรือจะพิมพ์คำสั่ง LINETYPE แล้วคลิ๊กเครื่องหมายถูกออกตามรูป แล้ว Regen


ปัญหาของ Linetype ใน Model และ Paper ก็หมดไป ทั้งในเวลาที่สั่งพิมพ์ Plot ก็จะไม่ไปใช้ค่า Factor ของ Paper Space ครับ


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