1. ¼± ±×¸®±â [VBA]


¿©±â¼­´Â ¼± ±×¸®±âÀÇ VBA ¹öÁ¯À» ¸¸µé¸é¼­ VB¿Í VBAÀÇ Á¦ÀÛ»óÀÇ Â÷ÀÌÁ¡À» »ìÆ캸°Ú½À´Ï´Ù.

AutoCAD¸¦ À§ÇÑ VBA ÇÁ·Î±×·¥ Á¦ÀÛ °úÁ¤Àº ´ÙÀ½°ú °°½À´Ï´Ù.

1) AutoCAD¸¦ ½ÇÇàÇÑ ÈÄ VBAIDE¸¦ ½ÇÇàÇÕ´Ï´Ù.
2) View ¸Þ´ºÀÇ Code(F7)¸¦ ½ÇÇàÇÕ´Ï´Ù.
3) VB¿Í ¸¶Âù°¡Áö·Î ¸ðµâÀÇ ¸Ç óÀ½¿¡ ´ÙÀ½°ú °°Àº ¼±¾ð¹®À» ³Ö¾îµÓ´Ï´Ù.

Option Explicit

4) ¸¶Âù°¡Áö·Î AutoCAD¿Í ÇöÀç »ç¿ëÁßÀÎ µµ¸é¿¡ ´ëÇÑ °´Ã¼¸¦ ÀúÀåÇÏ°ÔµÉ º¯¼ö¸¦ ¼±¾ðÇÕ´Ï´Ù.

Public objAcApp As AcadApplication
Public objAcDoc As AcadDocument

5) Insert ¸Þ´ºÀÇ Procedure¸¦ ½ÇÇàÇÕ´Ï´Ù. Add Procedure ´ëÈ­»óÀÚ¿¡¼­ Draw1Line ÇÔ¼ö¸íÀ» ÀÔ·ÂÇÏ°í OK¸¦ ¼±ÅÃÇÕ´Ï´Ù.
6) ¿ì¼±, VB¿¡¼­ Á¦ÀÛÇß´ø Draw1Line ÇÔ¼öÀÇ ³»¿ëÀ» º¹»çÇÏ¿© °¡Á®¿Â ÈÄ ´ÙÀ½ µÎ ¹®ÀåÀ» Ãß°¡ÇÏ¿© ÇÔ¼ö¸¦ ¿Ï¼ºÇÕ´Ï´Ù.

  Set objAcApp = ThisDrawing.Application
  Set objAcDoc = ThisDrawing

ÀÌ·± ¹æ½ÄÀ» »ç¿ëÇÏ¿© VB¿Í VBA¿¡¼­ »ç¿ëµÇ´Â Äڵ带 ¼Õ½±°Ô º¯È¯ÇÒ ¼ö ÀÖ½À´Ï´Ù.

' »ç¿ëÀÚ·Î ºÎÅÍ ½ÃÀÛÁ¡°ú ³¡Á¡À» ÀÔ·Â¹Þ¾Æ ¼±ºÐÀ» ±×¸°´Ù.
Public Sub Draw1Line()
  
  Set objAcApp = ThisDrawing.Application
  Set objAcDoc = ThisDrawing
  
  Dim objLine As AcadLine
  Dim vsp, vep As Variant

  ' ½ÃÀÛÁ¡À» ÀԷ¹޴´Ù.
  vsp = objAcDoc.Utility.GetPoint(, "½ÃÀÛÁ¡: ")
  ' ³¡Á¡À» ÀԷ¹޴´Ù.
  vep = objAcDoc.Utility.GetPoint(vsp, "³¡Á¡: ")
  ' ¼±À» ±×¸°´Ù.
  Set objLine = objAcDoc.ModelSpace.AddLine(vsp, vep)
  ' È­¸éÀ» °»½ÅÇÑ´Ù.
  objAcApp.Update

End Sub

7) Run ¸Þ´ºÀÇ Run Sub/UserForm(F5)À» ½ÇÇàÇÏ¿© Àß µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇØ º¾´Ï´Ù.



°ü·Ã ÀÚ·á
disk [1] ¼± ±×¸®±â [VBA] (14.5KB)

Last updated 2002-09-07 by choi@moon-sun.com
Home