home *** CD-ROM | disk | FTP | other *** search
/ The Houseplan Collection / HRCD2005.ISO / data1.cab / Zusatz / 3DS / DATA2.Z / MainModule.bas < prev    next >
BASIC Source File  |  1998-09-17  |  2KB  |  46 lines

  1. Attribute VB_Name = "MainModule"
  2. Option Explicit
  3.  
  4. Dim exe As New ArCon.ArCon
  5.  
  6. Sub Main()
  7.     exe.StartMe 0, ""
  8.     
  9.     If exe.Mode = AC_NoMode Then
  10.         exe.CreateProject exe.NewProject
  11.     End If
  12.     
  13.     ' ZunΣchst im Konstruktionsmodus eine Wand erzeugen
  14.     exe.Mode = AC_ModeConstruct
  15.     Dim rechteWand As ArCon.Wall, hintereWand As ArCon.Wall
  16.     Set rechteWand = exe.NewWall(0)
  17.     Set hintereWand = exe.NewWall(0)
  18.     exe.CurrentStory.PlaceWall rechteWand, 2, 2, 2, -2
  19.     exe.CurrentStory.PlaceWall hintereWand, 2, 2, -2, 2
  20.     
  21.     ' In den Designmodus und vor die Wand eine Wanne
  22.     exe.Mode = AC_ModeDesign
  23.     Dim c As ArCon.ObjectConstructor, i As ArCon.Object3D
  24.     Set c = exe.LoadObjectConstructor(">Bad\Wannen\BDWA02B.ACO", ACO_DURATION_CACHEABLE)
  25.     Set i = c.Create(Nothing, False)
  26.     
  27.     ' Gr÷▀e des geladenen Objektes ermitteln
  28.     Dim dx As Single, dy As Single, dz As Single
  29.     i.GetExtend False, dx, dy, dz
  30.     
  31.     ' Transformationsmatrix ermitteln
  32.     Dim m(3, 3) As Single
  33.     Dim xPos As Single, yPos As Single, zPos As Single
  34.     xPos = 2 - rechteWand.Thickness / 2 - dx / 2
  35.     yPos = 2 - hintereWand.Thickness / 2 - dy / 2
  36.     Dim s As ArCon.Story
  37.     Set s = exe.CurrentStory
  38.     zPos = s.BaseHeight + s.Rohdecke + s.Fussboden
  39.     m(0, 0) = 1: m(0, 1) = 0: m(0, 2) = 0: m(0, 3) = xPos
  40.     m(1, 0) = 0: m(1, 1) = 1: m(1, 2) = 0: m(1, 3) = yPos
  41.     m(2, 0) = 0: m(2, 1) = 0: m(2, 2) = 1: m(2, 3) = zPos
  42.     m(3, 0) = 0: m(3, 1) = 0: m(3, 2) = 0: m(3, 3) = 1
  43.     i.SetModelToWorldTransformation m
  44.     i.InsertIntoWorld False
  45. End Sub
  46.