AutoLISP °ÁÂ [2] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. ÀÔ¹®(I) - AutoLISPÀÇ ±âº» °³³ä |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AutoLISPÀ» ÅëÇØ ÇÁ·Î±×·¡¹ÖÀ̶ó´Â »õ·Î¿î ¼¼°è¿¡ ¹ßÀ» µé¿© ³õ°Ô µÇ´Â CAD »ç¿ëÀÚµéÀ» À§ÇØ °£´ÜÈ÷ ÇÁ·Î±×·¡¹Ö¿¡ °üÇØ À̾߱âÇÒ±î ÇÑ´Ù. ÇÁ·Î±×·¡¹ÖÀº ¾î¶² ÀÛ¾÷À» ó¸®Çϱâ À§ÇÑ °¢°¢ÀÇ »ç°í°úÁ¤À» ÄÚµåÈÇÏ´Â ÀÛ¾÷À̶ó »ý°¢ÇÑ´Ù. µû¶ó¼, ÇÁ·Î±×·¡¹ÖÀÇ °á°úÀÎ ÇÁ·Î±×·¥ ÀÚüÀÇ ¼öÇà°á°úµµ Áß¿äÇÏ°ÚÁö¸¸ ÇÁ·Î±×·¡¹Ö °úÁ¤ÀÎ ¼Ò½º ÄÚµå(source code)µµ ¹«Ã´ Áß¿äÇÏ´Ù. ¼Ò½º ÄÚµå´Â ÇÁ·Î±×·¡¸ÓÀÇ »ç°í°úÁ¤À» ¿©½ÇÈ÷ ³ªÅ¸³»°Ô µÇ´Âµ¥ Äڵ尡 µÎ¼(?)°¡ ¾øÀÌ È¥¶õ½º·¯¿î °æ¿ì¿¡´Â ±× ÇÁ·Î±×·¥ÀÌ Àß µ¿ÀÛÇÏ´õ¶óµµ ±× ¼öÇà °á°ú¿¡ ´ëÇØ Àǹ®À» °¡ÁöÁö ¾ÊÀ» ¼ö ¾ø´Ù. ±×·¸´Ù°í Çؼ Àß ÀÛ¼ºµÈ ÇÁ·Î±×·¥ÀÌ ¹Ýµå½Ã Àß ÀÛµ¿ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ±×·¯³ª, ±×·¸°Ô ÀÛ¼ºµÈ ÇÁ·Î±×·¥Àº ³ªÁß¿¡ º¸´õ¶óµµ ³¸¼³Áö ¾Ê°í ´Ù¸¥ »ç¶÷ÀÌ º¸´õ¶óµµ ¼öÁ¤ÀÌ ¿ëÀÌÇÑ ÀÌÁ¡À» °¡Áú ¼ö ÀÖ´Ù. ÇѸ¶µð·Î ¸»Çؼ À¯Áöº¸¼ö°¡ ÆíÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ±×¸®°í, ¹«¾ùº¸´Ù °Á¶ÇÏ°í ½ÍÀº Á¡Àº ÀÚ½ÅÀÌ ÀÛ¼ºÇÑ ÇÁ·Î±×·¥Àº ÃÖ¼ÒÇÑ ÀÚ½ÅÀº ¾Ë¾Æº¼ ¼ö ÀÖÀ» Á¤µµ·Î ³ª¸§´ë·ÎÀÇ ÀÏ°ü¼º°ú ÀÚ¿¬½º·¯¿î ±¸Á¶¸¦ ±â¹ÝÀ¸·Î ÀÛ¼ºÇϱ⠹ٶõ´Ù´Â °ÍÀÌ´Ù. ±×°ÍÀÌ Ã³À½ºÎÅÍ ÀÌ·ç¾îÁöÁö´Â ¾Ê°ÚÁö¸¸ óÀ½¿¡ ½À°üÀ» Àß µéÀÌ´Â °ÍÀÌ Áß¿äÇÏ´Ù ÇÏ°Ú´Ù. 2. »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö Á¦ÀÛ 2.1 AutoLISP ÇÁ·Î±×·¥ ÀÛ¼º ´Ü°è ÀÌÁ¦ º»°ÝÀûÀ¸·Î AutoLISP ±×·¡¹ÖÀ» ½ÃÀÛÇϱâ Àü¿¡ °£´ÜÈ÷ AutoLISP ÇÁ·Î±×·¥ ÀÛ¼º ´Ü°è¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. AutoLISPÀº Àß ¾Æ´Â ¹Ù ´ë·Î ÀÎÅÍÇÁ¸®ÅÍ ¹æ½ÄÀÇ ¾ð¾îÀÌ´Ù. ÀÌ·± ·ùÀÇ ¾ð¾îÀÇ ÀåÁ¡À¸·Î »ç¿ëÀÚ°¡ ´ëȽÄÀ¸·Î ÇÁ·Î±×·¡¹ÖÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ¾î ÆíÇÏ´Ù´Â ¾ê±â´Â ¸¹ÀÌ µé¾úÀ¸¸®¶ó ¹Ï´Â´Ù. ±×·³, °ú¿¬ ´ëȽÄÀ¸·Î ÇÁ·Î±×·¡¹ÖÇÏ´Â °ÍÀº ¾î¶² °ÍÀ» ÀǹÌÇÏ´Â °ÍÀϱî? Á÷Á¢ÇØ º¸¸é ±Ý¹æ ½Ç°¨ÇÒ ¼ö ÀÖÀ¸¸®¶ó »ý°¢µÈ´Ù. ¿ì¸®°¡ ¾î¶² AutoCAD »óÀÇ ÀÛ¾÷À» AutoLISPÀ» ÀÌ¿ëÇؼ ÇÁ·Î±×·¡¹ÖÇÏ°í ½ÍÀ» ¶§¸é ¿ì¼± AutoCAD¿¡¼ ÇÏ´Â ÀÛ¾÷ÀÇ ´Ü°è¸¦ Á¤¸®Çغ»´Ù. ±×·± ´ÙÀ½ °¢°¢ÀÇ ÀÛ¾÷À» AutoCAD »óÅ¿¡¼ AutoLISP ½ÄÀ» ÀÔ·ÂÇØ °¡¸é¼ ÇÑ ¹®À徿 È®ÀÎÇÑ´Ù. ¸¶Áö¸·À¸·Î ±× ³»¿ëÀ» ÇϳªÀÇ ÇÔ¼ö ³»Áö´Â »óȲ¿¡ µû¶ó ¿©·¯°³ÀÇ ÇÔ¼ö·Î ³ª´©¾î ÄÚµùÇϱ⸸ Çϸé ÇÁ·Î±×·¥ÀÌ ¿Ï¼ºµÈ´Ù. ´ÙÀ½¿¡ ±× °úÁ¤À» Á¤¸®ÇØ º¸¾Ò´Ù.
1) ijµå»óÀÇ ÀÛ¾÷ °úÁ¤À» ³ª¿ÇÑ´Ù.
±×·¯³ª, °°Àº ³»¿ëÀ» ADS·Î Á¦ÀÛÇÏ°íÀÚ ÇÑ´Ù¸é °£´ÜÇÑ ±â´ÉÀÇ ½ÃÇèÀ» À§Çؼµµ ¼ö ºÐÀÇ ÄÄÆÄÀÏ ÀÛ¾÷À» Çؾ߸¸ Çϱ⠶§¹®¿¡ È¿À²ÀÌ »ó´çÈ÷ ¶³¾îÁø´Ù. ¹Ý¸é, ÃÖÁ¾ ÇÁ·Î±×·¥ÀÇ ½ÇÇà ¼Óµµ¸é¿¡¼´Â ÄÄÆÄÀÏµÈ ADS ÇÁ·Î±×·¥ÀÌ ¿ùµîÈ÷ ºü¸£±â ¶§¹®¿¡ - ƯÈ÷ ¹Ýº¹ÀûÀÎ °è»ê ÀÛ¾÷ - ÀÏ´Ü AutoLISPÀ» »ç¿ëÇÏ¿© ÀÚ½ÅÀÌ »ý°¢ÇÑ ÀÛ¾÷ ´Ü°è³ª ¾Ë°í¸®Áò(algorithm)ÀÇ °ËÁõÀ» ¼öÇàÇÑ ÈÄ ADS¸¦ »ç¿ëÇÏ¿© ÄÚµùÇÏ´Â °Íµµ ÇÑ ¹æ¹ýÀÌ µÇ°Ú´Ù. ¾ÕÀ¸·ÎÀÇ °Á¿¡¼ »ç¿ëµÉ ¿¹Á¦µéÀº À§ÀÇ °úÁ¤À» ÅëÇØ Á¦ÀÛ°úÁ¤À» ¼³¸íÇϵµ·Ï ÇÏ°Ú´Ù. Ç×»ó À§ÀÇ °úÁ¤°ú ÀÏÄ¡ÇÏÁö´Â ¾Ê°ÚÁö¸¸ °ÅÀÇ ´ëºÎºÐÀÇ °æ¿ì¿¡ À§ÀÇ °úÁ¤À» µû¸£°Ô µÉ °ÍÀÌ´Ù. 2.2 ´ÙÁß¼± ±×¸®±â AutoLISPÀ» °øºÎÇÏ¸é¼ ÇѹøÁ¤µµ¾¿Àº ¸¸µé¾î º¸¾ÒÀ¸¸®¶ó »ý°¢µÇ´Â ¿¹Á¦ÀÌ´Ù. µÎÁ¡À» ÁöÁ¤Çϸé ÁöÁ¤ÇÑ °£°ÝÀ¸·Î ÁöÁ¤ÇÑ È¸¼ö¸¸Å ¹Ýº¹ÇÏ¿© ¼±À» ±×·ÁÁÖ´Â ÇÁ·Î±×·¥ÀÌ µÇ°Ú´Ù. ¿Ï¼ºµÈ ÇÁ·Î±×·¥Àº ¸®½ºÆ® 1¿¡ ÀÖÁö¸¸ ¿ì¼± °¢ÀÚ ³ª¸§´ë·Î À§¿¡¼ ¾ð±ÞÇÑ ÇÁ·Î±×·¥ ÀÛ¼º ´Ü°è¸¦ µû¶ó¼ ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ º¸±â ¹Ù¶õ´Ù.
1) ijµå»ó¿¡¼ÀÇ ÀÛ¾÷Àº ´Ü¼øÈ÷ ¼±À» ±×¸®´Â ¸í·ÉÀ» ÁöÁ¤ÇÑ È¸¼ö¸¸Å ¹Ýº¹ÇÏ¸é µÈ´Ù.
¼±°£ÀÇ °£°Ý°ú ¹Ýº¹ ȸ¼ö´Â ¹Ì¸® Á¤ÀÇµÈ °ÍÀ¸·Î ÇÑ´Ù. Áï, Àü¿ªº¯¼ö·Î ¼³Á¤ÇÑ´Ù. ¿ì¼±, ¿¹Á¦ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ À§ÇØ ÇÊ¿äÇÑ °³³äµé¿¡ ´ëÇØ ¼³¸íÇÒ±î ÇÑ´Ù. 2.3 ÇÔ¼ö Á¤ÀÇ AutoLISP¿¡µµ ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾îµé°ú °°ÀÌ ´Ù¾çÇÑ ±â´ÉÀÇ ÇÔ¼öµéÀÌ ÀÖÀ¸¸ç ¶ÇÇÑ »ç¿ëÀÚ°¡ »õ·Î¿î ÇÔ¼ö¸¦ Á¤ÀÇÇÒ ¼öµµ ÀÖ´Ù. ÀÌó·³ »õ·Î¿î ÇÔ¼ö¸¦ Á¤ÀÇÇÒ ¶§ »ç¿ëµÇ´Â ÇÔ¼ö°¡ DEFUN(define function) ÇÔ¼öÀÌ¸ç »ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù.
(defun <ÇÔ¼ö¸í> <º¯¼ö ¸ñ·Ï> <ÇÔ¼ö ³»¿ë> ...) 1) ÇÔ¼ö¸í ÇÔ¼ö¸íÀº ÇÁ·Î±×·¥ÀÇ ´Ù¸¥ ºÎºÐ¿¡¼ ±× ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ »ç¿ëµÇ´Â À̸§ÀÌ¸ç ¿µ¹®ÀÚ³ª ¼ýÀÚ »Ó¸¸ ¾Æ´Ï¶ó ^, !¿Í °°Àº ±âÈ£µµ »ç¿ë°¡´ÉÇÏ´Ù. À̹ø ¿¹Á¦¿¡¼´Â ¸®½ºÆ® 1¿¡ º¸ÀÌ´Â draw-oline, draw-mline, C:MLINEÀÌ ÇÔ¼ö¸íÀÌ´Ù. 2) º¯¼ö ¸ñ·Ï º¯¼ö ¸ñ·ÏÀº ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ ÇÔ¼ö·Î Àü´ÞµÇ´Â ÀμöµéÀÇ ¸ñ·ÏÀ» ¶æÇÑ´Ù. ÀÌ ¸ñ·Ï¿¡´Â Ãß°¡ÀûÀ¸·Î ÇÔ¼ö³»¿¡¼¸¸ »ç¿ëµÇ´Â º¯¼ö(Áö¿ª º¯¼ö)µéÀÇ ¸ñ·ÏÀÌ /·Î ±¸ºÐµÇ¾î Æ÷Ç﵃ ¼öµµ ÀÖ´Ù. À̶§ ÀμöµéÀÇ ¸ñ·Ï°ú Áö¿ª º¯¼öµéÀÇ ¸ñ·ÏÀ» ±¸ºÐÁþ´Â /ÀÇ ¾ÕµÚ·Î ÃÖ¼ÒÇÑ ÇÑÄÀÇ °ø¹éÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ·¸°Ô Çؼ ´ÙÀ½°ú °°Àº ÇüÅÂÀÇ º¯¼ö ¸ñ·ÏÀÌ ÀÖÀ» ¼ö ÀÖ°Ú´Ù.
(a b) ; a, b¶ó´Â Àμö°¡ ÀÖ´Â °æ¿ì (/ c d) ; c, d¶ó´Â Áö¿ª º¯¼ö°¡ ÀÖ´Â °æ¿ì (a b / c d) ; a, b¶ó´Â Àμö¿Í c, d¶ó´Â Áö¿ª º¯¼ö°¡ ÀÖ´Â °æ¿ì () ; Àμö³ª Áö¿ª º¯¼ö°¡ ÀüÇô ¾ø´Â °æ¿ì À̹ø ¿¹Á¦¿¡¼ C:MLINEÇÔ¼ö¸¦ ¿¹·Î µé¸é ÀÌ ÇÔ¼ö·Î Àü´ÞµÇ´Â Àμö´Â ¾øÀ¸¸ç ÇÔ¼ö³»¿¡ Áö¿ª º¯¼ö sp, ep ¸¸ÀÌ ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. ±×·³, ¿©±â¼ Àá½Ã Àü¿ª º¯¼ö(global variable)¿Í Áö¿ª º¯¼ö(local variable)ÀÇ ±â´É¿¡ ´ëÇØ ¾Ë¾Æº¸°í ³Ñ¾î°¡µµ·Ï ÇÏÀÚ. Àü¿ª º¯¼ö´Â ¸» ±×´ë·Î ÇÁ·Î±×·¥ Àü ¹üÀ§³»¿¡¼ Åë¿ëµÇ´Â º¯¼öÀ̸ç Áö¿ª º¯¼ö´Â ±× º¯¼ö°¡ ¼±¾ðµÈ ÇÔ¼ö³»¿¡¼¸¸ Åë¿ëµÇ´Â º¯¼öÀÌ´Ù. À§¿¡¼ º¸¾ÒµíÀÌ Æ¯º°È÷ Áö¿ª º¯¼ö·Î ¼±¾ðµÇÁö ¾ÊÀº ¸ðµç º¯¼ö´Â Àü¿ª º¯¼ö°¡ µÈ´Ù. ±×·¯³ª, °¡±ÞÀû Àü¿ª º¯¼öÀÇ »ç¿ëÀ» ÁÙÀÌ°í ÇÔ¼ö³»¿¡¼ ÇØ°á ÇÒ ¼ö ÀÖ´Â °ÍÀº ÇÔ¼ö³»¿¡¼ Áö¿ª º¯¼ö·Î Á¤ÀÇÇÏ¿© »ç¿ëÇϵµ·Ï ÇÏÀÚ. ±×°ÍÀÌ ¸Þ¸ð¸®¸¦ Àý¾àÇÒ ¼ö ÀÖ´Â ¹æ¹ýµµ µÈ´Ù. ¿Ö³ÄÇϸé Áö¿ª º¯¼öÀÇ °æ¿ì¿¡´Â Àӽà º¯¼ö·Î¼ ÇÔ¼öÀÇ »ç¿ëÀÌ ³¡³ª¸é ±× Á¤ÀÇ°¡ »ç¶óÁöÁö¸¸ Àü¿ª º¯¼öÀÇ °æ¿ì¿¡´Â ¼±¾ðµÇ´Â ±× ½ÃÁ¡ºÎÅÍ Æ¯º°ÇÑ ÀÏÀÌ ¾ø´Â ÇÑ °è¼Ó Á¸ÀçÇÏ°Ô µÈ´Ù. ±×¸®°í, Àü¿ª º¯¼öÀÇ °æ¿ì¿¡´Â ³ª¸§ÀÇ ¹æ½ÄÀ» Á¤ÇØ ¼±¾ðÇÏ´Â °ÍÀÌ ÁÁ°Ú´Ù. ÀÌ °Á¿¡¼´Â º¯¼ö¸í ¾ÕµÚ¿¡ '*'¸¦ ºÙ¿©¼ ÇÁ·Î±×·¥ÀÇ ¾ÕºÎºÐ¿¡¼ ÃʱâÈÇÏ¿© Àü¿ª º¯¼ö¸¦ ¼±¾ðÇϵµ·Ï ÇÏ°Ú´Ù. ¸®½ºÆ® 1ÀÇ ¾ÕºÎºÐ¿¡ ³ª¿À´Â *COPY*¿Í *OFF*°¡ ¹Ù·Î ÀÌ·± ½ÄÀ¸·Î ¼±¾ðµÈ Àü¿ª º¯¼öÀÌ´Ù. ÀÌ·± ¹æ½ÄÀÇ ÀåÁ¡Àº ÇÁ·Î±×·¥ ¾îµð¼ Àü¿ª º¯¼ö°¡ »ç¿ëµÇ°í ÀÖ´Â Áö¸¦ ±Ý¹æ ÆľÇÇÒ ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó, Àǹ̸¦ ¾Ë ¼ö ¾ø´Â º¯¼ö°¡ ÀÖ´õ¶óµµ ±×°ÍÀÌ Àü¿ª º¯¼öÀÌ¸ç ±× Àǹ̸¦ ½±°Ô ÆľÇÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. 3) ÇÔ¼ö ³»¿ë ÇÔ¼öÀÇ ³»¿ëÀ¸·Î´Â AutoLISPÀÇ ÀϹÝÀûÀÎ ½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ¿©±â¼ Áß¿äÇÏ°Ô ±â¾ïÇÏ¿©¾ßÇÒ »çÇ×Àº ÇÔ¼öÀÇ °á°ú°ªÀº ÇÔ¼ö ³»¿ë Áß ¸¶Áö¸·¿¡ ÀÖ´Â ½ÄÀÇ °á°ú°ªÀÌ µÈ´Ù´Â »ç½ÇÀÌ´Ù. À̹ø ¿¹Á¦ÀÇ °æ¿ì¿¡´Â ´ÜÁö ¼±À» ±×¸®´Â °ÍÀÌ ÇÔ¼öÀÇ °á°úÀ̹ǷΠÃÖÁ¾ °á°ú°ªÀÌ Áß¿äÇÑ Àǹ̸¦ °¡ÁöÁö ¾ÊÁö¸¸ ¿¹¸¦ µé¾î ¾î¶² °è»êÀ» ¼öÇàÇÏ´Â ÇÔ¼ö¶ó¸é ¾î¶² °ÍÀÌ ±× ÇÔ¼öÀÇ °á°ú°ªÀÌ µÇ´Â Áö°¡ Áß¿äÇÑ Àǹ̸¦ °®´Â´Ù. ´ÙÀ½ÀÇ °æ¿ì¸¦ º¸ÀÚ.
(defun tan (rad) (/ (sin rad) (cos rad)) ) (tan (/ PI 4.0)) ; °á°ú°ªÀº 1.0 ÇÔ¼öÀÇ ¼öÇà °úÁ¤À» »ìÆ캸¸é ´ÙÀ½°ú °°´Ù.
rad = PI / 4.0 = 0.785398 (/ (sin 0.785398) (cos 0.785398)) °á°ú°ª (sin 0.785398) -> 0.707107 (cos 0.785398) -> 0.707107 (/ 0.707107 0.707107 ) -> 1.0 => ÃÖÁ¾ °á°ú°ª À§¿Í °°ÀÌ ¸¶Áö¸· °è»êÀÇ °á°ú°¡ ¹ÝȯµÇ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ±×¸®°í ÀÌ ±â´ÉÀ» ÀÌ¿ëÇÏ¸é ´ÙÀ½°ú °°Àº °ÍÀÌ °¡´ÉÇÏ°Ú´Ù. ¿¹¸¦ µé¾î ¾î¶² ÇÔ¼ö¿¡¼ ±× ÇÔ¼ö¸¦ È£ÃâÇÑ ÇÔ¼ö¿¡ ¾î¶² Áö¿ª º¯¼öÀÇ °ªÀ» Àü´ÞÇÏ°íÀÚ Çϴµ¥ ±× º¯¼öÀÇ °è»ê½ÄÀÌ ÇÔ¼öÀÇ ³»¿ëÁß ¸Ç ¸¶Áö¸·¿¡ ÀÖÁö ¾Ê´Ù¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î? ±×·²¶§´Â ÇÔ¼öÀÇ ¸¶Áö¸·ÁÙ¿¡ ±× º¯¼öÀÇ À̸§À» ½á ³Ö±â¸¸ ÇÏ¸é µÈ´Ù. ¾Æ·¡ ³»¿ëÀ» À¯½ÉÈ÷ º¸¸é¼ Àß »ý°¢ÇØ º¸±â ¹Ù¶õ´Ù.
(defun space (num / str) (setq str "") (repeat num (setq str (strcat str " ")) ) str ) ¹°·Ð, ÀÌ °æ¿ì¿¡´Â ²À ¸¶Áö¸·¿¡ STR º¯¼öÀÇ À̸§À» ¾µ ÇÊ¿ä´Â ¾ø´Ù. ´Ù¸¸ º¸´Ù È®½ÇÇÏ°Ô ¼öÇàµÇµµ·Ï Çϱâ À§ÇØ ±×·¸°Ô ÇßÀ» »ÓÀÌ´Ù. ¿Ö ²À ¾²Áö ¾Ê¾Æµµ µÇ´ÂÁöµµ »ý°¢ÇØ º¸ÀÚ. À̹ø ¿¹Á¦¿¡´Â ÇÁ·Î±×·¥ÀÇ ¸¶Áö¸·¿¡ PRINC¶ó´Â ÇÔ¼ö°¡ Àִµ¥ ÀÌ ÇÔ¼öÀÇ ÀϹÝÀûÀÎ ±â´ÉÀº ȸé»ó¿¡ ¹®ÀÚ¿À» Ãâ·ÂÇÏ´Â °ÍÀÌÁö¸¸ À§¿Í °°Àº °æ¿ì¿¡´Â ÇÁ·Î±×·¥ÀÇ Á¾·áÈÄ¿¡ ÇÊ¿ä¾ø´Â ÇÔ¼öÀÇ °á°ú°ªÀÌ Ãâ·ÂµÇÁö ¾Êµµ·Ï Çϱâ À§ÇØ »ç¿ëÇÏ¿´´Ù. ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÏÁö ¾Ê°í ÇÁ·Î±×·¥À» ¼öÇà½ÃÄÑ º¸°í Â÷À̸¦ È®ÀÎÇØ º¸±â ¹Ù¶õ´Ù. 4) ÇÔ¼öÀÇ Àç±ÍÀû È£ÃâÇÔ¼ö³»¿¡¼´Â ¿ÜºÎÀÇ ´Ù¸¥ ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. »Ó¸¸ ¾Æ´Ï¶ó, ÀÚ±â ÀÚ½ÅÀ» È£ÃâÇÒ ¼öµµ ÀÖ´Ù. ÀÌ·± È£Ãâ ¹æ½ÄÀ» ÇÔ¼öÀÇ Àç±ÍÀû È£Ãâ(recursive call)À̶ó°í ÇÑ´Ù. ´ÙÀ½ÀÇ ¿¹¸¦ º¸ÀÚ. ÀÓÀÇÀÇ ¼öÀÇ °è½Â(factorial)À» ±¸ÇÏ´Â ÇÔ¼ö¸¦ ÇÔ¼öÀÇ Àç±ÍÀû È£ÃâÀ» »ç¿ëÇÏ¿© Á¦ÀÛÇØ º¸¾Ò´Âµ¥ ÇÔ¼ö¸íÀ¸·Î ¼öÇп¡¼ °è½Â ±âÈ£·Î »ç¿ëµÇ´Â !¸¦ »ç¿ëÇÏ¿´´Ù.
(defun ! (n) (if (zerop n) (quote 1) (* (float n) (! (1- n))) ) ) ÀÌ·± ¹æ½ÄÀ» ÀÀ¿ëÇÏ¿© Á¦ÀÛÇÑ ¿¹¸¦ À̹ø ¿¹Á¦¿¡¼µµ º¼ ¼ö ÀÖ´Ù. ¸®½ºÆ® 1ÀÇ draw-mline ÇÔ¼ö¸¦ Âü°íÇϱ⠹ٶó¸ç, ÇÔ¼ö¸¦ Àç±ÍÀûÀ¸·Î È£ÃâÇÒ ¶§´Â ÇÔ¼öÀÇ Å»Ãâ Á¶°ÇÀ» ¸íÈ®È÷ ÇÏ¿©¾ß ÇÑ´Ù´Â »ç½Ç¿¡ ÁÖ¸ñÇÏÀÚ. À§ÀÇ ¿¹¿Í draw-mline ÇÔ¼öÀÇ if¹®ÀÇ Á¶°Ç°ú ÇÔ¼ö°¡ Àç±ÍÀûÀ¸·Î È£ÃâµÇ´Â ºÎºÐÀ» Àß º¸±â ¹Ù¶õ´Ù. ±×¸®°í, ¸¶Áö¸·À¸·Î ÇÔ¼ö¸¦ ¸¸µå´Â ¿øÄ¢¿¡ ´ëÇØ ¸î°¡Áö ¼³¸íÇÏ°íÀÚ ÇÑ´Ù. ÇÁ·Î±×·¥ÀÌ °£´ÜÇÏ´Ù¸é ±»ÀÌ ÇÑ ÇÁ·Î±×·¥À» ¿©·¯°³ÀÇ ÇÔ¼ö·Î ³ª´ ÇÊ¿ä´Â ¾øÀ» °ÍÀÌ´Ù. ±×·¯³ª ÇÁ·Î±×·¥ÀÌ ±æ¾îÁ®¼ ´Ù´Ü°èÀÇ ÀÛ¾÷À» ÇÏ°Ô µÇ´Â °æ¿ì¿Í ¾î¶² ÀÛ¾÷À» ¹Ýº¹Çؼ ¿©·¯¹ø ¼öÇàÇÏ°Ô µÇ´Â °æ¿ì¿¡´Â °¢°¢ÀÇ ÀÛ¾÷ ³»¿ëÀ» ÇϳªÀÇ µ¶¸³µÈ ÇÔ¼ö·Î ¸¸µé¾î¼ È£ÃâÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ°Ú´Ù. °¡²û º¸¸é ¸î ¹é¶óÀÎÀÌ ³Ñ´Â ÇÁ·Î±×·¥ÀÌ ÇϳªÀÇ ÇÔ¼ö·Î µÇ¾î ÀÖ´Â ÇÁ·Î±×·¥ÀÌ Àִµ¥ ±×·± °ÍÀº °¡±ÞÀû ÇÇÇÏ´Â °ÍÀÌ ÇÁ·Î±×·¥ ÀÛ¼ºÀÚ³ª ³ªÁß¿¡ ±× Äڵ带 º¸°ÔµÇ´Â ´Ù¸¥ »ç¶÷À» À§ÇØ ÁÁ°Ú´Ù. Âü°í·Î ÇÑ ÇÔ¼öÀÇ ±æÀÌ´Â 50¶óÀÎ À̳»°¡ Àû´çÇÏ´Ù. ±×°ÍÀº ÁÖ ¿øÀÎÀÌ PCÀÇ È¸é ÇÑ°è(25¶óÀÎ) ¶§¹®À̱äÇÏÁö¸¸ ¿¡µðÅͻ󿡼 ÆíÁýÀ» À§ÇØ ÆäÀÌÁö ³Ñ±èÅ°¸¦ À§, ¾Æ·¡·Î Çѹø Á¤µµ ¿òÁ÷ÀÓÀ¸·Î½á ÇÔ¼ö Àüü ³»¿ëÀ» ÆľÇÇÒ ¼ö ÀÖÀ»¸¸Å ÃæºÐÈ÷ ÀÛ¾Æ¾ß ÇÔÀ» ¶æÇÑ´Ù. ±×·¯³ª, ²À ÀÌ·¯ÇÑ ¿øÄ¢À» µû¸¥ ÇÊ¿ä´Â ¾ø°Ú°í ÀÚ½ÅÀÌ ÆÇ´ÜÇؼ ÇÔ¼ö°¡ Á» ±æ´Ù°í ÆÇ´ÜµÇ¸é ´Ù½Ã Çѹø ÇÔ¼öÀÇ ³»¿ëÀ» Àß »ìÆì º» ÈÄ Àß°Ô ³ª´©¾î ÁÖ´Â °ÍÀÌ ÁÁÀ¸¸®¶ó »ý°¢µÈ´Ù. LISP ¾ð¾î´Â ±²ÀåÈ÷ ¸ðµâÈ Çϱ⠽±°Ô Àß Á¤ÀǵǾî ÀÖÀ¸¸ç ÇÁ·Î±×·¥ÀÇ Á¤È®ÇÑ ÆľÇ, ¿î¿ë ¹× °ü¸®¸¦ À§ÇØ ¸ðµâÈ ÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. »Ó¸¸ ¾Æ´Ï¶ó, ¸ðµâÈµÈ ÄÚµå´Â ÄÚµå ÀçÈ°¿ë(?)À» ÇÒ ¼ö ÀÖ¾î ¸Å¿ì Æí¸®ÇÏ´Ù. 2.4 AutoCAD ¿ë ¸í·É¾î Á¦ÀÛ ¾Õ¼ ¼³¸íÇÑ DEFUN ÇÔ¼ö¸¦ »ç¿ëÇϸé AutoCAD ¿ë ¸í·É¾îµµ Á¦ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. Á¦ÀÛ ¹æ¹ýÀº ÇÔ¼ö¸í ¾Õ¿¡ C:¸¦ ºÙÀ̱⸸ ÇÏ¸é µÈ´Ù. ¹Ù·Î À̹ø ¿¹Á¦¿¡µµ ÀÌ °æ¿ì¿¡ ÇØ´çµÇ´Â C:MLINE ÇÔ¼ö°¡ ÀÖÀ¸¸ç MLINEÀ̶ó´Â ¸í·ÉÀ» »ç¿ëÇÏ¿© ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ¹°·Ð, ÀϹÝÀûÀÎ ÇÔ¼ö È£Ãâ ¹æ¹ýÀ» »ç¿ëÇÏ¿© (C:MLINE)À¸·Î ÇÒ ¼öµµ ÀÖ´Ù. ½ÇÁ¦·Î AutoLISP ÇÁ·Î±×·¥³»¿¡¼ ´Ù¸¥ AutoLISPÀ¸·Î Á¤ÀÇµÈ ¸í·É¾î¸¦ »ç¿ëÇÒ ¶§ Á¾Á¾ ÀÌ ¹æ¹ýÀ» »ç¿ëÇÑ´Ù. ¸¸¾à AutoCAD ³»¿¡ ÀÌ¹Ì Á¸ÀçÇÏ´Â ¸í·É¾î¸¦ ÀçÁ¤ÀÇÇÏ°íÀÚ ÇÑ´Ù¸é UNDEFINE ¸í·ÉÀ» »ç¿ëÇÏ¿© ¹Ì¸® ±× ¸í·ÉÀ» »ç¿ëÇÒ ¼ö ¾ø°Ô ÇÏ¿©¾ß¸¸ ÀçÁ¤ÀÇµÈ ¸í·ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×¸®°í ¿ø·¡ÀÇ AutoCAD ¸í·ÉÀ» Àӽ÷Π»ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é ¸í·É¾î ¾Õ¿¡ .À» ºÙ¿©¼ »ç¿ëÇÏ¸é µÈ´Ù. ´Ù½Ã ¿ø·¡ÀÇ AutoCAD ¸í·ÉÀ¸·Î ȯ¿øÇÏ°íÀÚ ÇÑ´Ù¸é REDEFINE ¸í·ÉÀ» »ç¿ëÇÏ¸é µÈ´Ù.
Command: UNDEFINE Command name: QUIT Command: QUIT Unknown command. Type ? for list of commands. Command: .QUIT Really want to discard all changes to drawing? N Command: REDEFINE Command name: QUIT Command: QUIT Really want to discard all changes to drawing? 2.5 »ç¿ëÀÚÀÇ ÀÔ·Â »ç¿ëÀڷκÎÅÍ ÀÔ·ÂÀ» ¹Þ±â À§ÇÑ ÇÔ¼öµéÀÇ »ç¿ë¹ýÀ» ¾Æ·¡¿¡ ³ª¿ÇØ º¸¾Ò´Ù. 'Á¡'Àº rubber-band lineÀÇ ½ÃÀÛÁ¡À» ¶æÇÏ¸ç ´Ù¸¥ ÇÔ¼öÀÇ °æ¿ì¿¡´Â »ý·« °¡´É(½ÃÀÛÁ¡µµ ¼±ÅÃÇÒ ¼ö ÀÖÀ½)Çϳª GETCORNER ÇÔ¼öÀÇ °æ¿ì¿¡´Â ²À ÇÊ¿äÇÏ´Ù. '¹®ÀÚ¿'Àº ÀԷ½ÿ¡ »ç¿ëÀÚ¿¡°Ô ¹¯°Ô µÉ Áú¹®ÀÇ ³»¿ëÀÌ µÇ°Ú´Ù.
1) »ó´ë °¢µµ : (getangle [Á¡] [¹®ÀÚ¿])
°¢µµÀÇ ´ÜÀ§´Â ¶óµð¾È(radian)À̸ç Á¡Àº 3D ÁÂÇ¥ (3°³ÀÇ ½Ç¼öÀÇ ¸®½ºÆ®)ÀÌ´Ù. ±×¸®°í µÇµµ·ÏÀ̸é GETREAL ÇÔ¼öº¸´Ù´Â GETDIST ÇÔ¼ö¸¦ »ç¿ëÇϱ⸦ ±ÇÇÑ´Ù. ¿Ö³ÄÇϸé, GETDIST ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é ´Ü¼øÈ÷ °ªÀ» ÀÔ·ÂÇÏ´Â ´ë½Å µÎÁ¡À» ¼±ÅÃÇÏ¿© ±×¿¡ »óÀÀÇÏ´Â °Å¸®ÀÇ °ªÀ¸·Î ÀÔ·ÂÀ» ÇÒ ¼öµµ Àֱ⠶§¹®ÀÌ´Ù. ½ÇÁ¦·Î ÀÌ·± ¹æ½ÄÀÌ AutoCAD ¸í·É »ç¿ëÁß¿¡µµ ¸¹ÀÌ º¸ÀÌ°í ÀÖ´Ù. µÇµµ·ÏÀ̸é ÀÔ·ÂÇÔ¼öÀÇ »ç¿ëÀ̳ª Áú¹®ÀÇ ³»¿ë¿¡ ÀÖ¾î¼ AutoCAD ÀÚü ¸í·É¾î »ç¿ë¿¡¼¿Í ºñ½ÁÇÑ È¯°æÀ» ¸¸µé¾î Áֱ⠹ٶõ´Ù. ±×·¡¾ß¸¸ »ç¿ëÇÏ´Â »ç¿ëÀÚ°¡ Ưº°ÇÑ ÈƷþøÀ̵µ AutoCAD¸¦ »ç¿ëÇÏ´ø ¹æ½Ä´ë·Î ÇÁ·Î±×·¥À» »ç¿ëÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ´ÙÀ½ÀÇ ¸î°¡Áö AutoCAD ¸í·É¾î¸¦ ÅëÇØ ¿¹¸¦ µé¾î º¸°Ú´Ù.
Command: ZOOM All/ ... /Window/<Scale(X/XP)>: W <= GETKWORD First corner: <= GETPOINT Other corner: <= GETCORNER Command: INSERT Block name(or ?): <= GETSTRING Insertion point: <= GETPOINT X scale factor<1>/Corner/XYZ: <=GETDIST Y scale factor(default=X): <= GETDIST Rotation Angle<0>: <= GETANGLE ¶ÇÇÑ, »ç¿ëÀÚ ÀÔ·Â ÇÔ¼ö¸¦ »ç¿ëÇÒ ¶§ ²À ÇÊ¿äÇÑ ÇÔ¼ö Çϳª°¡ ÀÖ´Ù. ±×°ÍÀº INITGET ÇÔ¼öÀε¥ ÀÌ ÇÔ¼ö´Â »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¾î¶² Á¶°Ç³»¿¡¼ Á¦ÇÑÇÏ¿© ÀÔ·ÂÀÇ ¿À·ù¸¦ ¹æÁöÇÏ´Â ±â´ÉÀ» ¼öÇàÇÏ°Ô µÈ´Ù. ¾Æ·¡¿¡ ÀÖ´Â »ç¿ëµÉ ¼ö ÀÖ´Â Á¦ÇÑ Á¶°Ç°ú ±× Á¦ÇÑ Á¶°ÇÀ» »ç¿ë°¡´ÉÇÑ »ç¿ëÀÚ ÀÔ·Â ÇÔ¼öÀÇ Á¶ÇÕÀ» ³ªÅ¸³½ Ç¥¸¦ Âü°íÇϱ⠹ٶõ´Ù. (Å°¿öµåÀÇ ±â´É¿¡ ´ëÇؼ´Â ´ÙÀ½ ±âȸ¿¡ ¼³¸íÇÏ°Ú´Ù.)
(initget [Á¶°Ç °ª] [Å°¿öµå])
2.6 AutoCAD ¸í·É¾îÀÇ ¼öÇà COMMAND ÇÔ¼ö´Â AutoLISP ³»¿¡¼ AutoCAD ¸í·É¾îÀÇ ¼öÇàÀ» °¡´ÉÇÏ°Ô ÇÏ´Â ÇÔ¼ö·Î »ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù.
(command <Àμö> ...) ÀÌ ÇÔ¼ö´Â º¸±âº¸´Ù º¹ÀâÇÑ ±â´ÉÀ» °¡Áö°í Àֱ⠶§¹®¿¡ ±× ¸¹Àº ±â´ÉÀ» Çѹø¿¡ ¸ðµÎ ¼³¸íÇϱâ´Â Èûµé°í ¾ÕÀ¸·Îµµ ±²ÀåÈ÷ ¸¹ÀÌ ´Ù·ç¾îÁú °ÍÀ̱⠶§¹®¿¡ ¿ì¼±Àº ÀÌ ¿¹Á¦¸¦ ÀÌÇØÇÒ ¼ö ÀÖ´Â Á¤µµÀÇ ¼³¸í¿¡¼ ±×Ä¥±î ÇÑ´Ù. COMMAND ÇÔ¼ö¿¡ Àü´ÞµÇ´Â ÀμöµéÀÌ ¸ðµÎ AutoCAD ¸í·É¾î Çؼ®±â¿¡ Àü´ÞµÈ´Ù°í »ý°¢ÇÏ¸é °£´ÜÇÏ´Ù. µû¶ó¼, ¸í·É¾î³ª ±× ¸í·É¾î¿¡¼ »ç¿ëµÇ´Â ¼±Åà »çÇ×À̳ª Á¡ ¶Ç´Â ¾î¶² ¼öÄ¡µéÀ» ¿ä±¸µÇ´Â ¼ø¼¿Í ÇüÅ¿¡ µû¶ó ½á Áֱ⸸ ÇÏ¸é µÈ´Ù. ¸í·É¾î³ª ¼±Åà »çÇ×Àº ¹®ÀÚ¿ÀÇ ÇüÅ·ΠÁ¡Àº ¸®½ºÆ®ÀÇ ÇüÅ·Π¼öÄ¡µéÀº Á¤¼ö³ª ½Ç¼öÀÇ ÇüÅ·Π½á ÁÖ¸é µÈ´Ù. ¸®½ºÆ® 1ÀÇ draw-olineÇÔ¼ö¸¦ »ìÆì º¸ÀÚ.
(command "LINE" -> ¸í·É¾î (¹®ÀÚ¿) (polar sp ang off) -> POLAR ÇÔ¼öÀÇ °á°ú°ªÀº Á¡(¸®½ºÆ®) (polar ep ang off) "" -> ¼±Åà »çÇ× (¹®ÀÚ¿) ) 2.7 OFFSETµÈ ¼±À» ±×¸®´Â ¹æ¹ý ±×·³, ÀÌÁ¦ºÎÅÍ À§¿¡¼ ¹è¿î °³³äÀ» ¹ÙÅÁÀ¸·Î ÇÁ·Î±×·¥À» ¿Ï¼ºÇϱâ À§ÇØ ¹®Á¦¸¦ Çϳª¾¿ ÇØ°áÇØ ³ª°¡ÀÚ. À̹ø ¿¹Á¦¿¡¼ °¡Àå ¸¹ÀÌ ¼öÇàµÇ´Â ÀÛ¾÷Àº ÁöÁ¤µÈ µÎÁ¡À» Áö³ª´Â ¼±ÀÇ ¿É¼ÂµÈ ¼±À» ±×¸®´Â ±â´ÉÀÌ´Ù. ÀÌ ±â´ÉÀº ÁÖ¾îÁø ȸ¼ö¸¸Å ¹Ýº¹µÉ °ÍÀ̹ǷΠÇϳªÀÇ ÇÔ¼ö·Î ¸¸µå´Â °ÍÀÌ Æí¸®ÇÏ°Ú´Ù. ¿ì¼± ´ÙÀ½À» º¸ÀÚ. µÎÁ¡ p1, p2°¡ ÁÖ¾îÁö°í ¿É¼Â °£°Ý off°¡ ÁöÁ¤µÈ °æ¿ì ¿É¼ÂµÈ ¼±ÀÌ Áö³ª°Ô µÉ µÎÁ¡ p3, p4´Â ±×¸² 1°ú °°ÀÌ Á¤ÀǵȴÙ. ¹«Ã´ º¹ÀâÇÏ´Ù. ±×·¯³ª, POLAR ÇÔ¼ö¸¦ »ç¿ëÇϸé ÀÌ°ÍÀ» ¾ÆÁÖ ½±°Ô Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. À§¿Í °°Àº °æ¿ì¸¦ POLAR ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÀçÁ¤ÀÇÇÏ¸é ´ÙÀ½°ú °°´Ù.
(setq p3 (polar p1 (+ ang (/ PI 2.0)) off)) (setq p4 (polar p2 (+ ang (/ PI 2.0)) off)) ÀÌÁ¦ À̸¦ Åä´ë·Î ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ¿© º¸ÀÚ. ¿Ï¼ºµÈ ¿¹°¡ ¸®½ºÆ® 1ÀÇ draw-oline ÇÔ¼öÀÌ´Ù. ¼öÇàµÇ´ÂÁö Çѹø ½ÃÇèÇØ º¸ÀÚ.
Command: (draw-oline (getpoint) (getpoint) 1.0) <= µÎÁ¡À» ¼±ÅÃÇÑ´Ù. (¾Æ¹« ¸Þ½ÃÁöµµ Ãâ·ÂµÇÁö ¾ÊÀ½) ÁöÁ¤ÇÑ µÎÁ¡À» Áö³ª´Â ¼±À» 1.0¸¸Å ¿É¼ÂÇÑ ¼±ÀÌ ±×·ÁÁö´ÂÁö È®ÀÎÇÑ´Ù. 2.8 ÁöÁ¤ÇÑ È¸¼ö¸¸Å ¿É¼Â ½ÇÇà ÀÌ ÇÔ¼ö´Â ÁöÁ¤ÇÑ µÎÁ¡À» Áö³ª´Â ¼±À» OFF °ª¸¸Å ±×¸®°í -OFF °ª¸¸Å ¿É¼ÂÇÑ´Ù. ´Ü, ÁöÁ¤ ȸ¼ö°¡ 2ȸ ÀÌ»óÀ̸é ȸ¼ö¸¦ 2¾¿ °¨¼Ò½ÃÅ°¸é¼ ±× °úÁ¤À» ¹Ýº¹ÇÑ´Ù. ¿©±â¼ ¾Õ¼ ¾ð±ÞÇÑ ÇÔ¼öÀÇ Àç±ÍÀû È£ÃâÀ» »ç¿ëÇÏ¿© °£´ÜÇÏ°Ô ÄÚµùÇÏ¿´´Ù. ¸®½ºÆ® 1ÀÇ draw-mlineÀÌ ±×°ÍÀÌ¸ç ¼öÇàÀÌ °¡´ÉÇÑÁö ½ÃÇèÇØ º¸ÀÚ.
Command: (draw-mline (getpoint) (getpoint) 3 1.0) <= µÎÁ¡À» ¼±ÅÃÇÑ´Ù. (¾Æ¹« ¸Þ½ÃÁöµµ Ãâ·ÂµÇÁö ¾ÊÀ½) ¿©±â¼´Â 3°³¸¦ ÁöÁ¤ÇßÁö¸¸ ȸé»ó¿¡´Â µÎ°³¸¸ ±×·ÁÁú °ÍÀÌ´Ù. ÀÌ°ÍÀº ÇÔ¼ö¸¦ Àç±ÍÀûÀ¸·Î È£ÃâÇÏ¿´±â ¶§¹®¿¡ ÁöÁ¤ ȸ¼ö°¡ Ȧ¼öÀÏ ¶§¿¡ Áß°£¼±À» ±×·ÁÁÖ´Â ±â´ÉÀº ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ÇÔ¼ö¿¡¼ ó¸®Çϵµ·Ï ÇÏ¿´´Ù. ¿ì¼±Àº ±×·¸°Ô ¾Ë°í ´Ù¸¥ ȸ¼ö¸¦ ÁöÁ¤ÇØ º¸°í Á¤»ó ÀÛµ¿ÇÏ´Â Áö¸¦ È®ÀÎÇÏÀÚ. Ç×»ó ÇÔ¼öº°·Î µ¿ÀÛÀ» È®½ÇÇÏ°Ô È®ÀÎÇØ º» ÈÄ¿¡ ´ÙÀ½À¸·Î ³Ñ¾î°¡±â ¹Ù¶õ´Ù. ƯÈ÷, ÇÔ¼ö³»¿¡ Á¶°ÇÀ» ÆÇ´ÜÇÏ´Â ¹®ÀåÀÌ ÀÖÀ» °æ¿ì¿¡´Â ±× Á¶°Ç½ÄÀÌ Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏ´Â Áö¸¦ È®ÀÎÇϱâ À§ÇØ °æ°è°ªÀ» ÀÔ·ÂÇØ º¸±â ¹Ù¶õ´Ù. À§ÀÇ ÇÔ¼öÀÇ °æ¿ì¿¡´Â ÁöÁ¤ ȸ¼ö°¡ 2¹Ì¸¸ÀÌ¸é µ¿ÀÛÇÏÁö ¾Êµµ·Ï µÇ¾î ÀÖÀ¸¹Ç·Î 1À» ÀÔ·ÂÇÏ¿´À»¶§ ½ÇÁ¦·Î µ¿ÀÛÀ» ÇÏÁö ¾Ê´ÂÁö È®ÀÎÇØ º¸ÀÚ. 2.9 ÇÁ·Î±×·¥ÀÇ LOAD ¹× ½ÇÇà À§ÀÇ ³»¿ëÀ» ¸ðµÎ ÀÐ¾î º¸¼Ì´Ù¸é ÀÛ¼ºÇÑ ÇÁ·Î±×·¥À» MLINE.LSP ¶Ç´Â ¸¶À½¿¡ µå´Â À̸§À¸·Î ÀúÀåÇÑ´Ù. ´Ù¸¸, È®ÀåÀÚ´Â LSP¿©¾ß ÇÔÀ» ÀØÁö ¸»ÀÚ. ÀÛ¼ºµÈ AutoLISP ÇÁ·Î±×·¥À» LOADÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
(load "ÇÁ·Î±×·¥¸í") AutoCAD·Î µé¾î°¡¼ LOAD ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÇÁ·Î±×·¥À» ·ÎµåÇÑ´Ù.
Command: (load "MLINE") C:MLINE ÀÌÁ¦ºÎÅÍ´Â MLINE ¸í·ÉÀ» AutoCADÀÇ ´Ù¸¥ ¸í·É¾îµéó·³ »ç¿ëÇÒ ¼ö ÀÖ´Ù. C:MLINE ÇÔ¼ö¿¡¼´Â µÎÁ¡ÀÇ ÀÔ·ÂÀ» ¹Þ°í ÀÔ·ÂµÈ µÎÁ¡°ú Àü¿ª º¯¼ö *COPY*¿Í *OFF*¸¦ ÀÌ¿ëÇÏ¿© draw-mlineÀ» ¼öÇàÇÑ ÈÄ¿¡ *COPY* °ª, Áï ¹Ýº¹ ȸ¼ö°¡ Ȧ¼öÀ̸é ÀÔ·ÂµÈ µÎÁ¡À» Áö³ª´Â Áß°£¼±À» ±×¸®´Â ±â´ÉÀ» ÇÑ´Ù.
Command: MLINE From point: <ÀÓÀÇÀÇ Á¡À» ¼±ÅÃÇÑ´Ù.> To point: <ÀÓÀÇÀÇ Á¡À» ¼±ÅÃÇÑ´Ù.> ÁÖ¾îÁø µÎÁ¡À» Áö³ª´Â ¿É¼ÂµÈ ¼±ÀÌ ¾çÂÊÀ¸·Î 1.0¸¸Å ¶³¾îÁ®¼ ±×·ÁÁö¸é Á¦´ë·Î ¼öÇàµÈ °ÍÀÌ´Ù. ÀÌÁ¦ ±×¿Ü¿¡ Ãß°¡µÈ SETCOPY ¸í·É°ú SETOFF ¸í·ÉÀ» »ç¿ëÇÏ¿© ¹Ýº¹ ȸ¼ö¿Í °£°ÝÀ» ¹Ù²Ù¾î¼ ¼öÇàÇØ º¸ÀÚ. ÀÌ µÎ ¸í·ÉÀº Àü¿ª º¯¼ö·Î ¼³Á¤µÈ *COPY*¿Í *OFF* º¯¼ö°ªÀ» º¯°æÇÏ´Â ±â´ÉÀ» ¼öÇàÇÑ´Ù. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
°ü·Ã ÀÚ·á ![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Last updated 2002-09-06 by choi@moon-sun.com This page has been accessed : ![]() |