ID:
PW:

     0 ºÐ
     27 ºÐ

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

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


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

AutoCAD °³Ã¼ ¸Àº¸±â

¾îÁ¦±îÁö ÇÑ AutoCAD¿ÍÀÇ ¿¬°áÁß¿¡¼­ °¡ÀåÁß¿äÇÑ ³»¿ëÀº ¿ª½Ã set acad = getobject(,"autocad.application") ¹®ÀÔ´Ï´Ù. acad¶ó´Â º¯¼ö(objectÇü)¿¡ autoCAD¸¦ Àâ¾Æ ³Ö´Â ¹®ÀåÀÌ¿´Áö¿ä. ÀÌÁ¦ acad¶ó´Â ³à¼®Àº °ð AutoCAD°¡ µÇ´Â °ÍÀÔ´Ï´Ù.

ÇÁ·Î±×·¥À» ¸¸µé¾îº¸±â Àü¿¡ Á÷Á¢½ÇÇàâ¿¡¼­ ÀÌ°Í Àú°Í Å×½ºÆ®¸¦ Çغ¸µµ·ÏÇÏÁÒ. ¿ª½Ã ÇÁ·Î±×·¥À» ¸¸µå´Â °Íº¸´Ù °£´ÜÇÏ°Ô Å×½ºÆ®ÇÏ´Â °ÍÀº Á÷Á¢½ÇÇàâÀÌ ÃÖ°íÀÔ´Ï´Ù. Á÷Á¢½ÇÇàâÀ» ¶ç¿ì°í ¾Æ·¡ ±×¸²°ú °°ÀÌ ÀÔ·ÂÇغ¸¼¼¿ä. ¾î¶² °á°ú°¡ ³ª¿À´ÂÁö¿ä?



¹°·Ð AutoCAD°¡ ½ÇÇàµÇ¾îÀÖ´Â »óÅ¿¡¼­ Çغ¸¾Æ¾ß°ÚÁö¿ä? Á¤»óÀûÀÎ µ¿ÀÛÀº ¾Æ·¡±×¸²Ã³·³ ³ª¿ÔÀ» °ÍÀÔ´Ï´Ù.



¿ì¸®°¡ ÀÔ·ÂÇÑ ³»¿ë¿¡ ´ëÇؼ­ ¶â¾îº¸¸é.. ?getobject(,"AutoCAD.application").name Àε¥.. ?´Â print¹®ÀÔ´Ï´Ù. ¸¶Áö¸·¿¡ nameÀ̶ó´Â °ÍÀº ¾Æ¹«·¡µµ nameÀ̶ó´Â ¼Ó¼ºÀÌ ÀÖ´Â ¸ð¾çÀ̳׿ä. getobject·Î AutoCAD¸¦ Àâ¾Æ¼­ ±× À̸§À» º¸¿©ÁÖ¶ó´Â °ÍÀ̾úÁÒ. °á±¹ À̸§Àº AutoCAD¶ó°í °á°ú¸¦ º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.

¸î°¡Áö ´õ Çغ¸µµ·Ï ÇÒ±î¿ä? ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇغ¾´Ï´Ù.



¾î¶²°¡¿ä? ´ëÃæÀº °¨ÀÌ ¿ÀÁö¿ä? Excel¿¡¼­ activesheet°¡ ÀÖµíÀÌ AutoCAD¿¡´Â activedocument¶ó´Â ¼Ó¼ºÀÌ ÀÖ´Â ¸ð¾çÀÌÁö¿ä? ±×¸®°í ±× document¿¡´Â nameÀ̶õ ¼Ó¼ºÀÌ Àִ°¡º¾´Ï´Ù. °á±¹ getobject(,"AutoCAD.applicaton").activedocument ´Â drawing1.dwg¶ó´Â ÇöÀç È°¼ºÈ­ µÇ¾îÀÖ´Â dwgÆÄÀÏÀ» °¡¸£Å²´Ù´Â °ÍÀ» ¾Ë¼ö ÀÖ½À´Ï´Ù. activedocument°¡ ÇöÀç ÆÄÀÏÀ̶ó¸é ±×³à¼® ¾Æ·¡¿¡ ÀÖ´Â ¸ðµç objectµé¿¡ Á¢±ÙÇÒ ¼ö ÀÖÀ» °Í °°Àº ´À³¦ÀÌ µì´Ï´Ù.

°£´ÜÇÏ°Ô Å×½ºÆ®Çغ¸µµ·ÏÇÒ±î¿ä? ACAD¿¡¼­ lineÇÑ°³¿Í circleÇÑ°³¿Í textÇÑ°³¸¦ ±×·Áº¸µµ·ÏÇÏ°Ú½À´Ï´Ù. Àú´Â ¾Æ·¡¿Í °°Àº ±×¸²À» ±×·Áº¸¾Ò½À´Ï´Ù.



±×¸®°í Á÷Á¢½ÇÇàâ¿¡¼­ ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇغ¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.



