AutoLISP เป็นเครื่องมือช่วยในการเขียนแบบด้วย AutoCAD ให้รวดเร็วยิ่งขึ้นช่วยประหยัดเวลาในการทำงาน ลดขั้นตอนในการเรียกใช้คำสั่ง ... และอื่นๆอีกมากมาย
วันจันทร์ที่ 25 มีนาคม พ.ศ. 2567
วันเสาร์ที่ 23 มีนาคม พ.ศ. 2567
วันพุธที่ 20 มีนาคม พ.ศ. 2567
Change text attributes
CHange Text ATTributes
;|
Edit width factor text height
and rotation of attributes text
Create and Design by AutolispTH March 2024
|;
;;-----radial to dreegee
(defun rtod (x)
(/ (* x 180) pi)
)
(defun dtor (x)
(* x (/ pi 180))
)
(defun C:CHTAtt ( / e ent)
(vl-load-com)
(setq old_cmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
;-------------------width factor-----------------------------+
(or wd (setq wd 1.0))
(setq wdtemp
(getDist (strcat "\nEnter width factor of text: <"
(rtos wd 2 2)
">: "
)
)
)
(and wdtemp (setq wd wdtemp))
;-------------------text height------------------------------+
(or th (setq th 1.0))
(setq thtemp
(getDist (strcat "\nEnter text height: <"
(rtos th 2 2)
">: "
)
)
)
(and thtemp (setq th thtemp))
;--------------------text rotation---------------------------+
(or ro (setq ro 0.0))
(setq rotemp
(getDist (strcat "\nEnter text rotation: <"
(rtos ro 2 2)
">: "
)
)
)
(and rotemp (setq ro rotemp))
;--------------------------------------------------------------+
(while (setq e (car (nentsel "\n Select an attribute to change:")))
(setq ent (vlax-ename->vla-object e))
(vla-put-scalefactor ent wd)
(vla-put-height ent th)
(vla-put-Rotation ent (dtor ro))
(princ)
)
(setvar "cmdecho" old_cmdecho)
(princ)
)
(prompt "\n\t\t\t +------------------------------------------+\n")
(prompt "\n\t\t\t | Start with CHTATT to execute |\n")
(prompt "\n\t\t\t +------------------------------------------+\n")
วันพุธที่ 13 มีนาคม พ.ศ. 2567
Change Elv by attribute
;|
changes a blocks z coordinate to
the elevation listed in attribute
|;
(defun c:chbel()
(setq old_cmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq SS (ssget '((0 . "INSERT")(66 . 1)))
ucsf (getvar "ucsfollow")
)
(if (/= ss nil)
(progn
(setq ssl (sslength ss))
(setvar "ucsfollow" 0)
(if (/= 1 (getvar "worlducs"))(setq wucs 0)(setq wucs 1))
(command "ucs" "")
(setq numchg ssl
n ssl
newss (ssadd)
)
(while (> n 0)
(setq n (1- n)
blk (ssname ss n)
)
(setq ent (vlax-ename->vla-object blk))
(setq atts (vla-getattributes ent))
(setq temp (vlax-variant-value atts))
(setq elem1 (vlax-safearray-get-element temp 0))
(setq el (atof (vla-get-textstring elem1)))
(command "CHANGE" blk "" "P" "E" el "")
);end while
(setq ssl (sslength newss)
n ssl
)
(setq txt "blocks raised to elevation.")
(if (/= numchg 0)
(progn
(print numchg)
(princ txt)
)
(prompt "No blocks selected.")
)
)
(prompt "Empty selection set.")
)
(if (= 0 wucs)(command "ucs" "p"))
(setvar "ucsfollow" ucsf)
(setvar "cmdecho" old_cmdecho)
(princ)
);end defun