2. ·¹ÀÌ¾î º¯°æ (ÇöÀç ·¹À̾î·Î) [VB]




1. Form_Load

°øÅë·çƾ¿¡ ¼³¸íµÈ ÇÁ·Î±×·¥ ÃʱâÈ­ °úÁ¤À» Form ·Îµå½Ã¿¡ ¼öÇàÇÕ´Ï´Ù.
±×¸®°í, À§ ±×¸²°ú °°ÀÌ ÇöÀç ·¹À̾ Ç¥½ÃÇØ ÁÝ´Ï´Ù.

Private Sub Form_Load()

  ' ÇÁ·Î±×·¥ ÃʱâÈ­
  InitApplication
  ' ÇöÀç ·¹À̾î Ç¥½Ã
  ShowCurrentLayer

End Sub

2. ShowCurrentLayer

¾Æ·¡¿Í °°ÀÌ µµ¸éÀ¸·Î ºÎÅÍ ÇöÀç ·¹À̾î¸íÀ» °¡Á®¿Í¼­ TextBox(txtLayer)¿¡ Ç¥½ÃÇÕ´Ï´Ù.

' ÇöÀç ·¹À̾ ¶óº§¿¡ Ç¥½ÃÇÑ´Ù.
Private Sub ShowCurrentLayer()

  ' CLAYER °ªÀ¸·Î ·¹À̾î Ç¥½Ã
  txtLayer.Text = objAcDoc.GetVariable("CLAYER")

End Sub 

3. ChangeLayer

strLayer¶ó´Â Àμö¸¦ ÀÌ¿ëÇÏ¿© ·¹ÀÌ¾î ¸íÀ» ÀÔ·Â¹Þ¾Æ ¼±ÅÃÇÑ ¿£Æ¼Æ¼µéÀÇ ·¹À̾ º¯°æÇÑ´Ù.

' »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ¿£Æ¼Æ¼µéÀ» ÁöÁ¤ÇÑ ·¹À̾î·Î º¯°æÇÑ´Ù.
Private Sub ChangeLayer(strLayer As String)

  Dim objSS As AcadSelectionSet
  Dim objEnt As AcadEntity
  Dim nCount, i As Integer

  ' ·¹À̾ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ½ÇÇàÁ¾·á
  If strLayer = "" Then
    MsgBox "·¹À̾ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù!"
  Exit Sub
  End If

  ' ¿£Æ¼Æ¼¸¦ ¼±ÅÃÇÑ´Ù.
  Set objSS = objAcDoc.ActiveSelectionSet
  ' ÇöÀç ¼±Åà »èÁ¦
  objSS.Clear
  ' È­¸é»ó¿¡¼­ ¼±ÅÃ
  objSS.SelectOnScreen

  ' ¿£Æ¼Æ¼ °³¼ö È®ÀÎ
  nCount = objSS.Count
  ' ¿£Æ¼Æ¼ °³¼ö¸¸Å­ ¹Ýº¹
  For i = 0 To nCount - 1
  ' i¹ø° ¿£Æ¼Æ¼ ¾ò±â
  Set objEnt = objSS.Item(i)
  ' ÇØ´ç ¿£Æ¼Æ¼ ·¹ÀÌ¾î º¯°æ
  objEnt.Layer = strLayer
  Next

  ' È­¸é °»½Å
  objAcApp.Update

End Sub

4. cmdSelect_Click

¿£Æ¼Æ¼ ¼±Åà ¹öÆ°¿¡ ´ëÇÑ Ã³¸®¸¦ ¼öÇàÇÕ´Ï´Ù.

Private Sub cmdSelect_Click()

  Hide
  GetActiveDocument
  ' ÇöÀç ·¹À̾î·Î º¯°æ
  ChangeLayer (txtLayer.Text)
  Show

End Sub

5. cmdExit_Click

Á¾·á ¹öÆ°¿¡ ´ëÇÑ Ã³¸®¸¦ ¼öÇàÇÕ´Ï´Ù.

Private Sub cmdExit_Click()

  ' ÇÁ·Î±×·¥ Á¾·á
  Unload Me

End Sub



°ü·Ã ÀÚ·á
disk [1] ·¹ÀÌ¾î º¯°æ (ÇöÀç ·¹À̾î·Î) [VB & VBA] (18KB)

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