ID:
PW:

     0 ºÐ
     33 ºÐ

¿£Áö´Ï¾î µ¹Á¾
  dolljong

Áö½ÄÀº °øÀ¯µÇ¾úÀ» ¶§ ±× ÈûÀ» ¹ßÈÖÇÑ´Ù.


Excel VBA, AutoCAD ActiveX ¸Àº¸±â °­ÁÂ(20)

AutoCAD °³Ã¼ÀÇ ±¸¼º

¾îÁ¦´Â AutoCAD°³Ã¼ Áß ¸î°³¸¦ Å×½ºÆ®Çغ¸¾Ò½À´Ï´Ù. Å×½ºÆ®Çغ¼ ¶§ Á÷Á¢½ÇÇàâÀ» »ç¿ëÇϸé Âü ÆíÇÕ´Ï´Ù. subÀ¸·Î ¸¸µé¾î¼­ ÇÏ·Á¸é ¹ø°Å·ÓÁÒ.. ¿À´ÃÀº ÀÌ AutoCADÀÇ °³Ã¼´Â ¾î¶»°Ô ±¸¼ºµÇ¾îÀÖ´ÂÁö ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. AutoCADÀÇ °³Ã¼¿¡ ´ëÇؼ­ °¡Àå Àß ¾Ë·ÁÁÙ¸¸ÇÑ »ç¶÷ÀÌ °ú¿¬ ´©±¼±î¿ä? ¾î¶²ÀÌ°¡ °¡Àå Àß ¾Ë°í ÀÖÀ»±î¿ä? ¹°·Ð.. AutoCAD¸¦ ¸¸µç »ç¶÷µéÀÔ´Ï´Ù. ÇÏÁö¸¸ ±×»ç¶÷µé¿¡°Ô Á÷Á¢ Áú¹®Àº ÇÒ ¼ö ¾ø°í.. °¡Àå ÁÁÀº ¹æ¹ýÀº ±× »ç¶÷µéÀÌ ¸¸µé¾îµÐ helpÆÄÀϵéÀ» µÚÁ®º¸´Â °ÍÀÔ´Ï´Ù. Á¦´Â help´Â ¾î¼¸é ÇÁ·Î±×·¥ ÀÚüº¸´Ù ´õ Áß¿äÇÒÁöµµ ¸ð¸¥´Ù°í »ý°¢ÇÏ´Â »ç¶÷Àä.. ÇÏµå µð½ºÅ© ÇÑÆí¿¡¼­ µ¹¾Æ´Ù´Ï´Â ÇÁ·Î±×·¥ *.exe¸¸ ÀÖ°í ¸Þ´º¾óµµ ¾ø´Â ÇÁ·Î±×·¥Àº ÇÁ·Î±×·¥ÀÌ ¾Æ´Ï¶ó ±×³É ¾²·¹±âÅë¿¡ ºÒ°úÇÑ °ÍÀÌ°ÚÁö¿ä. ±×·¡¼­ Àú´Â ÇÁ·Î±×·¥À» ¸¸µå´Â ½Ã°£º¸´Ù ¸Þ´º¾óÀ» ¸¸µå´Âµ¥ ´õ °øÀ» µéÀÌ´Â °Í °°½À´Ï´Ù.

¾ÏÆ° °¢¼³ÇÏ°í helpÆÄÀÏÀ» µÚÁ®º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ijµå¿¡¼­ help¸Þ´º¸¦ ¼±ÅÃÇϰųª F1À» ´­·¯¼­ help¸¦ ¶ç¿ì¸é ¾Æ·¡¿Í °°Àº Ç׸ñÀÌ ³ª¿Ã°ÍÀÔ´Ï´Ù. ÀÌÁß¿¡¼­ VBA & ActiveX AutomationÀ» ¼±ÅÃÇÕ´Ï´Ù.



