'
' (C) Copyright 2003-2019 by Autodesk, Inc.
'
' Permission to use, copy, modify, and distribute this software in
' object code form for any purpose and without fee is hereby granted,
' provided that the above copyright notice appears in all copies and
' that both that copyright notice and the limited warranty and
' restricted rights notice below appear in all supporting
' documentation.
'
' AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
' AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
' MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.?AUTODESK, INC.
' DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
' UNINTERRUPTED OR ERROR FREE.
'
' Use, duplication, or disclosure by the U.S. Government is subject to
' restrictions set forth in FAR 52.227-19 (Commercial Computer
' Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
' (Rights in Technical Data and Computer Software), as applicable.
'
Imports System
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
'''
''' Show some properties of a slab in Revit Structure2, including Level, Type name, Span divection,
''' Material name, Thickness, and Young Modulus for each layer of the slab's materira
'''
'''
Public Class SlabPropertiesForm
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
Friend WithEvents degreeLabel As System.Windows.Forms.Label
'To store the data
Private m_dataBuffer As Command
'overload the constructor
Public Sub New(ByVal dataBuffer As Command)
MyBase.New()
InitializeComponent()
m_dataBuffer = dataBuffer
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents levelTextBox As System.Windows.Forms.TextBox
Friend WithEvents typeNameTextBox As System.Windows.Forms.TextBox
Friend WithEvents spanDirectionTextBox As System.Windows.Forms.TextBox
Friend WithEvents layerGroupBox As System.Windows.Forms.GroupBox
Friend WithEvents layerRichTextBox As System.Windows.Forms.RichTextBox
Friend WithEvents closeButton As System.Windows.Forms.Button
Private Sub InitializeComponent()
Me.levelTextBox = New System.Windows.Forms.TextBox
Me.typeNameTextBox = New System.Windows.Forms.TextBox
Me.spanDirectionTextBox = New System.Windows.Forms.TextBox
Me.layerGroupBox = New System.Windows.Forms.GroupBox
Me.layerRichTextBox = New System.Windows.Forms.RichTextBox
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.Label3 = New System.Windows.Forms.Label
Me.closeButton = New System.Windows.Forms.Button
Me.degreeLabel = New System.Windows.Forms.Label
Me.layerGroupBox.SuspendLayout()
Me.SuspendLayout()
'
'levelTextBox
'
Me.levelTextBox.Location = New System.Drawing.Point(134, 9)
Me.levelTextBox.Name = "levelTextBox"
Me.levelTextBox.ReadOnly = True
Me.levelTextBox.Size = New System.Drawing.Size(280, 20)
Me.levelTextBox.TabIndex = 0
'
'typeNameTextBox
'
Me.typeNameTextBox.Location = New System.Drawing.Point(134, 35)
Me.typeNameTextBox.Name = "typeNameTextBox"
Me.typeNameTextBox.ReadOnly = True
Me.typeNameTextBox.Size = New System.Drawing.Size(280, 20)
Me.typeNameTextBox.TabIndex = 1
'
'spanDirectionTextBox
'
Me.spanDirectionTextBox.Location = New System.Drawing.Point(134, 61)
Me.spanDirectionTextBox.Name = "spanDirectionTextBox"
Me.spanDirectionTextBox.ReadOnly = True
Me.spanDirectionTextBox.Size = New System.Drawing.Size(232, 20)
Me.spanDirectionTextBox.TabIndex = 2
'
'layerGroupBox
'
Me.layerGroupBox.Controls.Add(Me.layerRichTextBox)
Me.layerGroupBox.Location = New System.Drawing.Point(21, 87)
Me.layerGroupBox.Name = "layerGroupBox"
Me.layerGroupBox.Size = New System.Drawing.Size(393, 273)
Me.layerGroupBox.TabIndex = 3
Me.layerGroupBox.TabStop = False
Me.layerGroupBox.Text = "Layers"
'
'layerRichTextBox
'
Me.layerRichTextBox.Location = New System.Drawing.Point(6, 19)
Me.layerRichTextBox.Name = "layerRichTextBox"
Me.layerRichTextBox.ReadOnly = True
Me.layerRichTextBox.Size = New System.Drawing.Size(381, 244)
Me.layerRichTextBox.TabIndex = 0
Me.layerRichTextBox.Text = ""
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(31, 8)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(98, 23)
Me.Label1.TabIndex = 4
Me.Label1.Text = "Level:"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
'Label2
'
Me.Label2.Location = New System.Drawing.Point(31, 31)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(98, 23)
Me.Label2.TabIndex = 5
Me.Label2.Text = "Type Name:"
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
'Label3
'
Me.Label3.Location = New System.Drawing.Point(31, 58)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(98, 23)
Me.Label3.TabIndex = 6
Me.Label3.Text = "Span Direction:"
Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
'closeButton
'
Me.closeButton.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.closeButton.Location = New System.Drawing.Point(339, 366)
Me.closeButton.Name = "closeButton"
Me.closeButton.Size = New System.Drawing.Size(75, 23)
Me.closeButton.TabIndex = 0
Me.closeButton.Text = "Close"
'
'degreeLabel
'
Me.degreeLabel.Location = New System.Drawing.Point(372, 58)
Me.degreeLabel.Name = "degreeLabel"
Me.degreeLabel.Size = New System.Drawing.Size(45, 23)
Me.degreeLabel.TabIndex = 6
Me.degreeLabel.Text = "Degree"
Me.degreeLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'SlabPropertiesForm
'
Me.AcceptButton = Me.closeButton
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.CancelButton = Me.closeButton
Me.ClientSize = New System.Drawing.Size(429, 401)
Me.Controls.Add(Me.closeButton)
Me.Controls.Add(Me.degreeLabel)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.layerGroupBox)
Me.Controls.Add(Me.spanDirectionTextBox)
Me.Controls.Add(Me.typeNameTextBox)
Me.Controls.Add(Me.levelTextBox)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "SlabPropertiesForm"
Me.ShowInTaskbar = False
Me.Text = "Slab Properties"
Me.layerGroupBox.ResumeLayout(False)
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
#End Region
'''
''' Display the properties on the form when the form load
'''
'''
'''
'''
Private Sub SlabPropertiesForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.levelTextBox.Text = m_dataBuffer.GetLevel()
Me.typeNameTextBox.Text = m_dataBuffer.GetTypeName()
Me.spanDirectionTextBox.Text = m_dataBuffer.GetSpanDirection()
Dim numberOfLayers As Integer = m_dataBuffer.GetLayerNum()
Me.layerRichTextBox.Text = ""
For i As Integer = 0 To numberOfLayers - 1
'Get each layer's Material name and Young Modulus properties
m_dataBuffer.SetLayer(i)
Me.layerRichTextBox.Text += "Layer " + (i + 1).ToString() + ControlChars.Lf
Me.layerRichTextBox.Text += "Material name: " + m_dataBuffer.GetLayerMaterialName() + ControlChars.Lf
Me.layerRichTextBox.Text += "Thickness: " + m_dataBuffer.GetLayerThickness() + ControlChars.Lf
Me.layerRichTextBox.Text += "YoungModule X: " + m_dataBuffer.GetLayerYoungModuleX() + ControlChars.Lf
Me.layerRichTextBox.Text += "YoungModule Y: " + m_dataBuffer.GetLayerYoungModuleY() + ControlChars.Lf
Me.layerRichTextBox.Text += "YoungModule Z: " + m_dataBuffer.GetLayerYoungModuleZ() + ControlChars.Lf
Me.layerRichTextBox.Text += "---------------------------------------------------------------" + ControlChars.Lf
Next i
End Sub
'''
''' close dialog
'''
'''
'''
'''
Private Sub closeButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles closeButton.Click
Close()
End Sub
End Class