modelspace¶ó´Â ³à¼®ÀÌ Á» »ý¼ÒÇÏÁö¿ä? ijµå¸¦ óÀ½ ¹è¿ï¶§¸¦ ¶°¿Ã¸®½Ã¸é ijµå¿¡´Â model space¿Í paper space°¡ ÀÖ´Ù´Â °ÍÀÌ ¾î·ÅDzÀÌ ±â¾ï³ª½Ç °ÍÀÔ´Ï´Ù. ±â¾ïÀÌ ¾È³ªµµ ±¦Âú±¸¿ä. model space¿¡ ±×¸° µµ¸éÀ» paper space¿¡ ¿øÇÏ´Â view·Î Àç ¹èÄ¡ÇÒ ¼ö ÀÖÁö¿ä? ¿ì¸®´Â ´ëºÎºÐ modelspace¿¡ ±×¸²À» ±×¸³´Ï´Ù. °á±¹ modelspace´Â drawing1.dwg¶õ À̸§À» °¡Áø activedocument¾Æ·¡¿¡ ÀÖ´Â °³Ã¼¶ó´Â °ÍÀ» ÁüÀÛÇÏ½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ´ëºÎºÐÀÇ objectµéÀº ÀÌ ¾Æ·¡¿¡ ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ modelspace¿¡ ÀÖ´Â entityÀÇ °¹¼ö°¡ ¸î°³Àϱî? ¶ó°í ¹°¾îº¸´Â ¹®ÀåÀÌ ¹Ù·Î À§¿¡¼­ ÀÔ·ÂÇÑ ?getobject(,"autocad.application").activedocument.modelspace.count ÀÎ °ÍÀÔ´Ï´Ù. count¶õ ¼Ó¼ºÀº ¾ÈºÁµµ ºñµð¿ÀÁÒ?

ÀÌÁ¦ ¾î´ÀÁ¤µµ autocadÀÇ object¿¡ Á¢±ÙÇÏ´Â ¹æ¹ýÀ» ¾Ë°Ô µÇ¾ú½À´Ï´Ù. µüÇÑ°¡Áö¸¸ ¿¬½ÀÇغ¸±â·Î ÇÏ°Ú½À´Ï´Ù. À̹ø¿¡´Â itemÀ̶õ ¸Þ¼­µå¸¦ »ç¿ëÇغ¸µµ·Ï ÇÏ°Ù½À´Ï´Ù. itemÀ̶õ ¸Þ¼­µå´Â ¾î´À objectÀÇ ÇÏÀ§ object¿¡ Á¢±ÙÇÏ´Â ¹æ¹ýÀε¥ ±× ¼ø¹øÀ» ÀÌ¿ëÇؼ­ Á¢±ÙÇÕ´Ï´Ù. ¾Õ¿¡¼­ ÀÔ·ÂÇÑ ¹®ÀåÀ» ´ÙÀ½°ú °°ÀÌ °íÄ¡Ãļ­ ?getobject(,"autocad.application").activedocument.modelspace.item(0).objectnameÀ̶ó°í ÀÔ·ÂÇϸé.. ´ÙÀ½±×¸²°ú °°ÀÌ modelspace¾È¿¡ Àִ ù¹ø° objectÀÇ À̸§À» º¸¿©ÁÝ´Ï´Ù. item¸Þ¼­µåÀÇ ±â´ÉÀ» ´ëÃæ ¾Æ½Ã°ÚÁÒ?



ÀÌÁ¦ modelspace¿¡ ¼¼°³ÀÇ entity°¡ ÀÖ´Ù´Â °ÍÀ» ¾Ë¾Ò°í item¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© °¢ object¿¡ Á¢±ÙÇÏ´Â ¹æ¹ýÀ» ¾Ë¾ÒÀ¸´Ï for¹®À» ÀÌ¿ëÇÏ¿© °¢ entityÀÇ À̸§À» Ãâ·ÂÇØÁÖ´Â °£´ÜÇÑ ÇÁ·Î±×·¥À» ¸¸µé¾îº¼±î¿ä? sub·Î ¸¶µéÁö¸»°í Á÷Á¢½ÇÇàâ¿¡¼­ Çغ¸µµ·Ï ÇÏÁö¿ä. ¾Æ·¡±×¸²ÀÇ Ã¹ÁÙ°ú °°ÀÌ ÀÔ·ÂÇÏ°í enter¸¦ Ä¡¸é modelspace¿¡ ÀÖ´Â 3°³ entityÀÇ À̸§µéÀ» º¸¿©ÁÝ´Ï´Ù.


VB¿¡¼­ :´Â ¿©·¯ÁÙÀ» ÇÑÁÙ¿¡ Ç¥½ÃÇÒ¶§ ÁÙÀ» ±¸ºÐÇÏ´Â ±¸ºÐÀÚÀÔ´Ï´Ù. Á÷Á¢½ÇÇàâ¿¡¼­´Â ÇÑÁÙ¹Û¿¡ ÀÔ·Â ¸øÇϱ⠶§¹®¿¡ ±¸ºÐÀÚ·Î ±¸ºÐÇؼ­ ¼¼ÁÙÀ» ÀÔ·ÂÇÑ °ÍÀÔ´Ï´Ù.

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

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


dolljong@gmail.com