AutoCAD¹öÁ¯¿¡ µû¶ó Á¶±Ý¾¿ Â÷ÀÌ°¡ ÀÖÀ» ¼ö ÀÖÁö¸¸ ¾Æ¸¶µµ ºñ½ÁÇÑ ±¸¼ºÀ» °¡Áö°í ÀÖÀ» °ÍÀ̶ó »ý°¢µË´Ï´Ù. VBAÇ׸ñÀ» ¼±ÅÃÇÏ¸é »õ·Î¿î help°¡ ¶ß°ÔµÇ´Âµ¥ ÀÌ°ÍÀº AutoCAD ActiveX»Ó¸¸ ¾Æ´Ï¶ó Visual LISPµµ Æ÷ÇÔÇÏ´Â AutomationÀü¹Ý¿¡ °üÇÑ helpÆÄÀÏÀÎ °Í °°½À´Ï´Ù. ¿©±â¼­ ¿ì¸®°¡ ã¾Æº¸¾Æ¾ß ÇÒ Ç׸ñÀº ¾Æ·¡ ±×¸²Ã³·³ ActiveX & VBA reference¾Æ·¡ÀÇ object modelÀÔ´Ï´Ù.



±×·¯¸é AutoCADÀÇ object¸ðµ¨À» ¸ð¿©ÁÝ´Ï´Ù.



AutoCADÀÇ ¸ðµç °³Ã¼ÀÇ ±¸¼ºÀ» ÇÑ´«À¸·Î º¸¿©ÁÖ´Â È­¸éÀε¥ ±×¸²ÀÌ Á»Ä¿¼­ ²Ë Â÷´Â±º¿ä. Àß º¸ÀÏ·±Áö ¸ð¸£°Ú½À´Ï´Ù. ½ºÅ©·Ñ¹Ù¸¦ ÀÌ¿ëÇؼ­ Çѹø ÂÞ¿í ÈÈ¾î º¸¼¼¿ä.. ¸Ç ¾Æ·¡ÀÇ regend¸¦ ¸ÕÁ®º¸´Â °ÍÀÌ ÁÁÀ» °Í °°½À´Ï´Ù. ¸ð¾ç¿¡ À־ ³×¸ð³­°ÍÀº collectionÀÌ°í Æ®·¢ÇüÀº object¶ó°í µÇ¾îÀÖ½À´Ï´Ù. collectionÀº ¸» ±×´ë·Î ¾î¶² °ÍµéÀÌ ¸ðÀÎ °ÍÀÌ°ÚÁÒ. ¿¹¸¦ µéÀÚ¸é document¶ó´Â ³à¼®ÀÌ Àִ°¡Çϸé documents¶ó´Â ³à¼®ÀÌ ÀÖ½À´Ï´Ù. µÑ´Ù document°°Àºµ¥ Çѳ༮Àº s°¡ ºÙ¾îÀÖ°í ³×¸ð¹Ú½º·Î ½×¿©ÀÖ°í Çѳ༮Àº Æ®·¢¾È¿¡ µé¾î°¡ ÀÖ½À´Ï´Ù. °á±¹ "documents´Â documentÀÇ ÁýÇÕÀÌ´Ù"¶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.

layers¶ó´Â ³à¼®µµ ¸¶Âù°¡Áö·Î layer¸¦ °Å´À¸®°í ÀÖ½À´Ï´Ù. ±×·¸´Ù¸é ÇöÀç ¿­·ÁÀÖ´Â ÆÄÀÏ¿¡ layer°¡ ¸î°³ ÀÖ´ÂÁö¸¦ ¾Ë·Á¸é ¾î¶»°Ô ÇؾßÇÒ±î¿ä? ¿ØÁö count¶ó´Â ¼Ó¼ºÀ» »ç¿ëÇÏ¸é µÉ°Í °°Áö¿ä? ±×·¸´Ù¸é ¾î¶² °³Ã¼¿¡´Ù count¸¦ Àû¿ë½ÃÅ°¸é µÉ±î¿ä? Á¦ÀÏ »óÀ§ °³Ã¼ºÎÅÍ Â÷±ÙÂ÷±Ù µû¶ó°¡º¸¸é.. ÀÏ´Ü getobject(."autocad.application")Àº ´ç¿¬È÷ ÀÖ¾î¾ß°ÙÁö¿ä? ±×´ÙÀ½¿¡ ÇöÀç È°¼ºÈ­µÈ dwgÆÄÀÏÀ» ¼±ÅÃÇؾ߰ÚÁÒ? activedocument·Î¿ä.. ±×·¯¸é getobject(."autocad.application").activedocument ±îÁö µÇ¾ú½À´Ï´Ù. ¿©±â¼­ Àá½Ã À§ÀÇ ±¸¼ºµµ¸¦ º¸µµ·ÏÇÏÁö¿ä. layers collectionÀº ¹Ù·Î document°³Ã¼ ¾Æ·¡¿¡ ÀÖ½À´Ï´Ù. µû¶ó¼­ getobject(."autocad.application").activedocument.layesÇϸé layers collection¿¡ Á¢±ÙÀÌ °¡´ÉÇÏ°ÚÂî¿ä? ±×´ÙÀ½¿¡ ¹Ù·Î count ¼Ó¼ºÀ» »ç¿ëÇϸé ÇöÀç ¿­·ÁÀÖ´Â ÆÄÀÏ¿¡ Á¤ÀÇµÈ layerÀÇ °¹¼ö¸¦ ¾Ë¾Æ³¾ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¾Æ·¡ ±×¸²Ã³·³ ¸»ÀÌÁÒ..




