home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Houseplan Collection
/
HRCD2005.ISO
/
data1.cab
/
Zusatz
/
3DS
/
DATA2.Z
/
Iter.frm
< prev
next >
Wrap
Text File
|
1999-11-24
|
115KB
|
2,618 lines
VERSION 5.00
Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0"; "Comctl32.ocx"
Begin VB.Form Iteratoren
AutoRedraw = -1 'True
Caption = "ArCon ActiveX-Demo: Ausgabe verfⁿgbarer Informationen (Auszug)"
ClientHeight = 7590
ClientLeft = 1140
ClientTop = 1515
ClientWidth = 9105
Icon = "Iter.frx":0000
LinkTopic = "Form1"
PaletteMode = 1 'UseZOrder
ScaleHeight = 7590
ScaleWidth = 9105
Begin VB.OptionButton OptionMax
Caption = "maximal"
Height = 195
Left = 7050
TabIndex = 7
Top = 2925
Width = 1050
End
Begin VB.OptionButton OptionHeigh
Caption = "hoch"
Height = 195
Left = 7050
TabIndex = 6
Top = 2610
Width = 1050
End
Begin VB.OptionButton OptionMedium
Caption = "mittel"
Height = 195
Left = 7050
TabIndex = 5
Top = 2310
Width = 1050
End
Begin VB.OptionButton OptionLow
Caption = "niedrig"
Height = 195
Left = 7050
TabIndex = 4
Top = 1995
Width = 1050
End
Begin VB.CommandButton Beenden
Caption = "Beenden"
Height = 495
Left = 6960
TabIndex = 2
Top = 6960
Width = 1995
End
Begin VB.CommandButton Aktualisieren
Caption = "Daten von Arcon lesen!"
Height = 495
Left = 6960
TabIndex = 1
Top = 6060
Width = 1995
End
Begin VB.Frame Frame1
Caption = "Informationstiefe"
Height = 1500
Left = 6930
TabIndex = 8
Top = 1740
Width = 2115
End
Begin ComctlLib.TreeView TreeView
Height = 7380
Left = 75
TabIndex = 0
Top = 105
Width = 6735
_ExtentX = 11880
_ExtentY = 13018
_Version = 327682
Indentation = 176
Style = 7
Appearance = 1
End
Begin VB.Frame Frame2
Caption = "Ausgabe von"
Height = 1575
Left = 6915
TabIndex = 9
Top = 75
Width = 2145
Begin VB.CheckBox UseObjects
Caption = "M÷blierung/Objekten"
Height = 315
Left = 60
TabIndex = 13
Top = 1155
Width = 1980
End
Begin VB.CheckBox UseDefaults
Caption = "Standardeinstellungen"
Height = 195
Left = 60
TabIndex = 12
Top = 870
Width = 1980
End
Begin VB.CheckBox UseProps
Caption = "Eigenschaften"
Height = 195
Left = 45
TabIndex = 11
Top = 585
Width = 1980
End
Begin VB.CheckBox UseLists
Caption = "Auflistungen"
Height = 195
Left = 60
TabIndex = 10
Top = 300
Width = 1980
End
End
Begin VB.Label Label1
Caption = "Daten werden gelesen ..."
BeginProperty Font
Name = "Times New Roman"
Size = 24
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 1455
Left = 1080
TabIndex = 3
Top = 2160
Width = 5775
End
End
Attribute VB_Name = "Iteratoren"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
' MS Visual Basic Demo-Programm zur Demonstration der ActiveX-FΣhigkeit
' von ArCon(+).
'
' Der abgebildete Code dient lediglich Demonstrationszwecken.
' Es wird keinerlei Garantie fⁿr die Richtigkeit und/oder
' FunktionsfΣhigkeit ⁿbernommen. Bei Fragen wenden Sie sich bitte an
'
' mb-Programme
' Software im Bauwesen GmbH
' Hermannstra▀e 1
' D-31785 Hameln
' e-mail: arcon@mb-software.de
' Internet http://www.mb-software.de
Option Explicit
Dim AktIndex As Integer
Dim MaxRekLevel As Integer
Dim RekLevel As Integer
Dim ArConEXE As ArCon.ArCon
Private Sub AddPropToTree(ByVal s As String, ByVal Parent As Integer)
TreeView.Nodes.Add "S" & CStr(Parent), tvwChild, , s
End Sub
Private Sub AddChildToTree(ByVal s As String, ByVal Parent As Integer, ByVal Child As Integer)
TreeView.Nodes.Add "S" & CStr(Parent), tvwChild, "S" & CStr(Child), s
AktIndex = AktIndex + 1
End Sub
Private Sub OnePersonToTree(s As String, pers As ArCon.Person, ParentIndex As Integer)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not pers Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Name = " & pers.Name, theindex
AddPropToTree "Titel = " & pers.Title, theindex
AddPropToTree "Adresse 1 = " & pers.Address1, theindex
AddPropToTree "Adresse 2 = " & pers.Address2, theindex
AddPropToTree "Adresse 3 = " & pers.Address3, theindex
AddPropToTree "Zusatz 1 = " & pers.Info1, theindex
AddPropToTree "Zusatz 2 = " & pers.Info2, theindex
AddPropToTree "Zusatz 3 = " & pers.Info3, theindex
AddPropToTree "Bemerkung = " & pers.Remark, theindex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OnePolWithHolesToTree(s As String, contur As ArCon.Poly2DWithHoles, ParentIndex As Integer)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not contur Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
Dim i As Integer
i = 1
AllPointsToTree "Aussenkontur", contur.contur, theindex, True
Dim pol As ArCon.Point2DCollection
For Each pol In contur
AllPointsToTree "Loch " & i, pol, theindex, True
i = i + 1
Next
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneShapeToTree(s As String, shape As ArCon.Poly2DWithHolesCollection, ParentIndex As Integer)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not shape Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
Dim i As Integer
i = 1
Dim pol As ArCon.Poly2DWithHoles
For Each pol In shape
OnePolWithHolesToTree "Kontur " & i, pol, theindex
i = i + 1
Next
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OnePlatformToTree(s As String, pfm As ArCon.Platform, ParentIndex As Integer)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not pfm Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Randfarbe = " & pfm.BorderColor, theindex
AddPropToTree "Art der 2D Randdarstellung = " & pfm.BorderStyle, theindex
AddPropToTree "Winkel der SeitenschrΣgen = " & pfm.FaceAngle, theindex
AddPropToTree "Musterfarbe in 2D = " & pfm.FillColor, theindex
AddPropToTree "Schraffur = " & pfm.FillStyle, theindex
AddPropToTree "H÷he = " & pfm.Height, theindex
AddPropToTree "H÷he ⁿber dem Fu▀boden = " & pfm.HeightAboveGround, theindex
AddPropToTree "Art der RandschrΣge = " & pfm.Inclination, theindex
AddPropToTree "Auch L÷cher schrΣge = " & pfm.InclineHoles, theindex
AddPropToTree "Faktor fⁿr die WandschrΣge = " & pfm.ScaleFactor, theindex
Dim minX As Single, minY As Single, maxX As Single, maxY As Single
pfm.GetBoundingBox minX, minY, maxX, maxY
AddPropToTree "Bounding-Box = (" & minX & "/" & minY & ") - (" & maxX & "/" & maxY & ")", theindex
OneShapeToTree "Polygon(e) des Podestes", pfm.GetShape(0.1, 0.2), theindex
OneStoryToTree "Stockwerk, in dem das Podest steht", pfm.story, theindex, False
OneTextureToTree "Bodentextur", pfm.texture(AC_SHAPETEX_BOTTOM), theindex, True
OneTextureToTree "Textur des inneren Randes", pfm.texture(AC_SHAPETEX_INNER_FACE), theindex, True
OneTextureToTree "Textur des Σu▀eren Randes", pfm.texture(AC_SHAPETEX_OUTER_FACE), theindex, True
OneTextureToTree "Deckeltextur", pfm.texture(AC_SHAPETEX_TOP), theindex, True
End If
RekLevel = RekLevel - 1
End Sub
Private Sub TheProjectToTree(s As String, project As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not project Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Hintergrundfarbe bei Nachtsicht = " & project.BackColorNight, theindex
AddPropToTree "Hintergrundfarbe bei Tag/zeitabhΣngiger Sicht = " & project.BackColorDay, theindex
AddPropToTree "Ma▀einheit (m, cm, yard...) = " & project.Unit, theindex
AddPropToTree "Ma▀stab = " & project.Scale, theindex
AddPropToTree "ausgewΣhlte Papiergr÷▀e = " & project.PaperSize, theindex
AddPropToTree "Welche Druckerpapiergr÷▀e, wenn ausgewΣhle Papiergr÷▀e 'vom Drucker vorgegeben' = " & project.PaperSizePrinter, theindex
AddPropToTree "Name des Papierformats = " & project.PaperSizeName, theindex
AddPropToTree "Papierbreite = " & project.PaperWidth, theindex
AddPropToTree "Papierh÷he = " & project.PaperHeight, theindex
AddPropToTree "Name des Projektes inkl. Pfad = " & project.Name, theindex
AddPropToTree "Dateiname ohne Endung und Pfad bzw 'Neues Projekt' = " & project.ShortName, theindex
AddPropToTree "Ursprung des Koordinatensystems (x/y/z) = (" & project.OriginX & "/" & project.OriginY & "/" & project.OriginZ & ")", theindex
AddPropToTree "Drehung des Koordinatensystems = " & project.WorldRotation * 180 / 3.1415926 & " Grad", theindex
OnePersonToTree "Projektadresse", ArConEXE.GetPerson(AC_PERSON_PROJEKT, False), theindex
OnePersonToTree "Bauher/in", ArConEXE.GetPerson(AC_PERSON_BAUFRAU, False), theindex
OnePersonToTree "Architek/in", ArConEXE.GetPerson(AC_PERSON_ARCHITEKTIN, False), theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneBuildingToTree(s As String, building As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not building Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AllStoriesToTree "Liste der Geschosse des GebΣudes", building, theindex, recurse
AllDwellingsToTree "Liste der Wohnungen", building.Dwellings, theindex, recurse
AddPropToTree "Brutto-Rauminhalt = " & building.Volume, theindex
AddPropToTree "FlΣcheninhalt = " & building.area, theindex
AddPropToTree "Name = " & building.Name, theindex
AddPropToTree "Bemerkung = " & building.Remark, theindex
AddPropToTree "Rotation des GebΣudes = " & building.Rotation, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneFontToTree(s As String, font As Object, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not font Is Nothing Then
Dim theindex As Integer
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Name = " & font.Name, theindex
AddPropToTree "Gr÷▀e = " & font.Size, theindex
AddPropToTree "Fett = " & font.Bold, theindex
AddPropToTree "Kursiv = " & font.Italic, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OnePolygonToTree(s As String, polygon As Object, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not polygon Is Nothing Then
Dim theindex As Integer
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AllPointsToTree "Liste mit Punkten", polygon.Points, theindex, recurse
AddPropToTree "Darstellungsart der Linie = " & polygon.BorderStyle, theindex
AddPropToTree "Farbe der Linie = " & polygon.BorderColor, theindex
AddPropToTree "Ist das Polygon selektierbar = " & polygon.Selectable, theindex
AddPropToTree "Ist das Polygon selektiert = " & polygon.Selected, theindex
AddPropToTree "Ist das Polygon sichtbar = " & polygon.Visible, theindex
'methods
' "Zeichne das Polygon neu")] void Refresh();
' "Positioniere das Polygon neu in Z-Richtung")] void ZOrder(short pos)
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneHoleToTree(s As String, hole As ArCon.hole, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not hole Is Nothing Then
Dim theindex As Integer
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OnePolygonToTree "Das Polygon des Wandloches (nicht fⁿr handverlegte L÷cher!) ", hole.polygon, theindex, False
OneTextureToTree "Textur des Wandloches = ", hole.texture, theindex, False
AddPropToTree "Linke Seite bis zur Decke = " & hole.LeftToTop, theindex
AddPropToTree "Rechte Seite bis zur Decke = " & hole.RightToTop, theindex
AddPropToTree "Breite des Wandlochs = " & hole.Width, theindex
AddPropToTree "Der Wert 'lu' im Dialog = " & hole.LeftBase, theindex
AddPropToTree "Der Wert 'lh' im Dialog = " & hole.LeftHeight, theindex
AddPropToTree "Der Wert 'ru' im Dialog = " & hole.RightBase, theindex
AddPropToTree "Der Wert 'rh' im Dialog = " & hole.RightHeight, theindex
AddPropToTree "Gehrung der linke Seite in Radiant (Pi/2 = keine Gehrung) = " & hole.LeftAngle, theindex
AddPropToTree "Gehrung der rechten Seite in Radiant (Pi/2 = keine Gehrung) = " & hole.RightAngle, theindex
Dim pol1 As ArCon.Point2DCollection, pol2 As ArCon.Point2DCollection
Dim Depth1 As Single, Depth2 As Single
Dim Points As String, p As ArCon.Point2D
Dim x As Single, y As Single
hole.GetPos x, y
AddPropToTree "Position des Wandlochs: x = " & x & ", y = " & y, theindex
If hole.GetPolygons(pol1, pol2, Depth1, Depth2) Then
AddPropToTree "Tiefe des Lochs auf der 1. Seite = " & Depth1, theindex
AddPropToTree "Tiefe des Lochs auf der 2. Seite = " & Depth2, theindex
Points = ""
For Each p In pol1
If Points <> "" Then Points = Points + ", "
Points = Points + "(" & p.x & "/" & p.y & ")"
Next
AddPropToTree "Polygon des Lochs auf der 1. Seite = " & Points, theindex
Points = ""
For Each p In pol2
If Points <> "" Then Points = Points + ", "
Points = Points + "(" & p.x & "/" & p.y & ")"
Next
AddPropToTree "Polygon des Lochs auf der 2. Seite = " & Points, theindex
End If
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllVirtualWallsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.VirtualWalls.Count & ")", ParentIndex, AktIndex
Dim v As ArCon.VirtualWall
Dim i As Integer
i = 1
For Each v In Container.VirtualWalls
OneVirtualWallToTree "Virtuelle Wand Nummer " & i, v, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.VirtualWalls.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllPlatformsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Platforms.Count & ")", ParentIndex, AktIndex
Dim p As ArCon.Platform
Dim i As Integer
i = 1
For Each p In Container.Platforms
OnePlatformToTree "Podest Nummer " & i, p, theindex
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Platforms.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllGaubenToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Gauben.Count & ")", ParentIndex, AktIndex
Dim g As ArCon.Gaube
Dim i As Integer
i = 1
For Each g In Container.Gauben
OneGaubeToTree "Gaube Nummer " & i, g, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Gauben.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneVirtualWallToTree(s As String, v As ArCon.VirtualWall, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not v Is Nothing Then
Dim theindex As Integer
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Farbe der 2D Darstellung = " & v.Color, theindex
AddPropToTree "Zeichenstil = " & v.Style, theindex
AddPropToTree "Dicke der Wand (nur fⁿr L÷cher) = " & v.Thickness, theindex
AddPropToTree "Kann L÷cher haben = " & v.WithHoles, theindex
OneStoryToTree "Stockwerk, zu dem die virtuelle Wand geh÷rt", v.story, theindex, False
OneWallToTree "Echte Wand, die die virtuelle Wand implementiert", v.wall, theindex, False
Dim x1 As Single, y1 As Single, x2 As Single, y2 As Single
v.GetPos x1, y1, x2, y2
AddPropToTree "Position = (" & x1 & "/" & y1 & ") - (" & x2 & "/" & y2 & ")", theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneGaubeToTree(s As String, g As ArCon.Gaube, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not g Is Nothing Then
Dim theindex As Integer
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Typ = " & g.Type, theindex
On Error Resume Next
AddPropToTree "Textur der Dacheindeckung = " & g.GetTexture(ACGTI_Eindeckung), theindex
AddPropToTree "Textur der Gaubenblende = " & g.GetTexture(ACGTI_Blende), theindex
On Error GoTo 0
Dim pol As ArCon.Point2DCollection
Dim Points As String, p As ArCon.Point2D
Points = ""
For Each p In g.Vertices
If Points <> "" Then Points = Points + ", "
Points = Points + "(" & p.x & "/" & p.y & ")"
Next
AddPropToTree "Eckpunkte = " & Points, theindex
' ZusΣtzliche Gauben-Details
AddPropToTree "Ist die Gaube aufgesetzt = " & g.GetAufgesetzt, theindex
AddPropToTree "Hat die Gaube aufgesetzte Flⁿgel = " & g.GetAufgesetzteFluegel, theindex
AddPropToTree "Gaubenbreite = " & g.GetBreite, theindex
AddPropToTree "Breite am Dachbruch = " & g.GetBreiteOben, theindex
AddPropToTree "Abstand vom Cursor = " & g.GetCursorAbstand, theindex
AddPropToTree "Details ⁿbernehmen = " & g.GetDetailsUebernehmen, theindex
AddPropToTree "Flⁿgelbreite = " & g.GetFluegelBreite, theindex
AddPropToTree "Mit Blende = " & g.GetMitBlende, theindex
AddPropToTree "Dachneigung links = " & g.GetNeigungLinks, theindex
AddPropToTree "Dachneigung rechts = " & g.GetNeigungRechts, theindex
AddPropToTree "╓ffnung bis zur Decke = " & g.GetOeffnungBisDecke, theindex
AddPropToTree "H÷he im Schnitt = " & g.GetSchnittHoehe, theindex
AddPropToTree "Dachneigung im Schnitt = " & g.GetSchnittNeigung, theindex
AddPropToTree "Traufh÷he im Schnitt = " & g.GetSchnittTraufHoehe, theindex
AddPropToTree "Dachⁿberstand im Schnitt = " & g.GetSchnittUeberstand, theindex
AddPropToTree "Stich (bei Rundgauben) = " & g.GetStich, theindex
AddPropToTree "Traufh÷he = " & g.GetTraufHoehe, theindex
AddPropToTree "Dachⁿberstand links = " & g.GetUeberstandLinks, theindex
AddPropToTree "Dachⁿberstand rechts = " & g.GetUeberstandRechts, theindex
AddPropToTree "Dicke der Frontwand = " & g.GetWandDicke, theindex
OneWallToTree "Stirnseite", g.FrontWall, theindex, False
OneWallToTree "Linke Seite", g.LeftWall, theindex, False
OneWallToTree "Rechte Seite", g.RightWall, theindex, False
OneStoryToTree "Stockwerk", g.story, theindex, False
OneRoofToTree "Dach", g.Roof, theindex, False
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllHolesToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Holes.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Holes
OneHoleToTree "Loch Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Holes.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OnePointToTree(s As String, point As Object, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not point Is Nothing Then
Dim theindex As Integer
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "X-Koordinate = " & point.x, theindex
AddPropToTree "Y-Koordinate = " & point.y, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneLambdaHToTree(s As String, point As Object, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not point Is Nothing Then
Dim theindex As Integer
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Lambda = " & point.Lambda, theindex
AddPropToTree "H÷he = " & point.Height, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllLambdaHsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer, lhs As ArCon.LambdaHCollection
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
Set lhs = Container.LambdaHs
If lhs Is Nothing Then
AddPropToTree s & " enhΣlt keine Elemente", ParentIndex
ElseIf recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & lhs.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In lhs
OneLambdaHToTree "H÷henpunkt Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & lhs.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllPointsToTree(s As String, Points As ArCon.Point2DCollection, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not Points Is Nothing Then
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Points.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Points
OnePointToTree "Punkt Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Points.Count & " Elemente.", ParentIndex
End If
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllPoints3DToTree(s As String, Points, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
Dim cnt As Long
cnt = UBound(Points, 2) - LBound(Points, 2) + 1
If cnt > 0 Then
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & cnt & ")", ParentIndex, AktIndex
Dim i As Long
For i = LBound(Points, 2) To UBound(Points, 2)
AddPropToTree "Punkt Nummer " & i & ": x=" & Points(0, i) & ", y=" & Points(1, i) & ", z=" & Points(2, i), theindex
Next
Else
AddPropToTree s & " enthΣlt " & cnt & " Elemente.", ParentIndex
End If
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneConturToTree(s As String, contur As Object, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not contur Is Nothing Then
Dim theindex As Integer
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneRoomToTree "Der Raum, zu dem die Kontur geh÷rt", contur.room, theindex, False
AllWallSegmentsToTree "Liste der Wandseiten dieser Kontur", contur, theindex, recurse
AddPropToTree "Kontur eines 'Raums im Raum' = " & contur.Inner, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneRoofAreaToTree(s As String, area As ArCon.RoofArea, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not area Is Nothing Then
Dim theindex As Integer
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneRoomToTree "Der Raum, zu dem die DachflΣche geh÷rt", area.room, theindex, False
OneRoofToTree "Das Dach, zu dem die DachflΣche geh÷rt", area.Roof, theindex, False
OneTextureToTree "Die Textur der DachflΣche", area.texture, theindex, False
AddPropToTree "Die DeckenflΣche ist aussen = " & area.Outside, theindex
AddPropToTree "FlΣcheninhalt = " & area.area, theindex
AddPropToTree "Formel der FlΣche = " & area.AreaFormula, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllRoofAreasToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.RoofAreas.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.RoofAreas
OneRoofAreaToTree "DachflΣche Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.RoofAreas.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllContursToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Conturs.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Conturs
OneConturToTree "Kontur Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Conturs.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneRoofToTree(s As String, Roof As ArCon.Roof, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not Roof Is Nothing Then
Dim theindex As Integer
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneStoryToTree "Stockwerk, in dem das Dach liegt", Roof.story, theindex, False
AllWindowsToTree "Liste der Dachfenster", Roof, theindex, recurse
AllGaubenToTree "Liste der Gauben", Roof, theindex, recurse
AllRoofAreasToTree "Liste der DachflΣchen", Roof, theindex, recurse
OnePolygonToTree "Form des Daches", Roof.polygon, theindex, False
On Error Resume Next
AddPropToTree "Textur der Dacheindeckung = " & Roof.GetTexture(ACRTI_Eindeckung), theindex
AddPropToTree "Textur des Unterbaus = " & Roof.GetTexture(ACRTI_Unterbau), theindex
AddPropToTree "Textur der Schalung = " & Roof.GetTexture(ACRTI_Schalung), theindex
AddPropToTree "Textur der Holzkonstruktion = " & Roof.GetTexture(ACRTI_Holz), theindex
On Error GoTo 0
AddPropToTree "GesamtflΣche der Rohkonstruktion (qm) = " & Roof.FlaecheDerEindeckungUebermessen, theindex
AddPropToTree "LΣnge aller Firste (ohne Gauben) = " & Roof.DachSummeFirstlaenge, theindex
AddPropToTree "FlΣche des Daches (ohne Gauben) = " & Roof.DachSummeFlaeche, theindex
AddPropToTree "LΣnge aller Grate (ohne Gauben) = " & Roof.DachSummeGratlaenge, theindex
AddPropToTree "LΣnge aller Kehlen (ohne Gauben) = " & Roof.DachSummeKehlenlaenge, theindex
AddPropToTree "LΣnge aller OrtgΣnge (ohne Gauben) = " & Roof.DachSummeOrtganglaenge, theindex
AddPropToTree "LΣnge aller Pultdachfirste (ohne Gauben) = " & Roof.DachSummePultdachFirstlaenge, theindex
AddPropToTree "LΣnge aller Traufen (ohne Gauben) = " & Roof.DachSummeTrauflaenge, theindex
AddPropToTree "LΣnge aller Firste (nur Gauben) = " & Roof.GaubenSummeFirstlaenge, theindex
AddPropToTree "FlΣche des Daches (nur Gauben) = " & Roof.GaubenSummeFlaeche, theindex
AddPropToTree "LΣnge aller Grate (nur Gauben) = " & Roof.GaubenSummeGratlaenge, theindex
AddPropToTree "LΣnge aller Kehlen (nur Gauben) = " & Roof.GaubenSummeKehlenlaenge, theindex
AddPropToTree "LΣnge aller OrtgΣnge (nur Gauben) = " & Roof.GaubenSummeOrtganglaenge, theindex
AddPropToTree "LΣnge aller Pultdachfirste (nur Gauben) = " & Roof.GaubenSummePultdachFirstlaenge, theindex
AddPropToTree "LΣnge aller Traufen (nur Gauben) = " & Roof.GaubenSummeTrauflaenge, theindex
AddPropToTree "LΣnge aller Firste = " & Roof.TotalSummeFirstlaenge, theindex
AddPropToTree "FlΣche des Daches = " & Roof.TotalSummeFlaeche, theindex
AddPropToTree "LΣnge aller Grate = " & Roof.TotalSummeGratlaenge, theindex
AddPropToTree "LΣnge aller Kehlen = " & Roof.TotalSummeKehlenlaenge, theindex
AddPropToTree "LΣnge aller OrtgΣnge = " & Roof.TotalSummeOrtganglaenge, theindex
AddPropToTree "LΣnge aller Pultdachfirste = " & Roof.TotalSummePultdachFirstlaenge, theindex
AddPropToTree "LΣnge aller Traufen = " & Roof.TotalSummeTrauflaenge, theindex
Dim det As RoofConstruction, i As Long, num As Long
Set det = Roof.Construction
AddPropToTree "Abstand der Ortgangsparren = " & det.AbstandOrtgangSparren, theindex
AddPropToTree "Wird das Dach horizontal begrenzt = " & det.DachHorizontalBegrenzen, theindex
AddPropToTree "Durchmesser der Dachrinnen = " & det.DachrinnenDurchmesser, theindex
AddPropToTree "Dicke der Eindeckung = " & det.DickeEindeckung, theindex
AddPropToTree "Dicke der Konstruktion = " & det.DickeKonstruktion, theindex
AddPropToTree "Ist die Eindeckung transparent = " & det.EindeckungTransparent, theindex
AddPropToTree "Breite der Firstpfetten = " & det.FirstpfettenBreite, theindex
AddPropToTree "Dicke der Firstpfetten = " & det.FirstpfettenDicke, theindex
AddPropToTree "Breite der Fusspfetten = " & det.FusspfettenBreite, theindex
AddPropToTree "Dicke der Fuspfetten = " & det.FusspfettenDicke, theindex
AddPropToTree "Gesimsh÷he an der Stirnseite = " & det.GesimsHoeheStirn, theindex
AddPropToTree "Gesimsneigung an der Stirnseite = " & det.GesimsNeigungStirn, theindex
AddPropToTree "Breite der Gratsparren = " & det.GratsparrenBreite, theindex
AddPropToTree "Dicke der Gratsparren = " & det.GratsparrenDicke, theindex
AddPropToTree "H÷he der Kehlbalken = " & det.HoeheUKKehlbalken, theindex
AddPropToTree "H÷he der Mittelpfetten unterm Kehlgang = " & det.HoeheUKMittelpfetten, theindex
AddPropToTree "Breite der Kehlbalken = " & det.KehlbalkenBreite, theindex
AddPropToTree "Dicke der Kehlbalken = " & det.KehlbalkenDicke, theindex
AddPropToTree "Breite der Kehlbohlen = " & det.KehlbohlenBreite, theindex
AddPropToTree "Dicke der Kehlbohlen = " & det.KehlbohlenDicke, theindex
AddPropToTree "Maximaler Abstand der Sparren = " & det.MaxSparrenAbstand, theindex
AddPropToTree "Maximaler ▄berstand der Eindeckung = " & det.MaxUeberstandEindeckung, theindex
AddPropToTree "Mit Dachrinne = " & det.MitDachrinne, theindex
AddPropToTree "Mit Firstpfetten = " & det.MitFirstpfetten, theindex
AddPropToTree "Mit Firststeinen = " & det.MitFirstSteinen, theindex
AddPropToTree "Mit Fusspfetten = " & det.MitFusspfetten, theindex
AddPropToTree "Mit Gratsparren = " & det.MitGratsparren, theindex
AddPropToTree "Mit Kehlbalken = " & det.MitKehlbalken, theindex
AddPropToTree "Mit Mittelpfetten = " & det.MitMittelpfetten, theindex
AddPropToTree "Mit Sparren = " & det.MitSparren, theindex
AddPropToTree "Breite der Mittelpfetten = " & det.MittelpfettenBreite, theindex
AddPropToTree "Dicke der Mittelpfetten = " & det.MittelpfettenDicke, theindex
AddPropToTree "Mit Traufdetails = " & det.MitTraufDetails, theindex
AddPropToTree "Sind die Pfettenk÷pfe sichtbar = " & det.PfettenKoepfeSichtbar, theindex
AddPropToTree "Schnitth÷he = " & det.SchnittHoehe, theindex
AddPropToTree "Breite der Sparren = " & det.SparrenBreite, theindex
AddPropToTree "Dicke der Sparren = " & det.SparrenDicke, theindex
AddPropToTree "LΣnge der Sparrenk÷pfe = " & det.SparrenKopfLaenge, theindex
AddPropToTree "Tiefe der Sparrenk÷pfe = " & det.SparrenKopfTiefe, theindex
AddPropToTree "Art der Traufdetails = " & det.TraufDetailTyp, theindex
Dim woodList As ArCon.RoofWoodCollection, balken As ArCon.RoofWood
Set woodList = Roof.GetWoodConstruction(True, 0.05)
WoodlistToTree "Liste der Balken", woodList, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneRoofWoodToTree(s As String, w As ArCon.RoofWood, ParentIndex As Integer)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not w Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Typ = " & w.Type, theindex
AddPropToTree "Typname = " & w.TypeName, theindex
AddPropToTree "Anzahl gleichartiger Balken = " & w.Number, theindex
AddPropToTree "LΣnge = " & w.Length, theindex
AddPropToTree "Breite = " & w.Width, theindex
AddPropToTree "H÷he = " & w.Height, theindex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub WoodlistToTree(s As String, l As ArCon.RoofWoodCollection, ParentIndex As Integer)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & l.Count & ")", ParentIndex, AktIndex
Dim o As ArCon.RoofWood
Dim i As Integer
i = 1
For Each o In l
OneRoofWoodToTree "Balken Nummer " & i, o, theindex
i = i + 1
Next
RekLevel = RekLevel - 1
End Sub
Private Sub AllRoofsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Roofs.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Roofs
OneRoofToTree "Dach Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Roofs.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllBuildingsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Buildings.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Buildings
OneBuildingToTree "GebΣude Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Buildings.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneStoryToTree(s As String, story As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not story Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneBuildingToTree "GebΣude, zu dem das Gescho▀ geh÷rt", story.building, theindex, False
AllDwellingsToTree "Liste der Wohnungen", story.Dwellings, theindex, recurse
AllRoomsToTree "Liste der RΣume des Geschosses", story, theindex, recurse
AllWallsToTree "Liste der WΣnde des Geschosses:", story, theindex, recurse
AllUnterUeberzuegeToTree "Lister der Unter-/▄berzⁿge des Geschosses:", story, theindex, recurse
AllRoofsToTree "Liste der DΣcher des Geschosses", story, theindex, recurse
AllStaircasesToTree "Liste der Treppen des Geschosses", story, theindex, recurse
AllContursToTree "Liste der Wandseiten des Geschosses", story, theindex, recurse
AllSupportsToTree "Liste der Stⁿtzen des Geschosses", story, theindex, recurse
AllChimneiesToTree "Liste der Schornsteine des Geschosses", story, theindex, recurse
AllCeilingsToTree "Liste der Deckenplatten des Geschosses", story, theindex, recurse
AllCeilingOpeningsToTree "Liste der Deckenaussparungen des Geschosses", story, theindex, recurse
AllVirtualWallsToTree "Liste der virtuellen WΣnde des Geschosses", story, theindex, recurse
AllPlatformsToTree "Liste der Podeste", story, theindex, recurse
AddPropToTree "Brutto-Gescho▀flΣche = " & story.BruttoGeschossflaeche, theindex
AddPropToTree "Formel fⁿr Brutto-Gescho▀flΣche = " & story.BruttoGeschossflaechenFormel, theindex
AddPropToTree "Brutto-Rauminhalt = " & story.BruttoRauminhalt, theindex
AddPropToTree "Formel fⁿr Brutto-Rauminhalt = " & story.BruttoRauminhaltsFormel, theindex
AddPropToTree "Basish÷he (Oberkante Fertigfu▀boden) = " & story.BaseHeight, theindex
AddPropToTree "Dicke des unteren Fu▀bodens = " & story.DistanceStoryBelow, theindex
AddPropToTree "lichte H÷he = " & story.LichteHoehe, theindex
AddPropToTree "Dicke des Deckenunterbaus = " & story.Unterbau, theindex
AddPropToTree "Dicke der Rohdecke = " & story.Rohdecke, theindex
AddPropToTree "Dicke des Fu▀bodens oberhalb = " & story.Fussboden, theindex
AddPropToTree "Au▀enputzstΣrke = " & story.PlasterThickness, theindex
AddPropToTree "Au▀enputzbezeichnung = " & story.PlasterName, theindex
AddPropToTree "Name = " & story.Name, theindex
AddPropToTree "Bemerkung = " & story.Remark, theindex
AllGaubenToTree "Liste der Gauben", story, theindex, recurse
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllStoriesToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Stories.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Stories
OneStoryToTree "Geschoss Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Stories.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneRoomToTree(s As String, room As ArCon.room, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not room Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneStoryToTree "Gescho▀, in dem sich der Raum befindet", room.story, theindex, False
OneFontToTree "Schriftart der Raumbeschriftung", room.font, theindex, False
OneDwellingToTree "Wohnung, zu der der Raum geh÷rt", room.GetDwelling, theindex, False
AllContursToTree "Liste der Konturen, die den Raum umschlie▀en", room, theindex, recurse
AllSupportsToTree "Liste der Stⁿtzen des Raumes", room, theindex, recurse
AllChimneiesToTree "Liste der Kamine des Raumes", room, theindex, recurse
AllRoofAreasToTree "Liste der DachflΣchen", room, theindex, recurse
AddPropToTree "Raumbezeichnung = " & room.Name, theindex
AddPropToTree "Raumbemerkung = " & room.Remark, theindex
AddPropToTree "Selektiert etc. = " & room.Flags, theindex
AddPropToTree "Drehwinkel der Raumbeschriftung = " & room.Angle, theindex
AddPropToTree "Netto-GrundflΣche = " & room.NettoGrundflaeche, theindex
AddPropToTree "Formel fⁿr Netto-GrundflΣche = " & room.NettoGrundflaechenFormel, theindex
AddPropToTree "Netto-DeckenflΣche = " & room.NettoDeckenflaeche, theindex
AddPropToTree "Formel fⁿr Netto-DeckenflΣche = " & room.NettoDeckenflaechenFormel, theindex
AddPropToTree "Rauminhalt = " & room.Volumen, theindex
AddPropToTree "Formel fⁿr Rauminhalt = " & room.VolumenFormel, theindex
AddPropToTree "BodenflΣche = " & room.Bodenflaeche, theindex
AddPropToTree "Formel fⁿr BodenflΣche = " & room.BodenflaechenFormel, theindex
AddPropToTree "DeckenflΣche = " & room.Deckenflaeche, theindex
AddPropToTree "Formel fⁿr DeckenflΣche = " & room.DeckenflaechenFormel, theindex
AddPropToTree "Ordnungszahl nach DIN277 = " & room.Ordnungszahl, theindex
AddPropToTree "NutzflΣchenart nach DIN277 = " & room.Nutzflaechenart, theindex
AddPropToTree "Umschlie▀ungsart nach DIN277 = " & room.Umschliessungsart, theindex
AddPropToTree "PutzstΣrke = " & room.PlasterThickness, theindex
AddPropToTree "Putzbezeichnung = " & room.PlasterName, theindex
OneTextureToTree "Deckentextur", room.CeilingTexture, theindex, False
OneTextureToTree "Bodentextur", room.FloorTexture, theindex, False
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllRoomsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Rooms.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Rooms
OneRoomToTree "Raum Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Rooms.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AddIDToTree(obj As Object, ByVal index As Long)
AddPropToTree "ID = " & obj.id, index
Dim hist As ArCon.IDHistory
Set hist = obj.History
If Not hist Is Nothing Then
AddPropToTree "Ehemalige ID = " & hist.PreviousID & " in Projekt " & hist.PreviousProjectName, index
End If
End Sub
Private Sub OneWallToTree(s As String, wall As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not wall Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneTextureToTree "ursprⁿngliche Textur der Wand", wall.texture, theindex, False
OneStoryToTree "Gescho▀, in dem die Wand liegt", wall.story, theindex, False
AllWindowsToTree "Liste der Fenster", wall, theindex, recurse
AllDoorsToTree "Liste der Tⁿren", wall, theindex, recurse
AllWallSegmentsToTree "Liste der Wandseiten", wall, theindex, recurse
AllHolesToTree "Liste der Aussparungen", wall, theindex, recurse
AddIDToTree wall, theindex
AddPropToTree "Wandtyp (Variante des Multifunktionsschalters) = " & wall.Type, theindex
AddPropToTree "Wanddicke = " & wall.Thickness, theindex
AddPropToTree "AchsenlΣnge = " & wall.AverageLength, theindex
AddPropToTree "Mittlere FlΣche = " & wall.AverageArea, theindex
AddPropToTree "Formel fⁿr die mittlere FlΣche = " & wall.AverageAreaFormula, theindex
OneVirtualWallToTree "Virtuelle Wand, die durch diese Wand dargestellt wird", wall.VirtualWall, theindex, False
Dim x1 As Single, y1 As Single, x2 As Single, y2 As Single
wall.GetPos x1, y1, x2, y2
AddPropToTree "Position der Wand lesen: x1=" & x1 & ", y1=" & y1 & ", x2=" & x2 & ", y2=" & y2, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneUnterUeberzugToTree(s As String, z As UnterUeberzug, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer, segIndex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not z Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneStoryToTree "Gescho▀, in dem der Unter-/▄berzug liegt", z.story, theindex, False
OneTextureToTree "Textur des Unter-/▄berzuges", z.DeckelTextur, theindex, False
segIndex = AktIndex
AddChildToTree "1. Seite", theindex, AktIndex
AddPropToTree "Linienfarbe = " & z.Seg1LinienFarbe, segIndex
AddPropToTree "Linienstil = " & z.Seg1LinienTyp, segIndex
OneTextureToTree "Textur", z.Seg1Textur, segIndex, False
segIndex = AktIndex
AddChildToTree "2. Seite", theindex, AktIndex
AddPropToTree "Linienfarbe = " & z.Seg2LinienFarbe, segIndex
AddPropToTree "Linienstil = " & z.Seg2LinienTyp, segIndex
OneTextureToTree "Textur", z.Seg2Textur, segIndex, False
segIndex = AktIndex
AddChildToTree "3. Seite", theindex, AktIndex
AddPropToTree "Linienfarbe = " & z.Seg3LinienFarbe, segIndex
AddPropToTree "Linienstil = " & z.Seg3LinienTyp, segIndex
OneTextureToTree "Textur", z.Seg3Textur, segIndex, False
segIndex = AktIndex
AddChildToTree "4. Seite", theindex, AktIndex
AddPropToTree "Linienfarbe = " & z.Seg4LinienFarbe, segIndex
AddPropToTree "Linienstil = " & z.Seg4LinienTyp, segIndex
OneTextureToTree "Textur", z.Seg4Textur, segIndex, False
AddPropToTree "Ist ein ▄berzug = " & z.Ueberzug, theindex
AddPropToTree "Dicke = " & z.Thickness, theindex
AddPropToTree "LΣnge = " & z.Length, theindex
AddPropToTree "H÷he = " & z.Height, theindex
AddPropToTree "Schraffurfarbe = " & z.SchraffurFarbe, theindex
AddPropToTree "Schraffurmuster = " & z.Schraffur, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllUnterUeberzuegeToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.UnterUeberzuege.Count & ")", ParentIndex, AktIndex
Dim o As ArCon.UnterUeberzug
Dim i As Integer
i = 1
For Each o In Container.UnterUeberzuege
OneUnterUeberzugToTree "Unter/▄berzug Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.UnterUeberzuege.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllWallsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Walls.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Walls
OneWallToTree "Wand Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Walls.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneWallSegmentToTree(s As String, wallsegment As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not wallsegment Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneRoomToTree "Raum, zu dem diese Wandseite geh÷rt", wallsegment.room, theindex, False
OneWallToTree "Wand, zu der diese Wandseite geh÷rt", wallsegment.wall, theindex, False
OneConturToTree "Kontur, zu der diese Wandseite geh÷rt", wallsegment.contur, theindex, False
OneTextureToTree "verwendete Textur", wallsegment.texture, theindex, False
AllLambdaHsToTree "H÷henpunkte des Segments", wallsegment, theindex, recurse
AllWindowsToTree "Fenster, die in dieser Wandseite 'sitzen'", wallsegment, theindex, recurse
AllDoorsToTree "Tⁿren, die in dieser Wandseite 'sitzen'", wallsegment, theindex, recurse
AllHolesToTree "Aussparungen", wallsegment, theindex, recurse
AddPropToTree "erste, zweite, dritte oder vierte Seite der Wand? = " & wallsegment.WallSide, theindex
AddPropToTree "H÷he der Wandseitenoberkante = " & wallsegment.zTop, theindex
AddPropToTree "H÷he der Wandseitenunterkante = " & wallsegment.zBottom, theindex
AddPropToTree "Sichtbar, unsichtbar, da von Dach abgeschnitten... = " & wallsegment.VisMode, theindex
AddPropToTree "FlΣche der Wandseite = " & wallsegment.area, theindex
AddPropToTree "Formel fⁿr FlΣche der Wandseite = " & wallsegment.AreaFormula, theindex
AddPropToTree "in 3D-Darstellung sichtbar? = " & wallsegment.Visible, theindex
AddPropToTree "fⁿr Au▀enwΣnde: Material von darunterliegender Wandseite ⁿbernehmen? = " & wallsegment.MaterialFromBelow, theindex
' methods:
' "Position der Wandseite lesen")] boolean GetPos(double* X1, double* Y1, double* X2, double* Y2);
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllWallSegmentsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.WallSegments.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.WallSegments
OneWallSegmentToTree "Wandsegement Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.WallSegments.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneTerrainToTree(s As String, terrain As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not terrain Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneTextureToTree "verwendete Textur", terrain.texture, theindex, False
OneHedgeToTree "Liste der Umrandungen", terrain.hedge, theindex, False ' !!! Ist das nicht nur eins? Kommentar falsch
OneTerrainToTree "ⁿbergeordnetes GelΣnde", terrain.Owner, theindex, False
AllBuildingsToTree "Liste der GebΣude auf dem GelΣnde", terrain, theindex, False
AllTerrainsToTree "Liste der UntergelΣnde", terrain, theindex, recurse
AddPropToTree "LΣnge einer Facette = " & terrain.FacetteLength, theindex
AddPropToTree "Default-H÷he beim Erzeugen = " & terrain.Height, theindex
AddPropToTree "DiffuseColor = " & terrain.DiffuseColor, theindex
AddPropToTree "SpecularColor = " & terrain.SpecularColor, theindex
AddPropToTree "Transparent = " & terrain.Transparent, theindex
AddPropToTree "Flags = " & terrain.Flags, theindex
AddPropToTree "Transparency = " & terrain.Transparency, theindex
AddPropToTree "HighlightExponent = " & terrain.HighlightExponent, theindex
AddPropToTree "AmbientCoefficient = " & terrain.AmbientCoefficient, theindex
AddPropToTree "DiffuseCoefficient = " & terrain.DiffuseCoefficient, theindex
AddPropToTree "SpecularCoefficient = " & terrain.SpecularCoefficient, theindex
AddPropToTree "GelΣndetyp (Grundstⁿck, GelΣndebereich) = " & terrain.Type, theindex
AddPropToTree "Name = " & terrain.Name, theindex
AddPropToTree "Bemerkung = " & terrain.Remark, theindex
AddPropToTree "Umfang des GelΣndes = " & terrain.Umfang, theindex
AddPropToTree "Formel fⁿr Umfang = " & terrain.UmfangsFormel, theindex
AddPropToTree "Gr÷▀e des GelΣndes = " & terrain.area, theindex
AddPropToTree "Formel fⁿr GelΣndegr÷▀e = " & terrain.AreaFormula, theindex
'methods:
'"Transformation fⁿr Texturkoordinaten lesen")] void GetTransformation(float* x1, float* y1, float* z1, float* x2, float* y2, float* z2, float* x3, float* y3, float* z3);
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllTerrainsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Terrains.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Terrains
OneTerrainToTree "Terrain Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Terrains.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneWindowToTree(s As String, window As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not window Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneWallToTree "Wandobjekt, in dem das Fenster 'sitzt'", window.wall, theindex, False
OneWallSegmentToTree "Innenwandseite, in der das Fenster 'sitzt'", window.LeftSegment, theindex, False
OneWallSegmentToTree "Au▀enwandseite, in der das Fenster 'sitzt'", window.RightSegment, theindex, False
AddPropToTree "Fensterart (Variante des Multifunktionsschalters) = " & window.Type, theindex
AddPropToTree "Fensterbreite = " & window.Width, theindex
AddPropToTree "Fensterh÷he = " & window.Height, theindex
AddPropToTree "Brⁿstungsh÷he = " & window.ParapetHeight, theindex
AddPropToTree "zur gegenⁿberliegenden Seite ÷ffnen? = " & window.OpensInwards, theindex
AddPropToTree "links angeschlagen? = " & window.LeftHung, theindex
AddPropToTree "Name des Fenstertyps = " & ArConEXE.GetWindowName(window.Type), theindex
AddPropToTree "Bemerkung = " & window.Remark, theindex
AddPropToTree "FensterflΣche = " & window.area, theindex
AddPropToTree "Formel fⁿr FensterflΣche = " & window.AreaFormula, theindex
On Error Resume Next
AddPropToTree "Name der Rahmentextur = " & window.GetTexture(ACWTI_Rahmen), theindex
AddPropToTree "Name der inneren Fensterbanktextur = " & window.GetTexture(ACWTI_BankInnen), theindex
AddPropToTree "Name der Σu▀eren Fensterbanktextur = " & window.GetTexture(ACWTI_BankAussen), theindex
AddPropToTree "Name der Textur der inneren Fⁿllung = " & window.GetTexture(ACWTI_FuellungInnen), theindex
AddPropToTree "Name der Textur der Σu▀eren Fⁿllung = " & window.GetTexture(ACWTI_FuellungAussen), theindex
On Error GoTo 0
Dim pol1 As ArCon.Point2DCollection, pol2 As ArCon.Point2DCollection
Dim Depth1 As Single, Depth2 As Single
Dim Points As String, p As ArCon.Point2D
OneWindowConstructionToTree "Details", window.Construction, theindex
If window.GetPolygons(pol1, pol2, Depth1, Depth2) Then
AddPropToTree "Tiefe des Lochs auf der 1. Seite = " & Depth1, theindex
AddPropToTree "Tiefe des Lochs auf der 2. Seite = " & Depth2, theindex
Points = ""
For Each p In pol1
If Points <> "" Then Points = Points + ", "
Points = Points + "(" & p.x & "/" & p.y & ")"
Next
AddPropToTree "Polygon des Lochs auf der 1. Seite = " & Points, theindex
Points = ""
For Each p In pol2
If Points <> "" Then Points = Points + ", "
Points = Points + "(" & p.x & "/" & p.y & ")"
Next
AddPropToTree "Polygon des Lochs auf der 2. Seite = " & Points, theindex
End If
End If
End Sub
Private Sub OneWindowConstructionToTree(s As String, wc As ArCon.WindowConstruction, ParentIndex As Integer)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not wc Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Anschlag links = " & wc.AnschlagLinks, theindex
AddPropToTree "Anschlag oben = " & wc.AnschlagOben, theindex
AddPropToTree "Anschlag rechts = " & wc.AnschlagRechts, theindex
AddPropToTree "Anschlag Tiefe = " & wc.AnschlagTiefe, theindex
AddPropToTree "Anschlag Typ = " & wc.AnschlagTyp, theindex
AddPropToTree "Anschlag unten = " & wc.AnschlagUnten, theindex
AddPropToTree "Anzahl Pfosten = " & wc.AnzahlPfosten, theindex
AddPropToTree "Anzahl Riegel = " & wc.AnzahlRiegel, theindex
AddPropToTree "Basis: Anzahl der horizontalen Sprossen = " & wc.AnzahlSprossenHorizontalBasis, theindex
AddPropToTree "Brⁿstungselement: Anzahl der horizontalen Sprossen = " & wc.AnzahlSprossenHorizontalBruestungselement, theindex
AddPropToTree "Oberlicht: Anzahl der horizontalen Sprossen = " & wc.AnzahlSprossenHorizontalOberlicht, theindex
AddPropToTree "Basis: Anzahl der vertikalen Sprossen = " & wc.AnzahlSprossenVertikalBasis, theindex
AddPropToTree "Brⁿstungselement: Anzahl der vertikalen Sprossen = " & wc.AnzahlSprossenVertikalBruestungselement, theindex
AddPropToTree "Oberlicht: Anzahl der vertikalen Sprossen = " & wc.AnzahlSprossenVertikalOberlicht, theindex
AddPropToTree "Basis: Breite der Sprossen = " & wc.BasisSprossenBreite, theindex
AddPropToTree "Basis: Dicke der Sprossen = " & wc.BasisSprossenDicke, theindex
AddPropToTree "Breite = " & wc.Breite, theindex
AddPropToTree "Brⁿstungselement ausgefⁿllt = " & wc.BruestungselementAusgefuellt, theindex
AddPropToTree "Brⁿstungselement: Breite der Sprossen = " & wc.BruestungselementSprossenBreite, theindex
AddPropToTree "Brⁿstungselement: Dicke der Sprossen = " & wc.BruestungselementSprossenDicke, theindex
AddPropToTree "Brⁿstungsh÷he = " & wc.BruestungsHoehe, theindex
AddPropToTree "H÷he = " & wc.Hoehe, theindex
AddPropToTree "H÷he des Brⁿstungselementes = " & wc.HoeheBruestungsElement, theindex
AddPropToTree "H÷he links = " & wc.HoeheLinks, theindex
AddPropToTree "H÷he des Oberlichtes = " & wc.HoeheOberlicht, theindex
AddPropToTree "H÷he rechts = " & wc.HoeheRechts, theindex
AddPropToTree "Links angeschlagen = " & wc.LinksAngeschlagen, theindex
AddPropToTree "Mit Brⁿstungselement = " & wc.MitBruestungselement, theindex
AddPropToTree "Mit Fensterbank = " & wc.MitFensterbank, theindex
AddPropToTree "Mit Gehrung links = " & wc.MitGehrungLinks, theindex
AddPropToTree "Mit Gehrung rechts = " & wc.MitGehrungRechts, theindex
AddPropToTree "Mit Oberlicht = " & wc.MitOberlicht, theindex
AddPropToTree "Nach innen ÷ffnend = " & wc.NachInnenOeffnend, theindex
AddPropToTree "Nur ╓ffnung erzeugen = " & wc.NurOeffnungErzeugen, theindex
AddPropToTree "Oberlicht: Breite der Sprossen = " & wc.OberlichtSprossenBreite, theindex
AddPropToTree "Oberlicht: Dicke der Sprossen = " & wc.OberlichtSprossenDicke, theindex
AddPropToTree "Art des Oberlichtes = " & wc.OberlichtTyp, theindex
AddPropToTree "Abstand der Pfosten = " & wc.PfostenAbstand, theindex
AddPropToTree "Breite der Pfosten = " & wc.PfostenBreite, theindex
AddPropToTree "Abstand des ersten Pfostens = " & wc.PfostenErsterAbstand, theindex
AddPropToTree "Symetrische Pfostenanordnung = " & wc.PfostenSymmetrisch, theindex
AddPropToTree "Breite des Rahmens = " & wc.RahmenBreite, theindex
AddPropToTree "Dicke des Rahmens = " & wc.RahmenDicke, theindex
AddPropToTree "Abstand der Riegel = " & wc.RiegelAbstand, theindex
AddPropToTree "Breite der Riegel = " & wc.RiegelBreite, theindex
AddPropToTree "Riegelbreite unten = " & wc.RiegelBreiteUnten, theindex
AddPropToTree "Abstand des ersten Riegels = " & wc.RiegelErsterAbstand, theindex
AddPropToTree "Symetrische Riegelanordnung = " & wc.RiegelSymmetrisch, theindex
AddPropToTree "Stich oben = " & wc.StichOben, theindex
AddPropToTree "Stich unten = " & wc.StichUnten, theindex
End If
End Sub
Private Sub OneRoofWindowToTree(s As String, window As ArCon.RoofWindow, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not window Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneRoofToTree "Dach, in dem das Fenster 'sitzt'", window.Roof, theindex, False
AddPropToTree "Fensterart (Variante des Multifunktionsschalters) = " & window.Type, theindex
AddPropToTree "Fensterbreite = " & window.Width, theindex
AddPropToTree "Fensterh÷he = " & window.Height, theindex
AddPropToTree "zur gegenⁿberliegenden Seite ÷ffnen? = " & window.OpensInwards, theindex
AddPropToTree "Name des Fenstertyps = " & ArConEXE.GetRoofWindowName(window.Type), theindex
AddPropToTree "Bemerkung = " & window.Remark, theindex
AddPropToTree "FensterflΣche = " & window.area, theindex
AddPropToTree "Formel fⁿr FensterflΣche = " & window.AreaFormula, theindex
OneWindowConstructionToTree "Konstruktionsdaten", window.Construction, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllWindowsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Windows.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Windows
If TypeOf o Is RoofWindow Then
OneRoofWindowToTree "Fenster Nummer " & i, o, theindex, True
Else
OneWindowToTree "Fenster Nummer " & i, o, theindex, True
End If
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Windows.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneDoorToTree(s As String, door As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not door Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneTextureToTree "Textur der Zarge", door.FrameTexture, theindex, False
OneTextureToTree "Textur des linken /einzigen Tⁿrflⁿgels", door.LeftWingTexture, theindex, False
OneTextureToTree "Textur des rechten Tⁿrflⁿgels bei zweiflⁿgeligen Tⁿren", door.RightWingTexture, theindex, False
OneWallToTree "Wandobjekt, in dem die Tⁿr 'sitzt'", door.wall, theindex, False
OneWallSegmentToTree "erstes Wandseitenobjekt, in dem die Tⁿr 'sitzt'", door.LeftSegment, theindex, False
OneWallSegmentToTree "zweites Wandseitenobjekt, in dem die Tⁿr 'sitzt'", door.RightSegment, theindex, False
AddPropToTree "Tⁿrtyp (Variante des Multifunktionsschalters) = " & door.Type, theindex
AddPropToTree "Art des linken Flⁿgels = " & door.LeftWingType, theindex
AddPropToTree "Art des rechten Flⁿgels = " & door.RightWingType, theindex
AddPropToTree "╓ffnungswinkel des linken Flⁿgels = " & door.LeftWingAngle, theindex
AddPropToTree "╓ffnungswinkel des rechten Flⁿgels = " & door.RightWingAngle, theindex
AddPropToTree "Breite der Tⁿr = " & door.Width, theindex
AddPropToTree "H÷he der Tⁿr = " & door.Height, theindex
AddPropToTree "zur gegenⁿberliegenden Seite ÷ffnend? = " & door.OpensInwards, theindex
AddPropToTree "links angeschlagen? = " & door.HungLeft, theindex
AddPropToTree "Name des Tⁿrtyps = " & ArConEXE.GetDoorName(door.Type), theindex
AddPropToTree "Bemerkung = " & door.Remark, theindex
AddPropToTree "TⁿrflΣche = " & door.area, theindex
AddPropToTree "Formel fⁿr TⁿrflΣche = " & door.AreaFormula, theindex
Dim pol1 As ArCon.Point2DCollection, pol2 As ArCon.Point2DCollection
Dim Depth1 As Single, Depth2 As Single
Dim Points As String, p As ArCon.Point2D
#If ArConVersion >= 400 Then
If door.GetPolygons(pol1, pol2, Depth1, Depth2) Then
AddPropToTree "Tiefe des Lochs auf der 1. Seite = " & Depth1, theindex
AddPropToTree "Tiefe des Lochs auf der 2. Seite = " & Depth2, theindex
Points = ""
For Each p In pol1
If Points <> "" Then Points = Points + ", "
Points = Points + "(" & p.x & "/" & p.y & ")"
Next
AddPropToTree "Polygon des Lochs auf der 1. Seite = " & Points, theindex
Points = ""
For Each p In pol2
If Points <> "" Then Points = Points + ", "
Points = Points + "(" & p.x & "/" & p.y & ")"
Next
AddPropToTree "Polygon des Lochs auf der 2. Seite = " & Points, theindex
End If
#End If
'methods:
'"Position der Tⁿr lesen (Was ist mit schreiben???)")] boolean GetPos(double* X, double* Y);
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllDoorsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Doors.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Doors
OneDoorToTree "Tⁿr Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Doors.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneTextureToTree(s As String, texture As ArCon.texture, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not texture Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "soll die Textur verwendet werden? = " & texture.UseTexture, theindex
AddPropToTree "konstante Farbe und Texturfarbe mischen? = " & texture.MixColorAndTexture, theindex
AddPropToTree "konstante Farbe = " & texture.Color, theindex
AddPropToTree "Gr÷▀e der Textur in x-Richtung = " & texture.xRaport, theindex
AddPropToTree "Gr÷▀e der Textur in y-Richtung = " & texture.yRaport, theindex
AddPropToTree "Drehwinkel fⁿr Textur = " & texture.Angle, theindex
AddPropToTree "Breite, wenn nicht die der Bitmap-Datei = " & texture.Width, theindex
AddPropToTree "H÷he, wenn nicht die der Bitmap-Datei = " & texture.Height, theindex
AddPropToTree "in Bitmap-Datei gespeicherte Gr÷▀e verwenden? = " & texture.UseOriginalSize, theindex
AddPropToTree "Dateiname der Textur (inkl. Pfad, ggfs. mit '>') = " & texture.Name, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllTexturesToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Textures.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Textures
OneTextureToTree "Textur Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Textures.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneChimneyToTree(s As String, chimney As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not chimney Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneStoryToTree "Gescho▀, in dem der Schornstein liegt", chimney.story, theindex, False
OneTextureToTree "verwendete Textur", chimney.texture, theindex, False
AddPropToTree "Art des Schornsteins (Variante des Multifunktionsschalters) = " & chimney.Type, theindex
AddPropToTree "Tiefe = " & chimney.Thickness, theindex
AddPropToTree "Breite = " & chimney.Width, theindex
AddPropToTree "H÷he, wenn nicht bis zur Decke = " & chimney.Height, theindex
AddPropToTree "Drehwinkel = " & chimney.Angle, theindex
AddPropToTree "Schornstein bis zur Decke? = " & chimney.ToCeiling, theindex
AddPropToTree "Name des Schornsteintyps = " & ArConEXE.GetChimneyName(chimney.Type), theindex
AddPropToTree "Bemerkung = " & chimney.Remark, theindex
' methods:
' "Position des Schornsteines lesen")] boolean GetPos(double* X, double* Y);
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllChimneiesToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Chimneys.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Chimneys
OneChimneyToTree "Schornstein Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Chimneys.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneSupportToTree(s As String, support As ArCon.support, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not support Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneStoryToTree "Gescho▀, in dem die Stⁿtze liegt", support.story, theindex, False
OneTextureToTree "verwendete Textur", support.texture, theindex, False
AddPropToTree "Art der Stⁿtze (Variante des Multifunktionsschalters) = " & support.Type, theindex
AddPropToTree "Tiefe = " & support.Thickness, theindex
AddPropToTree "Breite = " & support.Width, theindex
AddPropToTree "H÷he, wenn nicht bis zur Decke = " & support.Height, theindex
AddPropToTree "Drehwinkel = " & support.Angle, theindex
AddPropToTree "Stⁿtze bis zur Decke? = " & support.ToCeiling, theindex
AddPropToTree "Name des Stⁿtzentyps = " & ArConEXE.GetSupportName(support.Type), theindex
AddPropToTree "Bemerkung = " & support.Remark, theindex
Dim x As Single, y As Single
support.GetPos x, y
AddPropToTree "Position: x = " & x & ", y = " & y, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllSupportsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Supports.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Supports
OneSupportToTree "Stⁿtze Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Supports.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneCeilingToTree(s As String, ceiling As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not ceiling Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneTextureToTree "Textur der Unterseite", ceiling.LowerSurfaceTexture, theindex, False
OneTextureToTree "Textur der Oberseite", ceiling.UpperSurfaceTexture, theindex, False
OneTextureToTree "Textur der SeitenflΣchen", ceiling.EdgeTexture, theindex, False
OnePolygonToTree "Umrandung der Deckenplatte", ceiling.polygon, theindex, False
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllCeilingsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Ceilings.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Ceilings
OneCeilingToTree "Deckenplatte Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Ceilings.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneDimensionToTree(s As String, dimension As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not dimension Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Art der Beschriftung (Variante des Multifunktionsknopfes) = " & dimension.Type, theindex
AddPropToTree "Anzahl Nachkommastellen bei Ausgabe = " & dimension.Decimals, theindex
AddPropToTree "Abstand der Referenzpunkte von der Ma▀linie = " & dimension.Distance, theindex
AddPropToTree "Architektengerecht? = " & dimension.Architektengerecht, theindex
' methods:
' "Die beiden Ma▀-Punkte")] boolean GetPos(double* X1, double* Y1, double* X2, double* Y2);
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllDimensionsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Dimensions.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Dimensions
OneDimensionToTree "Verma▀un Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Dimensions.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneGuideToTree(s As String, guide As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not guide Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneStoryToTree "Geschosse, in dem die Hilfslinie 'sitzt'", guide.story, theindex, recurse
AddPropToTree "Farbe der Hilfslinien = " & guide.Color, theindex
AddPropToTree "Linienart = " & guide.DrawStyle, theindex
AddPropToTree "Hilfsgerade oder -Strecke? = " & guide.Endless, theindex
'methods:
' "Position der Hilfslinie lesen = " boolean GetPos(double* X1, double* Y1, double* X2, double* Y2)
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllGuidesToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Guides.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Guides
OneGuideToTree "Hilfslinie Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Guides.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneViewToTree(s As String, v As ArCon.View, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not v Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Titel = " & v.Caption, theindex
AddPropToTree "Ist aktiv = " & v.Active, theindex
OneCutToTree "Schnitt dieser Ansicht", v.Cut, theindex, True
AddPropToTree "H÷he = " & v.Height, theindex
AddPropToTree "Breite = " & v.Width, theindex
AddPropToTree "Obere Seite = " & v.Top, theindex
AddPropToTree "Linke Seite = " & v.Left, theindex
AddPropToTree "Ist im Durchwander-Modus = " & v.Walking, theindex
AddPropToTree "ViewerID = " & v.Viewer, theindex
AddPropToTree "Zeit/Beleuchtungsmodus = " & v.TimeOfDay, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneCutToTree(s As String, c As ArCon.Cut, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not c Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneStoryToTree "Gescho▀, in dem der Schnitt 'sitzt'", c.story, theindex, recurse
Dim x1 As Single, y1 As Single, x2 As Single, y2 As Single
c.GetReferenceLine x1, y1, x2, y2
AddPropToTree "Referenzlinie = (" & x1 & "/" & y1 & ") - (" & x2 & "/" & y2 & ")", theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneLabelingToTree(s As String, labeling As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not labeling Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneStoryToTree "Gescho▀, in dem die Beschriftung 'sitzt'", labeling.story, theindex, recurse
OneFontToTree "Schriftart der Beschriftung", labeling.font, theindex, False
AddPropToTree "Beschriftungstext = " & labeling.Text, theindex
AddPropToTree "Textfarbe = " & labeling.Color, theindex
AddPropToTree "Drehwinkel = " & labeling.Angle, theindex
' methods:
' "Linke obere Ecke der Beschriftung")] boolean GetPos(double* X1, double* Y1);
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllViewsToTree(s As String, liste As ViewCollection, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & liste.Count & ")", ParentIndex, AktIndex
Dim v As ArCon.View
Dim i As Integer
i = 1
For Each v In liste
OneViewToTree "Ansicht Nummer " & i, v, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & liste.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllCutsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
Dim schnitte As ArCon.CutCollection
Set schnitte = Container.Cuts
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & schnitte.Count & ")", ParentIndex, AktIndex
Dim c As ArCon.Cut
Dim i As Integer
i = 1
For Each c In schnitte
OneCutToTree "Schnitt Nummer " & i, c, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & schnitte.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllLabelingsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Labelings.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Labelings
OneLabelingToTree "Beschrifung Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Labelings.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneHedgeToTree(s As String, hedge As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not hedge Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Dateiname der Umrandungsobjekte = " & hedge.FileName, theindex
AddPropToTree "Umrandungsobjekte aneinandergereiht? = " & hedge.Continuous, theindex
AddPropToTree "Abstand zwischen zwei Umrandungsobjekten = " & hedge.Distance, theindex
AddPropToTree "Gr÷▀e so anpassen, da▀ LΣnge mit Grundstⁿckskante ⁿbereinstimmt? = " & hedge.ScaleToFit, theindex
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllHedgesToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Hedges.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Hedges
OneHedgeToTree "Umrandung Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Hedges.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneCeilingOpeningToTree(s As String, ceilingopening As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not ceilingopening Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OnePolygonToTree "Kontur der Deckenaussparung", ceilingopening.polygon, theindex, False
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllCeilingOpeningsToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.CeilingOpenings.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.CeilingOpenings
OneCeilingOpeningToTree "Deckenaussparung Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.CeilingOpenings.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneStairCaseToTree(s As String, staircase As ArCon.staircase, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not staircase Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
OneStoryToTree "Gescho▀, in dem die Treppe definiert ist", staircase.story, theindex, False
AddPropToTree "fⁿr Dreipunkteingabe: x-Koordinate Punkt 1 = " & staircase.x1, theindex
AddPropToTree "fⁿr Dreipunkteingabe: y-Koordinate Punkt 1 = " & staircase.y1, theindex
AddPropToTree "fⁿr Dreipunkteingabe: x-Koordinate Punkt 2 = " & staircase.x2, theindex
AddPropToTree "fⁿr Dreipunkteingabe: y-Koordinate Punkt 2 = " & staircase.y2, theindex
AddPropToTree "fⁿr Dreipunkteingabe: x-Koordinate Punkt 3 = " & staircase.X3, theindex
AddPropToTree "fⁿr Dreipunkteingabe: y-Koordinate Punkt 3 = " & staircase.Y3, theindex
AddPropToTree "Typ der Treppe (Variante des Multifunktionsschalters) = " & staircase.Type, theindex
AddPropToTree "Auftrittsbreite = " & staircase.AuftrittsBreite, theindex
AddPropToTree "Gelaenderh÷he links = " & staircase.GelaenderHoeheLinks, theindex
AddPropToTree "GelΣnderh÷he rechts = " & staircase.GelaenderHoeheRechts, theindex
AddPropToTree "GelΣnderlΣnge links = " & staircase.GelaenderLaengeLinks, theindex
AddPropToTree "GelΣnderlΣnge rechts = " & staircase.GelaenderLaengeRechts, theindex
AddPropToTree "Laufbreite au▀en = " & staircase.LaufBreiteAussen, theindex
AddPropToTree "LauflΣnge = " & staircase.LaufLaenge, theindex
AddPropToTree "Laufplattendicke = " & staircase.LaufPlattenDicke, theindex
AddPropToTree "Steigung = " & staircase.Steigung, theindex
' 2. BV
AddPropToTree "FlΣche unter der Treppe = " & staircase.FloorArea(True, 0.5, True, 1.5), theindex
AllPointsToTree "Polygon unter der Treppe", staircase.FloorPolygon(True, 0.5, True, 1.5), theindex, True
AllPoints3DToTree "3D Polygon unter der Treppe", staircase.FloorPolygon3D, theindex, True
' Texturindizes variieren je nach Treppentyp - fehlende ⁿberspringen
On Error Resume Next
AddPropToTree "Name der Handlauftextur = " & staircase.GetTexture(ACSTI_Handlauf), theindex
AddPropToTree "Name der Stufentextur = " & staircase.GetTexture(ACSTI_Stufen), theindex
AddPropToTree "Name der Sprossentextur = " & staircase.GetTexture(ACSTI_Sprossen), theindex
AddPropToTree "Name der Belagtextur = " & staircase.GetTexture(ACSTI_Belag), theindex
On Error GoTo 0
' Fⁿr polygonale Wendeltreppen k÷nnen wir noch mehr Details ermitteln
Dim polyConstr As ArCon.PolygonWendelConstruction
Set polyConstr = staircase.GetPolygonWendelConstruction
If Not polyConstr Is Nothing Then
OnePolyStairToTree "Details fⁿr polygonale Wendeltreppen", polyConstr, theindex, False
End If
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OnePolyStairToTree(s As String, props As ArCon.PolygonWendelConstruction, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not props Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Achslage = " & props.Achslage, theindex
AddPropToTree "Anzahl Steigungen = " & props.AnzahlSteigungen, theindex
AddPropToTree "Auftrittsbreite = " & props.AuftrittsBreite, theindex
AddPropToTree "Bauart = " & props.Bauart, theindex
AddPropToTree "Fu▀laufBreite = " & props.FusslaufBreite, theindex
AddPropToTree "Fu▀laufDicke = " & props.FusslaufDicke, theindex
AddPropToTree "GelΣnderbauart = " & props.GelaenderBauart, theindex
AddPropToTree "Breite des Handlaufs = " & props.HandlaufBreite, theindex
AddPropToTree "Dicke des Handlaufs = " & props.HandlaufDicke, theindex
AddPropToTree "Durchmesser des Handlaufs = " & props.HandlaufDurchmesser, theindex
AddPropToTree "H÷he des Handlaufs = " & props.HandlaufHoehe, theindex
AddPropToTree "Handlauf mit Knicken = " & props.HandlaufMitKnicken, theindex
AddPropToTree "Querschnitt des Handlaufs = " & props.HandlaufQuerschnitt, theindex
AddPropToTree "H÷he der Treppe = " & props.Hoehe, theindex
AddPropToTree "Laufbreite au▀en = " & props.LaufBreiteAussen, theindex
AddPropToTree "LauflΣnge = " & props.LaufLaenge, theindex
AddPropToTree "Maximale Auslenkung links = " & props.MaximaleAuslenkungLinks, theindex
AddPropToTree "Maximale Auslenkung rechts = " & props.MaximaleAuslenkungRechts, theindex
AddPropToTree "Mit GelΣnder links = " & props.MitGelaenderLinks, theindex
AddPropToTree "MitGelΣnder rechts = " & props.MitGelaenderRechts, theindex
AddPropToTree "Mit Setzstufen = " & props.MitSetzStufen, theindex
AddPropToTree "Mittlerer Fu▀laufabstand = " & props.MittlererFusslaufAbstand, theindex
AddPropToTree "Niveau am Antritt = " & props.NiveauAmAntritt, theindex
AddPropToTree "Breite der Pfosten = " & props.PfostenBreite, theindex
AddPropToTree "Dicke der Pfosten = " & props.PfostenDicke, theindex
AddPropToTree "Durchmesser der Pfosten = " & props.PfostenDurchmesser, theindex
AddPropToTree "LΣnge der Pfosten = " & props.PfostenLaenge, theindex
AddPropToTree "Name der Pfostenobjekte = " & props.PfostenObjektName, theindex
AddPropToTree "Pfostenquerschnitt = " & props.PfostenQuerschnitt, theindex
AddPropToTree "Schrittmass optimieren = " & props.SchrittMassOptimieren, theindex
AddPropToTree "Breite der StΣbe = " & props.StabBreite, theindex
AddPropToTree "Dicke der StΣbe = " & props.StabDicke, theindex
AddPropToTree "Durchmesser der StΣbe= " & props.StabDurchmesser, theindex
AddPropToTree "Maximaler Stababstand = " & props.StabMaximalerAbstand, theindex
AddPropToTree "Stabquerschnitt = " & props.StabQuerschnitt, theindex
AddPropToTree "Winkel am Antritt = " & props.WinkelAmAntritt, theindex
AddPropToTree "Winkel am Austritt = " & props.WinkelAmAustritt, theindex
AllPointsToTree "Liste der Polygonpunkte", props.GetPolygon, theindex, True
End If
End Sub
Private Sub AllStaircasesToTree(s As String, Container As Object, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Stairs.Count & ")", ParentIndex, AktIndex
Dim o As Object
Dim i As Integer
i = 1
For Each o In Container.Stairs
OneStairCaseToTree "Treppe Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Stairs.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneDwellingToTree(s As String, dwell As ArCon.Dwelling, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not dwell Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Name = " & dwell.Name, theindex
AddPropToTree "Bemerkung = " & dwell.Remark, theindex
AddPropToTree "Nicht zugeordnet = " & dwell.NotAssigned, theindex
AllBuildingsToTree "Liste der GebΣude", dwell, theindex, False
AllStoriesToTree "Liste der Stockwerke", dwell, theindex, False
AllRoomsToTree "Liste der RΣume", dwell, theindex, False
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneIIBvSettingsToTree(s As String, stg As ArCon.IIBvSettings, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not stg Is Nothing Then
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Fenster addieren = " & stg.AddWindows, theindex
AddPropToTree "Maximale ErkerflΣche = " & stg.MaxBayArea, theindex
AddPropToTree "Maximale Treppenh÷he = " & stg.MaxStaircaseHeight, theindex
AddPropToTree "Minimale StⁿtzenflΣche = " & stg.MinSupportArea, theindex
AddPropToTree "Minimale Fenstertiefe = " & stg.MinWindowDepth, theindex
AddPropToTree "H÷he der 1. H÷henlinie = " & stg.Niveau1, theindex
AddPropToTree "H÷he der 2. H÷henlinie = " & stg.Niveau2, theindex
Dim txt As String
If stg.Staircases = AC_IIBV_STAIRCASE_IGNORE Then
txt = "ignorieren"
ElseIf stg.Staircases = AC_IIBV_STAIRCASE_LIKE_ROOFS Then
txt = "wie DachflΣchen"
ElseIf stg.Staircases = AC_IIBV_STAIRCASE_SUB_LOWER_THAN Then
txt = "abziehen, wenn H÷he < minimale Treppenh÷he"
Else
txt = "unbekannter Code: " & stg.Staircases
End If
AddPropToTree "Art der Treppenberechnung = " & txt, theindex
AddPropToTree "Erker abziehen = " & stg.SubBays, theindex
AddPropToTree "Stⁿtzen abziehen = " & stg.SubSupports, theindex
AddPropToTree "Rohbauma▀e verwenden = " & stg.UseCarcassMeasures, theindex
AddPropToTree "1. H÷henlinie wird verwendet = " & stg.Used1, theindex
AddPropToTree "2. H÷henlinie wird verwendet = " & stg.Used2, theindex
AddPropToTree "1. H÷henlinie ist sichtbar = " & stg.Visible1, theindex
AddPropToTree "2. H÷henlinie ist sichtbar = " & stg.Visible2, theindex
AddPropToTree "Gewichtung unter der 1. H÷henlinie = " & stg.Weight1, theindex
AddPropToTree "Gewichtung unter der 2. H÷henlinie = " & stg.Weight2, theindex
AddPropToTree "Gewichtung ⁿber der 2. H÷henlinie = " & stg.WeightAbove, theindex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllDwellingsToTree(s As String, dwells As DwellingCollection, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
If dwells Is Nothing Then
AddPropToTree s & " ist Nothing!!!", ParentIndex
Exit Sub
End If
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & dwells.Count & ")", ParentIndex, AktIndex
Dim dw As ArCon.Dwelling
Dim i As Integer
i = 1
For Each dw In dwells
OneDwellingToTree "Wohnung Nummer " & i, dw, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & dwells.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub ArConToTree()
Dim PropIndex As Integer
Dim StdIndex As Integer
Dim ListIndex As Integer
Dim ObjIndex As Integer
Dim i As Integer
ListIndex = 0
PropIndex = 1
StdIndex = 2
ObjIndex = 3
AktIndex = 4
If UseLists.Value Then
TreeView.Nodes.Add , tvwChild, "S" & CStr(ListIndex), "Auflistungen"
AllBuildingsToTree "Liste aller GebΣude", ArConEXE, ListIndex, True
AllTerrainsToTree "Liste aller Grundstⁿcke", ArConEXE, ListIndex, True
AllGuidesToTree "Liste aller Hilfslinien", ArConEXE, ListIndex, True
AllDimensionsToTree "Liste aller Bema▀ungen", ArConEXE, ListIndex, True
AllLabelingsToTree "Liste aller Beschriftungen", ArConEXE, ListIndex, True
AllCutsToTree "Liste aller Schnitte", ArConEXE, ListIndex, True
AllViewsToTree "Liste der Ansichten", ArConEXE.Views, ListIndex, True
AllDwellingsToTree "Liste der Wohnungen", ArConEXE.Dwellings, ListIndex, True
End If
If UseDefaults.Value Then
TreeView.Nodes.Add , tvwChild, "S" & CStr(StdIndex), "Standardeinstellungen"
For i = 0 To AC_MaxWallType
OneWallToTree "Die Standardeinstellungen fⁿr Wandtyp " & Str(i), ArConEXE.GetDefaultWall(i), StdIndex, False
Next
For i = 0 To ArConEXE.AvailableDoors - 1
OneDoorToTree "Die Standardeinstellungen fⁿr Tⁿrtyp " & Str(i), ArConEXE.GetDefaultDoor(i), StdIndex, False
Next
For i = 0 To AC_MaxTerrainType
OneTerrainToTree "Die Standardeinstellungen fⁿr GelΣndetype " & Str(i), ArConEXE.GetDefaultTerrain(i), StdIndex, False
Next
OneLabelingToTree "Die Standardeinstellungen fⁿr Beschriftungen", ArConEXE.GetDefaultLabeling, StdIndex, False
OneDimensionToTree "Die Standardeinstellungen fⁿr Bema▀ungen", ArConEXE.GetDefaultDimension, StdIndex, False
OneGuideToTree "Die Standardeinstellungen fⁿr Hilfslinien", ArConEXE.GetDefaultGuide, StdIndex, False
OneHoleToTree "Die Standardeinstellungen fⁿr Wandl÷cher", ArConEXE.GetDefaultHole, StdIndex, False
OneIIBvSettingsToTree "Die Einstellungen fⁿr die 2. BV", ArConEXE.IIBvSettings(True), StdIndex, False
For i = 0 To AC_MaxChimneyType
OneChimneyToTree "Die Standardeinstellungen fⁿr Schornsteintyp " & Str(i), ArConEXE.GetDefaultChimney(i), StdIndex, False
Next
For i = 0 To AC_MaxSupportType
OneSupportToTree "Die Standardeinstellungen fⁿr Stⁿtzentype " & Str(i), ArConEXE.GetDefaultSupport(i), StdIndex, False
Next
OneCeilingToTree "Die Standardeinstellungen fⁿr Deckenplatten", ArConEXE.GetDefaultCeiling, StdIndex, False
End If
If UseProps.Value Then
TreeView.Nodes.Add , tvwChild, "S" & CStr(PropIndex), "Eigenschaften"
OneBuildingToTree "Das aktuelle GebΣude", ArConEXE.CurrentBuilding, PropIndex, False
OneStoryToTree "Das aktuelle Stockwerk", ArConEXE.CurrentStory, PropIndex, False
OneTerrainToTree "UmgebungsgelΣnde", ArConEXE.GlobalTerrain, PropIndex, False
TheProjectToTree "Aktuelles Projekt", ArConEXE.CurrentProject, PropIndex, False
OneIIBvSettingsToTree "Einstellunge fⁿr 2. BV", ArConEXE.IIBvSettings(False), PropIndex, False
AddPropToTree "ArCon Installationsverzeichnis " & ArConEXE.ArConDirectory, PropIndex
AddPropToTree "Anzahl der verfⁿgbaren Fenstertypen " & ArConEXE.AvailableWindows, PropIndex
AddPropToTree "Welche Hilfsmittel sind aktiviert? " & ArConEXE.state, PropIndex
AddPropToTree "Aktueller Bearbeitungsmodus " & ArConEXE.Mode, PropIndex
AddPropToTree "Anzahl der konstruierten Fenstertypen " & ArConEXE.ConstructedWindows, PropIndex
AddPropToTree "ArCon.EXE lΣuft?" & ArConEXE.Running, PropIndex
AddPropToTree "Interner Modus (undokumentiert) " & ArConEXE.InternalMode, PropIndex
AddPropToTree "Menⁿ-ID des Eintrages, ⁿber den dieses Makro gestartet wurde " & ArConEXE.StartupMenuID, PropIndex
AddPropToTree "Anzahl der verfⁿgbaren Tⁿrtypen " & ArConEXE.AvailableDoors, PropIndex
AddPropToTree "Anzahl der verfⁿgbaren Treppentypen " & ArConEXE.AvailableStairCases, PropIndex
AddPropToTree "Anzahl der verfⁿgbaren Treppenpfosten-Objekte " & ArConEXE.AvailablePfostenObjects, PropIndex
For i = 0 To ArConEXE.AvailableWindows - 1
If i < ArConEXE.ConstructedWindows Then
AddPropToTree "Fensters Nr. " & Str(i) & " ist frei konstruierbar", PropIndex
Else
AddPropToTree "Name des Fensters Nr. " & Str(i) & ": " & ArConEXE.WindowName(i), PropIndex
End If
Next
For i = 0 To ArConEXE.AvailableDoors - 1
AddPropToTree "Name der Tⁿr Nr. " & Str(i) & ": " & ArConEXE.DoorName(i), PropIndex
Next
For i = 0 To ArConEXE.AvailableStairCases - 1
AddPropToTree "Name des Treppentypes Nr. " & Str(i) & ": " & ArConEXE.GetStairCaseName(i), PropIndex
Next
For i = 0 To ArConEXE.AvailablePfostenObjects - 1
AddPropToTree "Beschreibung des Pfostentyps Nr. " & Str(i) & ": " & ArConEXE.GetPfostenBeschreibung(i), PropIndex
AddPropToTree "Name des Pfostenobjektes Nr. " & Str(i) & ": " & ArConEXE.GetPfostenObject(i), PropIndex
Next
End If
If UseObjects.Value Then
TreeView.Nodes.Add , tvwChild, "S" & CStr(ObjIndex), "Objekte"
AllConstructorsToTree "Liste aller geladenen Objektklassen", ArConEXE.DesignObjectConstructors, ObjIndex, True
AllObjectsToTree "Liste aller Objektinstanzen", ArConEXE.DesignObjects, ObjIndex, True
End If
End Sub
Private Sub OneConstructorToTree(s As String, constr As ArCon.ObjectConstructor, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not constr Is Nothing Then
Dim theindex As Integer, props As Long, pStr As String
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddIDToTree constr, theindex
AddPropToTree "Dateiname = " & constr.RelativeFileName, theindex
AddPropToTree "Download-URL des Objektes = " & constr.GetURL("XX", AcObjUrlNo_Object), theindex
AddPropToTree "Beschreibungs-URL des Objektes = " & constr.GetURL("XX", AcObjUrlNo_Description), theindex
props = constr.Properties
pStr = "Eigenschaften des Objektes ="
If props And ACDOP_HAS_LAMPS Then
pStr = pStr & " [hat Lampen]"
End If
If props And ACDOP_LAMPS_DEFAULT_ON Then
pStr = pStr & " [Lampen voreingestellt an]"
End If
If props And ACDOP_HAS_GRAVITY Then
pStr = pStr & " [fΣllt]"
End If
If props And ACDOP_GRAVITY_DEFAULT_ON Then
pStr = pStr & " [fallen voreingestellt an]"
End If
If props And ACDOP_GRAVITY_UP Then
pStr = pStr & " [fΣllt nach oben]"
End If
If props And ACDOP_HAS_TEXS Then
pStr = pStr & " [hat Texturen]"
End If
If props And ACDOP_HAS_TRANSP Then
pStr = pStr & " [hat transparente FlΣchen]"
End If
AddPropToTree pStr, theindex
AllTextureNamesToTree "Liste der Texturnamen", constr.GetTextureCollection, theindex, recurse
AllObjectsToTree "Liste der Instanzen", constr.Objects, theindex, recurse
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneBoxToTree(s As String, b As ArCon.Box, ParentIndex As Integer)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not b Is Nothing Then
Dim theindex As Integer
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddPropToTree "Bodendicke = " & b.BottomThickness, theindex
AddPropToTree "Art der Kiste = " & b.BoxType, theindex
AddPropToTree "Seitenwinkel = " & b.FaceAngle, theindex
AddPropToTree "FΣllt nach unten = " & b.HasGravity, theindex
AddPropToTree "H÷he = " & b.Height, theindex
AddPropToTree "H÷he ⁿber dem Fu▀boden = " & b.HeightAboveGround, theindex
AddPropToTree "Verjⁿngung = " & b.Inclination, theindex
AddPropToTree "L÷cher auch verjⁿngen = " & b.InclineHoles, theindex
AddPropToTree "Verzerrt skalieren = " & b.ScaleDistorted, theindex
AddPropToTree "Verjⁿngungsfaktor = " & b.ScaleFactor, theindex
AddPropToTree "Vertikal = " & b.Vertical, theindex
AddPropToTree "Wanddicke = " & b.WallThickness, theindex
Dim minX As Single, minY As Single, maxX As Single, maxY As Single
b.GetBoundingBox minX, minY, maxX, maxY
AddPropToTree "Bounding-Box = (" & minX & "/" & minY & ") - (" & maxX & "/" & maxY & ")", theindex
OneShapeToTree "Polygon(e) der Kiste", b.GetShape(0.1, 0.2), theindex
OneTextureToTree "Bodentextur", b.texture(AC_SHAPETEX_BOTTOM), theindex, True
OneTextureToTree "Textur des inneren Randes", b.texture(AC_SHAPETEX_INNER_FACE), theindex, True
OneTextureToTree "Textur des Σu▀eren Randes", b.texture(AC_SHAPETEX_OUTER_FACE), theindex, True
OneTextureToTree "Deckeltextur", b.texture(AC_SHAPETEX_TOP), theindex, True
OneTextureToTree "Innenbodentextur", b.texture(AC_SHAPETEX_BOTTOM_INSIDE), theindex, True
End If
RekLevel = RekLevel - 1
End Sub
Private Sub OneObjectToTree(s As String, obj As ArCon.Object3D, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not obj Is Nothing Then
Dim theindex As Integer
Dim minX As Single, minY As Single, minZ As Single
Dim maxX As Single, maxY As Single, maxZ As Single
theindex = AktIndex
AddChildToTree s, ParentIndex, AktIndex
AddIDToTree obj, theindex
AddPropToTree "Name = " & obj.Name, theindex
AddPropToTree "Ist eine Gruppe = " & obj.Group, theindex
AddPropToTree "Darf verzerren = " & obj.DarfVerzerren, theindex
obj.GetBoundingBox minX, minY, minZ, maxX, maxY, maxZ
AddPropToTree "Bounding-Box = (" & minX & ", " & minY & ", " & minZ & "), (" & maxX & ", " & maxY & ", " & maxZ & ")", theindex
obj.GetExtend False, minX, minY, minZ
AddPropToTree "Originalgr÷▀e = (" & minX & ", " & minY & ", " & minZ & ")", theindex
obj.GetExtend True, minX, minY, minZ
AddPropToTree "Aktuelle Gr÷▀e = (" & minX & ", " & minY & ", " & minZ & ")", theindex
AddPropToTree "Wirft keine Schatten = " & obj.KeineSchatten, theindex
AddPropToTree "Lampen sind bei Nacht eingeschaltet = " & obj.LampenBeiNachtAn, theindex
AddPropToTree "Lampen sind eingeschaltet = " & obj.LampenSindAn, theindex
AddPropToTree "Einfluss des eigenen Lichtes = " & obj.LichtEinfluss, theindex
AddPropToTree "Farbe des eigenen Lichtes = " & obj.LichtFarbe, theindex
AddPropToTree "IntensitΣt des eigenen Lichtes = " & obj.LichtIntensitaet, theindex
AddPropToTree "Das eigene Licht erzeugt Schatten = " & obj.LichtMachtSchatten, theindex
AddPropToTree "Lokal an das GelΣnde anpassen = " & obj.LokalAnTerrainAnpassen, theindex
AddPropToTree "Ist ein Teil des Raumes = " & obj.RoomObject, theindex
AddPropToTree "Soll fallen = " & obj.SollFallen, theindex
OneBoxToTree "Kisten-Eigenschaften", obj.Box, theindex
Dim mat
obj.GetModelToWorldTransformation mat
AddPropToTree "Modell -> Welt (0, 0) = " & mat(0, 0), theindex
AddPropToTree "Modell -> Welt (0, 1) = " & mat(0, 1), theindex
AddPropToTree "Modell -> Welt (0, 2) = " & mat(0, 2), theindex
AddPropToTree "Modell -> Welt (0, 3) = " & mat(0, 3), theindex
AddPropToTree "Modell -> Welt (1, 0) = " & mat(1, 0), theindex
AddPropToTree "Modell -> Welt (1, 1) = " & mat(1, 1), theindex
AddPropToTree "Modell -> Welt (1, 2) = " & mat(1, 2), theindex
AddPropToTree "Modell -> Welt (1, 3) = " & mat(1, 3), theindex
AddPropToTree "Modell -> Welt (2, 0) = " & mat(2, 0), theindex
AddPropToTree "Modell -> Welt (2, 1) = " & mat(2, 1), theindex
AddPropToTree "Modell -> Welt (2, 2) = " & mat(2, 2), theindex
AddPropToTree "Modell -> Welt (2, 3) = " & mat(2, 3), theindex
AddPropToTree "Modell -> Welt (3, 0) = " & mat(3, 0), theindex
AddPropToTree "Modell -> Welt (3, 1) = " & mat(3, 1), theindex
AddPropToTree "Modell -> Welt (3, 2) = " & mat(3, 2), theindex
AddPropToTree "Modell -> Welt (3, 3) = " & mat(3, 3), theindex
On Error GoTo noDB
Dim dbID As Long, objID As Long
If obj.DatabaseInfo(dbID, objID) Then
AddPropToTree "Objekt stammt aus Datenbank #" & dbID & " und hat die ID #" & objID, theindex
AddPropToTree "GUID des Objektes = " & obj.GetGUID, theindex
Else
AddPropToTree "Objekt stammt nicht aus einer Datenbank", theindex
End If
On Error GoTo 0
noDB:
OneConstructorToTree "Klasse des Objektes", obj.ObjectConstructor, theindex, False
AllTextureNamesToTree "Liste der Texturnamen", obj.GetTextureCollection, theindex, recurse
If obj.ParentObject Is Nothing Then
AddPropToTree "Objekt ist nicht Teil einer Gruppe", theindex
Else
OneObjectToTree "Gruppe, zu der das Objekt geh÷rt", obj.ParentObject, theindex, False
End If
AllObjectsToTree "Liste der Sub-Objekte", obj.SubObjects, theindex, recurse
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllTextureNamesToTree(s As String, list As ArCon.TextureCollection, ParentIndex As Integer, recurse As Boolean)
If RekLevel > MaxRekLevel Then Exit Sub
RekLevel = RekLevel + 1
If Not list Is Nothing Then
Dim l As ArCon.TextureName
Dim theindex As Integer, i As Integer
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & list.Count & ")", ParentIndex, AktIndex
i = 1
For Each l In list
AddPropToTree i & ". Textur = " & l.Name, theindex
i = i + 1
Next
Else
AddPropToTree s & " ist NOTHING !!!", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllConstructorsToTree(s As String, Container As ArCon.ObjectConstructorCollection, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
If Container Is Nothing Then
AddChildToTree s & " ist Nothing!", ParentIndex, AktIndex
Exit Sub
End If
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Count & ")", ParentIndex, AktIndex
Dim o As ArCon.ObjectConstructor
Dim i As Integer
i = 1
For Each o In Container
OneConstructorToTree "Objekte-Klasse Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub AllObjectsToTree(s As String, Container As ArCon.Object3DCollection, ParentIndex As Integer, recurse As Boolean)
Dim theindex As Integer
If RekLevel > MaxRekLevel Then Exit Sub
If Container Is Nothing Then
AddChildToTree s & " ist Nothing!", ParentIndex, AktIndex
Exit Sub
End If
RekLevel = RekLevel + 1
If recurse Then
theindex = AktIndex
AddChildToTree s & " (Anzahl: " & Container.Count & ")", ParentIndex, AktIndex
Dim o As ArCon.Object3D
Dim i As Integer
i = 1
For Each o In Container
OneObjectToTree "Objekt Nummer " & i, o, theindex, True
i = i + 1
Next
Else
AddPropToTree s & " enthΣlt " & Container.Count & " Elemente.", ParentIndex
End If
RekLevel = RekLevel - 1
End Sub
Private Sub GetTheTree()
MousePointer = vbHourglass
TreeView.Visible = False
Label1.Visible = True
Aktualisieren.Enabled = False
Beenden.Enabled = False
Iteratoren.Refresh
TreeView.LineStyle = tvwRootLines ' Linestyle 1
TreeView.Nodes.Clear
ArConToTree
TreeView.Visible = True
Label1.Visible = False
Aktualisieren.Enabled = True
Beenden.Enabled = True
MousePointer = vbDefault
Iteratoren.Refresh
End Sub
Private Sub Aktualisieren_Click()
GetTheTree
End Sub
Private Sub Beenden_Click()
On Error Resume Next
ArConEXE.EndMe
Unload Me
End Sub
Private Sub Form_Load()
Iteratoren.Show
OptionLow.Value = True
UseLists.Value = 1
UseDefaults.Value = 0
UseProps.Value = 0
Set ArConEXE = New ArCon.ArCon ' CreateObject("ArCon.OttoPlanungsatelier.1")
If ArConEXE.StartMe(hWnd, "") Then
GetTheTree
Else
MsgBox ("Es konnte keine Verbindung zu ArCon hergestellt werden!")
Unload Me
End If
End Sub
Private Sub SetLevel()
If OptionLow.Value Then
MaxRekLevel = 3
ElseIf OptionMedium.Value Then
MaxRekLevel = 5
ElseIf OptionHeigh.Value Then
MaxRekLevel = 7
ElseIf OptionMax.Value Then
MaxRekLevel = 1000
End If
End Sub
Private Sub OptionLow_Click()
SetLevel
End Sub
Private Sub OptionMedium_Click()
SetLevel
End Sub
Private Sub OptionHeigh_Click()
SetLevel
End Sub
Private Sub OptionMax_Click()
SetLevel
End Sub