DXF를 읽어오는 모듈을 정리

과거 동적배열로 된 변수들을 Generic.List와 Generic.Dictionary로 변경하였다. 파일 읽는 시간이 놀랍게 줄었다.
리스트와 딕셔너리도 마치 동적배열처럼 사용할 수 있다.
[code lang-vb]'옛날 코드
Dim DXFEntities() As SV_DXFEntity
ReDim Preserve DXFEntities(k)
DXFEntities(k) = New SV_DXFEntity[/code]

[code lang-vb]'개체 클래스
Public Class SV_DXFEntity
    Private m_Type As String '자료명
    Private m_CodeValue As Generic.Dictionary(Of Integer, String)
    '
    Public Sub New()
        m_CodeValue = New Generic.Dictionary(Of Integer, String)
    End Sub
    Default Public Property CodeValue(ByVal groupCode As Integer) As String
        Get
            Return m_CodeValue(groupCode)
        End Get
        Set(ByVal value As String)
            m_CodeValue(groupCode) = value
        End Set
    End Property
    Public Property Type() As String
        Get
            Return m_Type
        End Get
        Set(ByVal value As String)
            m_Type = value
        End Set
    End Property
    Public Sub Add(ByVal myCode As Integer, ByVal myValue As String)
        If m_CodeValue.ContainsKey(myCode) Then Exit Sub
        m_CodeValue.Add(myCode, myValue)
    End Sub

End Class[/code]

[code lang-vb]'엔티티를 원소로하는 리스트 선언
Dim DXFEntities As Generic.List(Of SV_DXFEntity)[/code]

Posted by solarview

2008/02/23 04:25 2008/02/23 04:25
, , , , ,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/190

Visual Basic 2005를 사용하다가 "구성 요소 아이콘이 도구 상자에 표시되지 않는" 황당한 경우을겪었다.
해결책은 http://msdn2.microsoft.com/ko-kr/library/ms171843.aspx에 있었다.
그 내용인즉은 다음과 같다.
 Visual Studio에서 ToolboxBitmapAttribute를 사용하여 아이콘을 사용자 지정 구성 요소에 연결할 경우 비트맵은 자동 생성된 구성 요소의 도구 상자에 나타나지 않습니다. 비트맵을 보려면 도구 상자 항목 선택 대화 상자를 사용하여 컨트롤을 다시 로드합니다.
한마디로
메뉴 -> 도구 -> 도구 상자 항목 선택 -> "다시 설정"을 누른다.

Posted by solarview

2008/02/19 13:53 2008/02/19 13:53
Response
No Trackback , a comment
RSS :
http://www.solarview.net/rss/response/163

Structure와 Class

선택사항을 저장하는 구조체를 만들었는데, 원본 구조체의 값이 변경되지 않았다. 구조체를 전달할 때, ByRef를 사용했음에도 불구하고 원본 값이 변경되지 않았다. 그래서 클래스로 변경하니 원본의 값이 변경되었다.
구조체를 사용해서 인자를 전달하면, 원본에는 아무런 변화가 없다.

Posted by solarview

2008/02/19 04:22 2008/02/19 04:22
, , , , ,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/189

북방지시화살표를 추가

화살표도 도면정보와 마찬가지로 변환할 수 있도록 함. 변환에 따른 향을 언제나 정확하게 전달하기 위함임.

Posted by solarview

2008/02/18 10:19 2008/02/18 10:19
,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/188

그림자 추가

그림자는 기본적으로 오블리크 투영(oblique projection)이다.
건물 정보를 oblique projection하면 그림자의 모양이 완성되는 것이다.

Posted by solarview

2008/02/18 09:17 2008/02/18 09:17
,
Response
No Trackback , No Comment
RSS :
http://www.solarview.net/rss/response/187