±×·¸´Ù¸é ù¹ø° ·¹À̾îÀÇ À̸§Àº ¹«¾ùÀϱî¿ä? name¼Ó¼ºÀ» ÀÌ¿ëÇÏ¸é µÉ °Í °°´Ù´Â ´À³¦ÀÌ ÆÅ! ¿À½ÃÁÒ? ±×·¸´Ù¸é °³Ã¼°¡ ¹®Á¦Àε¥.. layers collection Áß¿¡¼­ ù¹ø° layer¸¦ Âó¾î³»¾ß Çϴµ¥... ¾î¶»°Ô ÇϸéµÉ±î¿ä? ¾ó¸¶Àü¿¡ itemÀ̶õ ¸Þ¼­µå¿¡ ´ëÇؼ­ ¸»¾¸µå¸° ÀûÀÌ ÀÖ¾úÁö¿ä? ¿©·¯°³ÀÇ °³Ã¼Áß Æ¯Á¤¹ø° °³Ã¼¸¦ µ¹·ÁÁÖ´Â ¸Þ¼­µåÀÔ´Ï´Ù. layers collection¿¡µµ ¾î±è¾øÀÌ ÀÌ item¸Þ¼­µå¸¦ Áö¿øÇÏ°í ÀÖ½À´Ï´Ù. layers collection¸¦ ¸¶¿ì½º·Î Ŭ¸¯Çغ¸¸é layer collection¿¡ ´ëÇÑ µµ¿ò¸»À» º¼ ¼ö Àִµ¥, item¸Þ¼­µå°¡ ÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. µµ¿ò¸»À» Çѹø º¸µµ·ÏÇϱ¸¿ä. ÇöÀç ¿­·ÁÀÖ´Â dwgÆÄÀÏ¿¡ Á¤ÀÇµÈ layerÁß ´Ù¼¸¹ø° layerÀÇ À̸§Àº ¾Æ·¡¿Í °°ÀÌ È®ÀÎ ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.



basic¿¡¼­´Â ±âº»ÀûÀ¸·Î ù¹ø° ¿ä¼Ò´Â 0ÀÔ´Ï´Ù. Áï ù¹ø° ¿ä¼Ò´Â layers.item(1)À¸·Î Á¢±ÙÇÏ´Â°Ô ¾Æ´Ï¶ó layers.item(0)À¸·Î Á¢±ÙÇÏÁÒ. ±×¸®°í itemÀ̶õ ¸Þ¼­µå ´ë½Å¿¡ layers(0)°ú °°ÀÌ Á÷Á¢ Á¢±Ùµµ °¡´ÉÇÕ´Ï´Ù. layers(0)°ú layers.item(0)Àº °°Àº ¶æÀÔ´Ï´Ù. ¾Æ·¡±×¸²Ã³·³ ¸»ÀÌÁÒ.



¿À´ÃÀº AutoCAD °³Ã¼ÀÇ ±¸¼º¿¡ ´ëÇؼ­ ¾Ë¾Æº¸¾Ò½À´Ï´Ù. ³»ÀϺÎÅÍ´Â »õ·Î¿î ¿£Æ¼Æ¼¸¦ ¸¸µé°í ¼öÁ¤ÇÏ´Â º»°ÝÀûÀÎ AutoCAD Activex·Î µé¾î°¡µµ·Ï ÇÏ°Ú½À´Ï´Ù.

[ÀÌÀü °­ÁÂ]     [´ÙÀ½ °­ÁÂ]


dolljong@gmail.com