3. ·¹ÀÌ¾î º¯°æ (¼±ÅÃµÈ ·¹À̾î·Î) [VB]




1. Form_Load

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

Private Sub Form_Load()

  ' ÇÁ·Î±×·¥ ÃʱâÈ­
  InitApplication
  ' ÇöÀç ·¹ÀÌ¾î ¸®½ºÆ® Ç¥½Ã
  ShowLayerList cmbLayer

End Sub

2. ShowLayerList

¾Æ·¡¿Í °°ÀÌ µµ¸éÀ¸·Î ºÎÅÍ ·¹ÀÌ¾î ¸®½ºÆ®¸¦ °¡Á®¿Í¼­ ÁöÁ¤ÇÑ ComboBox¿¡ Ç¥½ÃÇÕ´Ï´Ù.

' ·¹ÀÌ¾î ¸®½ºÆ®¸¦ ÄÞº¸¿¡ Ç¥½ÃÇÑ´Ù.
Private Sub ShowLayerList(ctrlCmb As ComboBox)

  Dim cnt, i

  ' ÇöÀç ÄÞº¸ ³»¿ëÀ» ¸ðµÎ »èÁ¦ÇÑ´Ù.
  ctrlCmb.Clear

  ' ·¹ÀÌ¾î °³¼ö¸¦ ¾ò´Â´Ù.
  cnt = objAcDoc.Layers.Count
  For i = 0 To cnt - 1
    ' ·¹À̾î À̸§À» ÄÞº¸¿¡ Ãß°¡ÇÑ´Ù.
    ctrlCmb.AddItem (objAcDoc.Layers(i).Name)
  Next

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. cmdLayer_Click

·¹ÀÌ¾î ¹öÆ°¿¡ ´ëÇÑ Ã³¸®¸¦ ¼öÇàÇÕ´Ï´Ù. ·¹ÀÌ¾î ¸®½ºÆ®¸¦ ComboBox(cmbLayer)¿¡ Ç¥½ÃÇØ ÁÝ´Ï´Ù.

Private Sub cmdLayer_Click()

  GetActiveDocument
  ' ÇöÀç ·¹ÀÌ¾î ¸®½ºÆ® Ç¥½Ã
  ShowLayerList cmbLayer

End Sub

5. cmdSelect_Click

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

Private Sub cmdSelect_Click()

  Hide
  GetActiveDocument
  ' ¼±ÅÃµÈ ·¹À̾î·Î º¯°æ
  ChangeLayer (cmbLayer.Text)
  Show

End Sub

6. cmdExit_Click

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

Private Sub cmdExit_Click()

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

End Sub



°ü·Ã ÀÚ·á
disk [1] ·¹ÀÌ¾î º¯°æ (¼±ÅÃµÈ ·¹À̾î·Î) [VB & VBA] (21KB)

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