AutoLISP °ÁÂ [3] |
1. ÀÔ¹®(I) - AutoLISPÀÇ ±âº» °³³ä |
3. ±× ¹ÛÀÇ ±âº» ±â´Éµé 3.1 ÈÀÏ ÀÔÃâ·Â ÇÔ¼ö À̹ø¿¡´Â ÈÀÏ ÀÔÃâ·Â ÇÔ¼ö¿¡ °üÇØ ¼³¸íÇÏ¸é¼ Á¡µé¿¡ °üÇÑ ÀÚ·á°¡ ´ã°ÜÀÖ´Â ÈÀÏÀ» ÀÐ¾î¼ AutoCAD »ó¿¡¼ ±× Á¡µéÀ» ÀÕ´Â 3Â÷¿ø POLYLINEÀ» ±×·ÁÁÖ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ º¸°Ú´Ù. ¸ÕÀú, AutoLISP¿¡¼ »ç¿ëµÇ´Â ±âº»ÀûÀÎ ÈÀÏ ÀÔÃâ·Â ÇÔ¼öµéÀ» »ìÆìº¸°Ú´Ù. 1) ±âº»ÀûÀÎ ÈÀÏ ÀÔÃâ·Â ÇÔ¼ö¿Í ±× »ç¿ë ¹æ½Ä
(setq <ÈÀÏ Æ÷ÀÎÅÍ> (open "ÈÀÏ À̸§" "r")) <= ÈÀÏÀ» ÀÐÀ»¶§ (setq <ÈÀÏ Æ÷ÀÎÅÍ> (open "ÈÀÏ À̸§" "w")) <= ÈÀÏ¿¡ ¾µ¶§ (setq <ÈÀÏ Æ÷ÀÎÅÍ> (open "ÈÀÏ À̸§" "a")) <= ±âÁ¸ ÈÀÏ¿¡ ´õÇØ¼ ¾µ¶§ . . . . . . (setq <¹®ÀÚÀÇ ASCII ÄÚµå> (read-char <ÈÀÏ Æ÷ÀÎÅÍ>)) <= ÈÀϷκÎÅÍ ¹®ÀÚ¸¦ ÀÐÀ»¶§ (setq <¹®ÀÚ¿> (read-line <ÈÀÏ Æ÷ÀÎÅÍ>)) <= ÈÀϷκÎÅÍ ¹®ÀÚ¿À» ÀÐÀ»¶§ (write-char <¹®ÀÚÀÇ ASCII ÄÚµå> <ÈÀÏ Æ÷ÀÎÅÍ>) <= ÈÀÏ¿¡ ¹®ÀÚ¸¦ ¾µ¶§ (write-line <¹®ÀÚ¿> <ÈÀÏ Æ÷ÀÎÅÍ>) <= ÈÀÏ¿¡ ¹®ÀÚ¿À» ¾µ¶§ . . . . . . (close <ÈÀÏ Æ÷ÀÎÅÍ>) <= ÈÀÏ »ç¿ëÀ» Á¾·áÇÒ¶§ AutoLISP¿¡¼´Â ÈÀÏ Æ÷ÀÎÅ͸¦ ÅëÇØ ÈÀÏÀ» Á¦¾îÇϸç Àбâ(read), ¾²±â(write), ±×¸®°í ´õÇϱâ(append)°¡ °¡´ÉÇÏ´Ù. ±âº»ÀûÀ¸·Î´Â ASCII ÇüÅÂÀÇ ÈÀÏÀ» ó¸®Çϴµ¥ ÀûÇÕÇϸç BINARY ÈÀÏÀÇ Ã³¸®°¡ ºÒ°¡´ÉÇÑ °ÍÀº ¾Æ´Ï´Ù. OPENÇÑ ÈÀÏÀº CLOSEÇϱ⸸ Çϸé 󸮰¡ Á¾·áµÈ´Ù. 2) ÈÀÏ¿¡ ¾²±â ¸ÕÀú, ÀÚ·á ÈÀÏÀ» Çϳª ¸¸µé±â À§ÇØ ´ÙÀ½°ú °°ÀÌ ÇØº¸ÀÚ.
Command: (setq fd (open "test.dat" "w")) <= ÈÀÏ¿¡ ¾²±âÀ§ÇØ ¿¬´Ù. <File: #?????> <= ÈÀÏ Æ÷ÀÎÅÍÀÇ ¹øÈ£¸¦ ¾Ë·ÁÁØ´Ù. (Å« ÀÇ¹Ì ¾øÀ½) Command: (princ (getpoint) fd) <= PRINC ÇÔ¼öµµ ÈÀÏ Ãâ·ÂÀÌ °¡´É <= ÀÓÀÇÀÇ Á¡À» ¼±ÅÃÇÑ´Ù. (1.0 1.0 0.0) <= ÀÓÀÇÀÇ Á¡ÀÌ ÈÀÏ¿¡ Ãâ·ÂµÈ´Ù. Command: (princ "\n" fd) <= ´ÙÀ½ÁÙ·Î À̵¿ÇÑ´Ù. "\n" Command: (princ (getpoint) fd) <= À§ÀÇ °úÁ¤À» ¹Ýº¹ . . . . . . <= ÇÊ¿äÇÑ ¸¸Å ¼öÇà Command: (close fd) <= ÈÀÏ »ç¿ëÀ» Á¾·á nil <= Á¤»óÀûÀ¸·Î Á¾·áµÇ¾úÀ½ 3) ÈÀÏ·Î ºÎÅÍ ÀڷḦ Àб⠾ռ ÈÀÏ¿¡ ±â·ÏµÈ ³»¿ëÀ» ¸ÕÀú »ìÆìº¸ÀÚ.
Command: TYPE File to list: TEST.DAT (1.0 1.0 0.0) <= ¸®½ºÆ® ÇüÅ·Π±â·Ï . . . . . . ÀÌ¿Í °°ÀÌ PRINC ÇÔ¼ö·Î ÁÂÇ¥°ªÀ» Ãâ·ÂÇÏ¸é ¸®½ºÆ® ÇüÅ·Π±â·ÏµÈ´Ù´Â °ÍÀ» ±â¾ïÇØ µÎÀÚ. ±×·³, ÀÌÁ¦ ÀÌ ÀڷḦ Àоî¿À´Â ¹æ¹ý¿¡ °üÇØ ¼³¸íÇϰڴÙ. ¿ì¼±Àº ÀÌ Á¡µéÀ» ÀÐ¾î¼ POINT¸¦ ±×·ÁÁÖ´Â °ÍÀ¸·Î ÀÛ¼ºÇØ º¸°Ú´Ù. ¸ÕÀú, ÀÛ¾÷ °úÁ¤À» ½ÃÇèÇØ º¸ÀÚ.
Command: (setq fd (open "TEST.DAT" "r")) <= ÈÀÏÀ» ÀбâÀ§ÇØ ¿¬´Ù. <File: #?????> Command: (setq rl (read-line fd)) <= ÇÑÁÙÀ» ÀÐ¾î ¿Â´Ù. "(1.0 1.0 0.0)" <= ¹®ÀÚ¿ »óÅ·ΠÀÐ¾î ¿Â´Ù. Command: (setq rl (read rl)) <= ¸®½ºÆ® ÇüÅ·Π¹Ù²Û´Ù. (1.0 1.0 0.0) Command: POINT Point: !rl <= ÀоîµéÀÎ ÁÂÇ¥°ªÀ¸·Î POINT¸¦ ±×¸°´Ù. Command: (close fd) nil À§ÀÇ °úÁ¤¿¡ ¿À·ù°¡ ¾ø´Ù¸é ¿¡µðÅ͸¦ »ç¿ëÇÏ¿© ¾Æ·¡¿Í °°ÀÌ ÇÁ·Î±×·¡À» ¿Ï¼ºÇϱ⠹ٶõ´Ù. À̶§ ÈÀÏÀÇ ³¡À» È®ÀÎÇÏ´Â ¹æ¹ýÀº READ-LINE ÇÔ¼ö°¡ ÈÀÏÀÇ ³¡À» ¸¸³ª¸é nilÀ» ¹ÝȯÇϹǷΠ°£´ÜÈ÷ ÈÀÏÀÇ ³¡À» È®ÀÎÇÒ ¼ö ÀÖ´Ù. Áï, ¾Æ·¡¿¡¼ º¸¸é º¯¼ö RLÀÇ °ªÀÌ nilÀ̸é WHILE ¹®À» ¹þ¾î³ª°Ô µÇ¾î ÈÀÏÀ» ´Ý°í ÀÛ¾÷À» Á¾·áÇÏ°Ô µÈ´Ù.
; ÈÀÏ¿¡¼ ÁÂÇ¥°ªÀ» ÀÐ¾î¼ POINT¸¦ ±×¸°´Ù. (defun draw-point (name / fd rl) (setq fd (open name "r")) (while (setq rl (read-line fd)) (command "POINT" (read rl)) ) (close fd) ) (defun C:DPOINT ( / name) (setq name (getstring "\nFile name: ")) (draw-point name) (princ) ) ÀÔ·ÂÀÌ ³¡³µÀ¸¸é DPOINT.LSP¶ó´Â À̸§À¸·Î ÀúÀåÀ» ÇÏ°í ·ÎµåÇÏ¿© ½ÇÇàÇØº¸±â ¹Ù¶õ´Ù.
Command: (load "DPOINT") "C:DPOINT" Command: DPOINT File name: TEST.DAT 4) ¶Ç ´Ù¸¥ Àбâ Çü½Ä FORTRAN °°Àº ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇØ¼ Ãâ·ÂÇÑ ÀÚ·á´Â ÀÇ·ÊÀûÀ¸·Î Ãâ·Â°ªµéÀÌ ¾î¶² Çü½ÄÀ» °®°Ô µÈ´Ù. ¿¹¸¦ µé¸é ¼Ò¼öÁ¡ÀÌÇÏ´Â ¸î°ÀÚ¸®±îÁö, ºóÄÀº ¸îÄ, ¼ýÀÚÀüü°¡ Â÷ÁöÇÏ´Â ÄÀÇ ¼ö´Â ¾ó¸¶, ÀÌ·± ½ÄÀ¸·Î Çü½Ä(format)ÀÌ Á¤ÇØÁö°Ô µÈ´Ù. ÀÌ·± ÀÚ·áµéÀ» Àоî¿À´Â °ÍÀº AutoLISPÀ¸·Î´Â ó¸®ÇϱⰡ ¾Õ¼º» ¸®½ºÆ® ÇüÅ¿ʹ ´Þ¸® Á¶±Ý ±î´Ù·Ó°í µ¥ÀÌŸÀÇ Çü½ÄÀÌ ¹Ù²î¸é ÇÁ·Î±×·¥À» ¼öÁ¤ÇØ¾ß ÇÑ´Ù´Â ºÒÆíÇÔÀÌ ÀÖ´Ù. ¿ì¼±, µ¥ÀÌŸÀÇ ÇüŰ¡ ´ÙÀ½°ú °°´Ù°í ÇÏÀÚ.
|<-10 Ä->|<-10 Ä->|<-10 Ä->| 1.000000 1.000000 0.000000 À̹ø¿¡´Â ¾Õ¼ÀÇ ÇÁ·Î±×·¥ Áß DRAW-POINT ÇÔ¼ö¸¸À» À§ÀÇ Çü½ÄÀÇ µ¥ÀÌŸ ÈÀÏÀ» ÀÐÀ» ¼ö ÀÖµµ·Ï ¼öÁ¤ÇØ º¸°Ú´Ù. ±×·³, ¼öÁ¤¿¡ ¾Õ¼ ´ÙÀ½°ú °°ÀÌ ÀÛ¾÷ °úÁ¤À» ½ÃÇèÇØ º¸±â ¹Ù¶õ´Ù. TEST2.DAT´Â ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÑ´Ù. À§ÀÇ µ¥ÀÌŸ Çü½Ä¿¡ ÁÖÀÇÇÏ¸é¼ ÀÔ·ÂÇϱ⠹ٶõ´Ù.
5.000000 0.000000 0.000000 6.763360 2.572950 0.500000 9.755280 3.454920 1.000000 7.853170 5.927050 1.500000 7.938930 9.045080 2.000000 5.000000 8.000000 2.500000 2.061070 9.045080 3.000000 2.146830 5.927050 3.500000 0.244717 3.454920 4.000000 3.236640 2.572950 4.500000 5.000000 0.000000 5.000000 Command: (setq fd (open "TEST2.DAT" "r")) <File: #?????> Command: (setq rl (read-line fd)) " 5.000000 0.000000 0.000000" Command: (close fd) <= ÀÏ´Ü ÈÀÏÀ» ´ÝÀ½ nil ¿©±â±îÁöÀÇ ÀÛ¾÷°úÁ¤Àº ¶È°°Áö¸¸ À̹ø¿¡´Â Àоî¿Â µ¥ÀÌŸÀÇ ÇüŰ¡ ¾ÕÀÇ °æ¿ì¿Í ´Ù¸£´Ù. ÀÌÁ¦ À̰ÍÀ» ¾î¶»°Ô ó¸®ÇØ¾ß ÇÒ±î? ¿ì¼±, ´Ü¼øÈ÷ ¹®ÀÚ¿·Î µÈ °ÍÀ» ½Ç¼ö °ªÀ¸·Î ¹Ù²Ù´Â ÇÔ¼ö(ATOF) ´Â ÀÌ¹Ì Àß ¾Ë°í ÀÖÀ¸¸®¶ó »ý°¢µÈ´Ù. ±×·¸´Ù¸é Àоî¿Â ¹®ÀÚ¿À» ½Ç¼ö °ªÀ» ³ªÅ¸³»´Â °¢°¢ÀÇ ¹®ÀÚ¿·Î ºÐ¸®Çϱ⸸ ÇÏ¸é µÇ°Ú´Ù. ±×·± ÀÛ¾÷À» ÇÒ¶§ À¯¿ëÇÏ°Ô »ç¿ëµÇ´Â ÇÔ¼ö°¡ SUBSTRÀÌ´Ù. ´ÙÀ½À» º¸ÀÚ.
Command: (substr rl 1 10) <= ¹®ÀÚ¿ RLÀÇ 1¹øÂ° ¹®ÀÚºÎÅÍ 10°³ " 5.000000" Command: (setq x (atof (substr rl 1 10))) <= ºÐ¸®µÈ ¹®ÀÚ¿Àº ½Ç¼ö°ªÀ¸·Î º¯È¯ 5.0 °°Àº ¹æ¹ýÀ¸·Î y, z¸¦ ±¸Çغ¸±â ¹Ù¶õ´Ù. ±×·± ´ÙÀ½ ¾Æ·¡¿Í °°ÀÌ ¼öÇàÇØ º¸ÀÚ.
Command: POINT Point: (list x y z) Á¤»óÀûÀ¸·Î POINT°¡ ±×·ÁÁ³´Ù¸é ÀÌÁ¦ ¼öÁ¤ÇÑ ÇÔ¼ö¸¦ ¿Ï¼ºÇØ º¸ÀÚ.
(defun draw-point (name / fd rl x y z) (setq fd (open name "r")) (while (setq rl (read-line fd)) (setq x (atof (substr rl 1 10)) <= SETQ ÇÔ¼ö ºÎºÐÀÌ ¼öÁ¤ ºÎºÐ y (atof (substr rl 11 20)) z (atof (substr rl 21 30)) ) (command "POINT" (list x y z)) ) (close fd) ) 5) µ¥ÀÌŸ ÈÀÏÀ» ÀÌ¿ëÇÏ¿© 3D POLYLINE ±×¸®±â óÀ½ ÀÔÃâ·ÂÇÔ¼ö¸¦ ¼³¸íÇϱâ À§ÇØ Á¦ÀÛÇϱâ·Î Çß´ø ¿¹Á¦¸¦ ¿Ï¼ºÇØ º¸°Ú´Ù. ¿ì¼±, µ¥ÀÌŸÀÇ ÇüÅ´ ¹Ù·Î ¾Õ¿¡¼ ´Ù·ç¾ú´ø ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼ ÁÖ·Î »ç¿ëµÇ´Â Ãâ·ÂÇü½ÄÀ¸·Î °¡Á¤ÇÏ°í ¸¶Âù°¡Áö·Î DRAW-POINT ÇÔ¼ö¸¦ ¼öÁ¤ÇØ º¸°Ú´Ù.
(defun draw-point (name / fd rl x y z) (setq fd (open name "r")) (command "3DPOLY") <= 3DPOLY ¸í·ÉÀ» ½ÃÀÛ (while (setq rl (read-line fd)) (setq x (atof (substr rl 1 10)) y (atof (substr rl 11 20)) z (atof (substr rl 21 30)) ) (command (list x y z)) <= 3Â÷¿ø ÁÂÇ¥°ªÀ» ÀÔ·Â ) (command "") <= 3DPOLY ¸í·ÉÀ» Á¾·á (close fd) ) ÀÌ·¸°Ô ÇÏ¿© ¿Ï¼ºµÈ ÇÁ·Î±×·¥ÀÌ ¸®½ºÆ® 1¿¡ ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥À» TEST2.DAT¸¦ ÀÌ¿ëÇÏ¿© ¼öÇàÇÑ °á°ú´Â ±×¸² 1°ú °°´Ù.
3.2 ½Ã½ºÅÛ º¯¼ö Ȱ¿ë AutoCAD¿¡´Â ¾à 200°³ ÀÌ»óÀÇ ½Ã½ºÅÛ º¯¼öµéÀÌ Àִµ¥ ¸ðµÎ ÇÁ·Î±×·¡¹ÖÀ» Çϴµ¥ ¸Å¿ì À¯¿ëÇÑ °ÍµéÀÌ´Ù. ÇϳªÇϳª¸¦ »ç¿ëÇØº¸´Â ¿¹Á¦ ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ º¸¸é¼ °øºÎÇÏ¸é ¸¹Àº µµ¿òÀÌ µÇ¸®¶ó »ý°¢ÇÑ´Ù. ¿©±â¼´Â ½Ã½ºÅÛ º¯¼ö SNAPBASE¸¦ ÀÌ¿ëÇÑ ¿¹Á¦ ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ º¸°Ú´Ù. 1) AutoLISP¿¡¼ ½Ã½ºÅÛ º¯¼ö ´Ù·ç´Â ¹æ¹ý AutoLISP¿¡¼ ½Ã½ºÅÛ º¯¼öÀÇ °ªÀ» ¾Ë°íÀÚ ÇÒ¶§´Â GETVAR ÇÔ¼ö¸¦ »ç¿ëÇÏ¸ç ½Ã½ºÅÛ º¯¼öÀÇ °ªÀ» º¯°æÇϰíÀÚ ÇÒ¶§´Â SETVAR ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù. ´ÙÀ½À» º¸¸é¼ ÀÚÁÖ ¾²ÀÌ´Â ½Ã½ºÅÛ º¯¼ö ¸î°¡Áö¸¦ ÀÍÈ÷ÀÚ. AutoCAD »ó¿¡¼ ±×¸²À» ±×¸®±â À§ÇØ ÀÓÀÇÀÇ Á¡À» ¼±ÅÃÇÒ¶§¸¶´Ù ÀÛÀº ½ÊÀÚ¼±ÀÌ ±×·ÁÁø´Ù¸é ´ÙÀ½ º¯¼öÀÇ °ªÀ» È®ÀÎÇÏ°í ±× °ªÀÌ 1À̸é 0À¸·Î º¯°æÇÏÀÚ. ±×·± ÈÄ¿¡ ´Ù½Ã ´Ù¸¥ ¸í·ÉÀ» »ç¿ëÇØ º¸ÀÚ.
Command: (getvar "BLIPMODE") 1 Command: (setvar "BLIPMODE" 0) 0 AutoLISP ÇÁ·Î±×·¥¿¡¼ ±×¸²À» ±×¸±¶§ COMMAND ÇÔ¼ö¸¦ ÅëÇØ AutoCADÀÇ ¸í·É¾î¸¦ »ç¿ëÇÏ°Ô µÇ´Âµ¥ ±× ¼öÇà°úÁ¤ÀÌ Ãâ·ÂÀÌ µÇ¾î¼ º¸±â°¡ ÁÁÁö ¾ÊÀ» ¶§´Â ´ÙÀ½ º¯¼öÀÇ °ªÀ» È®ÀÎÇϰí 0À¸·Î º¯°æÇÏÀÚ. ±×·± ÈÄ¿¡ ´Ù½Ã ±× ÇÁ·Î±×·¥À» »ç¿ëÇØ º¸ÀÚ.
Command: (getvar "CMDECHO") 1 Command: (setvar "CMDECHO" 0) 0 À̹ø °ÍÀº Á» ±î´Ù·Î¿î °ÍÀε¥ AutoLISP ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© ±×¸²À» ±×¸±¶§ °è»êÀÌ Á¤È®ÇÔ¿¡µµ ºÒ±¸ÇÏ°í °¡²û ¾û¶×ÇÑ °÷¿¡ ±×¸²À» ±×¸®´Â °æ¿ì°¡ ÀÖ´Ù. ±×·± °æ¿ì´Â º¸Åë OSNAP ¸ðµå°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ìÀε¥ ±×·± °æ¿ì¸¦ ¹æÁöÇϱâ À§Çؼ´Â ÇÁ·Î±×·¥À» ½ÃÀÛÇϱâ Àü¿¡ ½Ã½ºÅÛ º¯¼ö OSMODEÀÇ ÇöÀç°ªÀ» ÀúÀåÇØµÎ°í 0À¸·Î º¯°æÇÑ ÈÄ ÇÁ·Î±×·¥ÀÌ Á¾·áµÉ¶§ ´Ù½Ã ¿ø·¡ÀÇ °ªÀ¸·Î µ¹·ÁÁÖ´Â °úÁ¤À» °ÅÄ¡´Â °ÍÀÌ ÁÁ´Ù. ´ÙÀ½ÀÇ °£´ÜÇÑ ¿¹¸¦ º¸ÀÚ.
(defun C:MAIN ( / old ...) (setq old (getvar "OSMODE")) <= ÇöÀç°ªÀ» ÀúÀå (setvar "OSMODE" 0) <= 0À¸·Î º¯°æ . . . . . . <= ÀÓÀÇÀÇ ÀÛ¾÷À» ¼öÇà (setvar "OSMODE" old) <= ÀúÀå°ªÀ¸·Î Àç¼³Á¤ ) 2) HATCH¿Í SNAPBASE HATCH ¸í·É¾î´Â ÀÍÈ÷ Àß ¾Æ´Â ¸í·É¾îÀÏÅ×°í SNAPBASE´Â SNAPÀ̳ª GRIDÀÇ ±âÁØÁ¡À» ÀǹÌÇÏ´Â °ÍÀÌ´Ù. ±×·³, ÀÌ µÑÀº ¾î¶² ½ÄÀ¸·Î °ü°èµÇ¾î Àִ°¡¸¦ ¾Ë¾Æº¸ÀÚ. ¸ÕÀú, ´ÙÀ½°ú °°ÀÌ BOX¸¦ Çϳª ±×¸°ÈÄ °¡·Î 1, ¼¼·Î 0.5ÀÇ °£°ÝÀ¸·Î HATCH¸¦ ¼öÇàÇØ º¸ÀÚ.
Command: LINE From point: 1.8,1.8 To point: 5.8,1.8 To point: 5.8,5.8 To point: 1.8,5.8 To point: C Command: HATCH Pattern (? or name/U,style): U Angle for crosshatch lines <0>: Spacing between lines <1.0000>: 0.5 Double hatch area? <N> Select objects: C First corner: 1,1 Other corner: 6,6 4 found Select objects: Command: HATCH Pattern (? or name/U,style) <U>: Angle for crosshatch lines <0>: 90 Spacing between lines <0.5000>: 1 Double hatch area? <N> Select objects: P 4 found Select objects:
¼öÇàÇÑ °á°ú´Â ±×¸² 2¿Í °°À» °ÍÀ̸ç HATCH°¡ µÈ °ÍÀÌ BOX¸¦ °¡·Î, ¼¼·Î·Î Á¤È®ÇÏ°Ô µîºÐÇϰí ÀÖ´Â »óŰ¡ ¾Æ´Ï´Ù. ±×·³, BOX¸¦ °¡·Î, ¼¼·Î·Î Á¤È®ÇÏ°Ô µîºÐÇϱâ À§Çؼ´Â ¾î¶² ½ÄÀ¸·Î HATCH¸¦ ¼öÇàÇÏ¿©¾ß ÇÒ±î? ¸ÕÀú, ¾Õ¼¿Í °°ÀÌ µÇ´Â ÀÌÀ¯¿¡ ´ëÇØ °£´ÜÈ÷ ¼³¸íÇϰڴÙ. HATCH´Â Ç×»ó ¾î¶² ÁöÁ¤µÈ ±âÁØÁ¡À¸·ÎºÎÅÍ ½ÃÀ۵ȴÙ. ¿©·¯°³ÀÇ ¹°Ã¼¸¦ ±×·Á³õ°í ½ÃÇèÇØ º¸¸é ±Ý¹æ ¾Ë ¼ö Àִµ¥ HATCH¸¦ ½ÃŲ ¹°Ã¼ÀÇ Çü»ó°ú´Â »ó°ü¾øÀÌ ÀÓÀÇÀÇ Á¡¿¡¼ÀÇ HATCHÀÇ ÇüÅ´ Ç×»ó °°°ÔµÇ´Â °ÍÀÌ´Ù. Áï, ¹°Ã¼¿¡ µû¶ó ÇÊ¿äÇÑ ±âÁØÁ¡À» Àâ¾ÆÁÖ¾î¾ß¸¸ ¿øÇÏ´Â ÇüÅÂÀÇ HATCH¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ÀÌ ±âÁØÁ¡ÀÌ ¹Ù·Î SNAPBASE¶ó´Â ½Ã½ºÅÛ º¯¼öÀ̸ç ÀÌ º¯¼öÀÇ °ªÀ» ¹Ù²Ù´Â °ÍÀÌ HATCHÀÇ ±âÁØÀ» º¯°æ½ÃŰ´Â °á°ú°¡ µÈ´Ù. ±×·³, À§ÀÇ °úÁ¤À» SNAPBASE¸¦ ´ÙÀ½°ú °°ÀÌ º¯°æÇÑ ÈÄ ´Ù½Ã ¼öÇàÇØ º¸ÀÚ.
Command: SNAPBASE New value for SNAPBASE <0.0000,0.0000>: 1.8,1.8 À§ÀÇ HATCH °úÁ¤À» ´Ù½Ã Çѹø ¼öÇàÇØ º¸¸é ±×¸² 3°ú °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
3) BOXÀÇ °¡·Î, ¼¼·Î µîºÐ¼± ±×¸®±â ÀÌÁ¦, À§¿¡¼ »ìÆì º» ³»¿ëÀ» Åä´ë·Î ¿¹Á¦ ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ º¸ÀÚ. ÀÌ ¿¹Á¦´Â ¾Õ¼¿Í °°ÀÌ BOX¸¦ ±×¸° ÈÄ °¡·Î, ¼¼·Î·Î ÁöÁ¤ÇÑ È¸¼ö¸¸Å µîºÐÇÏ´Â ¼±À» ±×·ÁÁÖ´Â ÇÁ·Î±×·¥ÀÌ´Ù. ¸¸¾à ÀÌ ÇÁ·Î±×·¥À» SNAPBASEÀÇ ±â´ÉÀ» ¸ð¸£´Â »óÅ¿¡¼ HATCH ¸í·ÉÀ» »ç¿ëÇÏÁö ¾Ê°í ¸¸µé°Ô µÉ °æ¿ì¿¡´Â ¼±À» µû·Î µû·Î ¿©·¯¹ø ±×·ÁÁְųª Çѹø ±×¸°ÈÄ¿¡ ARRAY ¸í·ÉÀ» »ç¿ëÇØ¾ß¸¸ ÇÑ´Ù. ÀÌ¿Í °°ÀÌ ½Ã½ºÅÛ º¯¼ö¸¦ Àß È°¿ëÇϸé ÇÁ·Î±×·¥À» ÈξÀ ½±°Ô ±×¸®°í ºü¸£°Ô Á¦ÀÛÇÒ ¼ö ÀÖ´Ù. ±×·³, ÇÁ·Î±×·¥ÀÇ °¢ ÀÛ¾÷ ´Ü°è¸¦ »ìÆìº¸ÀÚ.
3.3 »ç¿ëÀÚ Á¤ÀÇ ERROR ó¸® ÇÔ¼ö AutoLISP¿¡¼´Â ¿¡·¯°¡ ¹ß»ýÇßÀ»¶§ ó¸®µÉ ÇÔ¼ö¸¦ »ç¿ëÀÚ°¡ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ÀÌ ÇÔ¼öÀÇ À̸§Àº *ERROR*À̸ç Àμö·Î´Â ¿¡·¯¿¡ °üÇÑ ¹®ÀÚ¿ÀÌ ÁÖ¾îÁø´Ù. µû¶ó¼, ÀÌ ¹®ÀÚ¿¿¡ µû¶ó ó¸® ³»¿ëÀ» °áÁ¤ÇÒ ¼öµµ ÀÖ´Ù. ´ÙÀ½ÀÇ °£´ÜÇÑ ¿¹¸¦ º¸ÀÚ.
(defun *ERROR* (msg) (princ "\nError: ") (princ msg) (princ) ) À§ÀÇ ¿¡·¯ ó¸® ÇÔ¼ö´Â ´Ü¼øÈ÷ ¿¡·¯¿¡ °üÇÑ ¹®ÀÚ¿¸¸À» Ãâ·ÂÇϰí Á¾·áÇÑ´Ù. ÀÌÁ¦, ¿©±â¿¡ ¸î°¡Áö ¿¡·¯¿¡ ´ëÇÑ Ã³¸®¸¦ Ãß°¡ÇÏÀÚ.
(defun *ERROR* (msg) (if (/= msg "Function cancelled") (if (= msg "quit / exit abort") (princ) (princ (strcat "\nError: " msg)) ) (princ) ) (princ) ) °¡²û, ¿¡·¯°¡ ¹ß»ýÇÑ À§Ä¡¸¦ ¾Ë ¼ö ¾ø°Å³ª ÇÒ °æ¿ì¿¡´Â *ERROR* ÇÔ¼ö¸¦ nil·Î ¼³Á¤ÇÑ´Ù. ±×·¸°Ô ÇÏ¸é ¿¡·¯°¡ ¹ß»ýÇÑ ¹®ÀåÀ» Æ÷ÇÔÇϰí ÀÖ´Â ÃÖ´ë 100°³±îÁöÀÇ ¹®ÀåÀ» ÃßÀûÇÏ¿© Ãâ·ÂÇØ ÁØ´Ù. ÀÌ ³»¿ëÀ» ¹ÙÅÁÀ¸·Î ¿¡·¯¸¦ ÇϳªÇϳª °íÃÄ ³ª°¥ ¼ö ÀÖ´Ù. µû¶ó¼, ÇÁ·Î±×·¥ÀÌ ¿Ï¼ºµÇ±â Àü±îÁö´Â ¿¡·¯ ó¸® ÇÔ¼öÀÇ °¡µ¿À» Àá½Ã ¸ØÃçµÎ´Â °ÍÀÌ º¸´Ù Æí¸®ÇÏ´Ù. ¾Æ·¡¿¡¼ ¹ß»ýÇϱ⠽¬¿î ¿¡·¯¿¡ ´ëÇÑ ¿øÀΰú ±× 󸮹æ¹ýÀ» °£´ÜÈ÷ ¼³¸íÇϰڴÙ. 1) AutoCAD rejected function GETVAR³ª SETVAR ÇÔ¼ö »ç¿ë½Ã¿¡ ÁÖ·Î ¹ß»ýÇÏ¸ç ½Ã½ºÅÛ º¯¼ö¸íÀÌ Æ²·È°Å³ª ¸ÂÁö¾ÊÀº ÀÚ·áÇüÀÇ °ªÀ¸·Î ¼³Á¤ÇÑ °æ¿ì ¶Ç´Â °ªÀ» º¯°æÇÒ ¼ö ¾ø´Â º¯¼öÀÇ °ªÀ» º¯°æÇÏ·ÁÇÑ °æ¿ì°¡ ÁÖ ¿øÀÎÀÌ´Ù. ´ÙÀ½ÀÇ ¿¹¸¦ º¸ÀÚ.
Command: (setvar "CMDECOH" 0) <= CMDECHO°¡ ¸Â´Ù. error: AutoCAD rejected function 2) bad argument type ÇÔ¼ö¿¡ ¸ÂÁö ¾ÊÀº Àμö°¡ Àü´ÞµÈ °ÍÀÌ ¿øÀÎÀÌ´Ù.
Command: (car 1) <= Àμö´Â ¸®½ºÆ®¶ó¾ßÇÑ´Ù. error: bad argument type 3) extra right paren ¿À¸¥ÂÊ °ýÈ£ÀÇ °³¼ö°¡ ´õ ¸¹Àº °æ¿ì¿¡ ¹ß»ýÇÑ´Ù.
Command: (princ)) <= ¿À¸¥ÂÊ °ýÈ£°¡ Çϳª ´õ ¸¹´Ù. error: extra right paren 4) Function cancelled ÀÔ·ÂÀ» ¿ä±¸ÇÒ¶§ »ç¿ëÀÚ°¡ CTRL+C¸¦ ÀÔ·ÂÇÑ °æ¿ì¿¡ ¹ß»ýÇÑ´Ù.
Command: (getpoint) *Cancel* <= CTRL+C¸¦ ÀÔ·ÂÇÑ´Ù. error: Function cancelled 5) incorrect number of arguments to a function »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¿¡ Àü´ÞµÇ´Â ÀμöÀÇ ¼ö°¡ ¸ÂÁö ¾ÊÀº °æ¿ì¿¡ ¹ß»ýÇÑ´Ù.
Command: (draw-grid) <= Àμö¾øÀÌ ½ÇÇà error: incorrect number of arguments to a function 6) malformed list ÈÀÏ·Î ºÎÅÍ ÇÁ·Î±×·¥À» ·ÎµùÇÏ´Â °æ¿ì¿¡ ¹ß»ýÇÏ¸ç ¸®½ºÆ®ÀÇ °ýÈ£°¡ ºÎÁ·ÇÑ °ÍÀÌ ¿øÀÎÀÌ µÈ´Ù. ÀÌ ¿¡·¯¸¦ ¼öÁ¤Çϱâ À§ÇØ ÇÁ·Î±×·¥ Äڵ带 ´Ù½Ã º¸´Â °ÍÀº ¸Å¿ì Èûµç ÀÏÀ̹ǷΠÆò¼Ò¿¡ µé¿©¾²±â¿Í Àڱ⠳ª¸§³»·ÎÀÇ Á¤ÇüÈµÈ ¹æ½ÄÀ¸·Î ÄÚµùÇÏ¿© ¿¡·¯ ¹ß»ý ¼ÒÁö¸¦ Á¦°ÅÇÏ´Â °ÍÀÌ °¡Àå ¹Ù¶÷Á÷ÇϰڴÙ. 7) null function nil·Î Á¤ÀÇµÈ ÇÔ¼ö¸¦ »ç¿ëÇÏ·ÁÇÑ °æ¿ì¿¡ ¹ß»ýÇÑ´Ù.
Command: (cad 1) <= CAD´Â Á¸ÀçÇÏÁö ¾Ê´Â ÇÔ¼öÀÌ´Ù. error: null function 8) quit / exit abort QUIT³ª EXIT ÇÔ¼ö¸¦ ½ÇÇàÇÏ¸é ¹ß»ýÇÑ´Ù. ÀÌ µÎ ÇÔ¼ö´Â ÇÁ·Î±×·¥ÀÇ µð¹ö±ë(debugging)½Ã¿¡ ÇÊ¿äÇÑ À§Ä¡¿¡¼ ÇÁ·Î±×·¥À» Á¾·á½Ã۱â À§ÇØ ÁÖ·Î »ç¿ëµÈ´Ù.
Command: (quit) error: quit / exit abort |
°ü·Ã ÀÚ·á ![]() ![]() |
Last updated 2002-09-06 by choi@moon-sun.com This page has been accessed : ![]() |