' 01.01.2004 ' Alte Version vom 07.06.2003 ' Hans-Peter Kuberna ' hans-peter@kuberna.de ' Germany ' peterCubeVertex23Home.vbs ' for Softimage XSI 3.0 DeleteAll newscene , false 'SetDisplayMode "Camera", "textured" SetDisplayMode "Camera", "realtimeshaders" 'SetDisplayMode "Views.ViewA.TopCamera", "textured" SetDisplayMode "Views.ViewA.TopCamera", "wireframe" 'SetDisplayMode "Views.ViewC.FrontCamera", "wireframe" 'SetDisplayMode "Views.ViewD.RightCamera", "wireframe" set oRoot = activesceneroot function FotoApperat SelectObj "Camera.camera" SetValue "Camera.camera.projplanedist", 2 SetValue "Camera.camera.std", 10 SetValue "Camera_Root.kine.global.sclz", 1.0 SetValue "Camera_Root.kine.global.sclz", 1.0 SetValue "Camera_Root.kine.global.sclz", 1.0 SetValue "Camera_Root.kine.global.posx", 0.0 SetValue "Camera_Root.kine.global.posy", 0.0 SetValue "Camera_Root.kine.global.posz", 25.0 'SetValue "Camera_Root.kine.local.rotx", 0.0 'SetValue "Camera_Root.kine.local.roty", 0.0 'SetValue "Camera_Root.kine.local.rotz", 0.0 'SetValue "Camera_Root.kine.local.posx", 0.0 'SetValue "Camera_Root.kine.local.posy", 0.0 'SetValue "Camera_Root.kine.local.posz", 55.0 end function function NOffset(NWertEin,NWertEinZahl) NWertEinMod = NWertEin Mod 8 NWertEinInt = Int(NWertEin/4) NWertEinOffs = (Int((NWertEinMod*3+1)/4) mod 2)*2 + (NWertEinMod mod 4)*4 + (Int((NWertEinMod+4)/4) mod 2) NWertEinZahl = NWertEinInt*15+NWertEinOffs end function dim KantenNummer dim KantenLaenge dim KantenRadius KantenRadius = 0.125 KantenLaenge=16 aKPosX = Array(-1, +1, -1, +1, -1, -1, +1, +1, 0, 0, 0, 0) aKPosY = Array(+0, +0, +0, +0, -1, +1, -1, +1, -1, +1, -1, +1) aKPosZ = Array(+1, +1, -1, -1, 0, 0, 0, 0, -1, -1, +1, +1) aKRotierX = Array(0, 0, 0, 0, 90, 90, 90, 90, 0, 0, 0, 0) aKRotierY = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) aKRotierZ = Array(0, 0, 0, 0, 0, 0, 0, 0, 90, 90, 90, 90) function AussenWuerfel For KantenNummer = 0 to 11 ' EckeX=-0.5*KantenLaenge+(int((EckenKanten+0)/2) mod 2)*KantenLaenge ' EckeZ=-0.5*KantenLaenge+(int((EckenNummer+1)/2) mod 2)*KantenLaenge ' EckeY=+0.0*KantenLaenge+(int((EckenNummer/4)/1) mod 2)*KantenLaenge KantenName="Kante"&CStr(KantenNummer) Set ocylinder = CreatePrim( "Cylinder", "MeshSurface" ) SetValue ".Name", KantenName SelectObj KantenName SetValue KantenName & ".cylinder.radius", KantenRadius SetValue KantenName & ".cylinder.height", KantenLaenge*2-(0*KantenRadius) ApplyShader SetValue KantenName & ".Material.Phong.diffuse.red" , 0 SetValue KantenName & ".Material.Phong.diffuse.green" , 0 SetValue KantenName & ".Material.Phong.diffuse.blue" , 1 ocylinder.Kinematics.Local.Parameters("posx").value = aKPosX(KantenNummer)*KantenLaenge ocylinder.Kinematics.Local.Parameters("posy").value = aKPosY(KantenNummer)*KantenLaenge ocylinder.Kinematics.Local.Parameters("posz").value = aKPosZ(KantenNummer)*KantenLaenge ocylinder.Kinematics.Local.Parameters("rotx").value = aKRotierX(KantenNummer) ocylinder.Kinematics.Local.Parameters("roty").value = aKRotierY(KantenNummer) ocylinder.Kinematics.Local.Parameters("rotz").value = aKRotierZ(KantenNummer) 'ocylinder.Kinematics.Local.Parameters("sclx").value = groesseblock 'ocylinder.Kinematics.Local.Parameters("scly").value = groesseblock 'ocylinder.Kinematics.Local.Parameters("sclz").value = groesseblock Next end function function KugelMitte Set oSphere = CreatePrim( "Sphere", "MeshSurface") SetValue ".Name","SphereMitte" SelectObj "SphereMitte" SetValue "SphereMitte.sphere.radius", 0.5 ApplyShader SetValue "SphereMitte.Material.Phong.diffuse.red", 1.0 SetValue "SphereMitte.Material.Phong.diffuse.green", 0.0 SetValue "SphereMitte.Material.Phong.diffuse.blue", 0.0 end function dim groesseblock groesseblock = 0.075 dim ZahlZaehler dim Farbwert dim FarbeRot,FarbeGruen,FarbeBlau dim oCube, n set n = Application.ActiveProject.ActiveScene.Root.AddNull function wuerfel Farbwert = ZahlZaehler FarbeRot = Int((Farbwert+0)/3) Mod 2 FarbeGruen = Int((Farbwert+1)/3) Mod 2 FarbeBlau = Int((Farbwert+2)/3) Mod 2 Wuerfelname="wuerfel"&CStr(ZahlZaehler) Set oCube = CreatePrim( "Cube", "MeshSurface" ) SetValue "Cube.Name", Wuerfelname SelectObj Wuerfelname ApplyShader SetValue Wuerfelname & ".Material.Phong.diffuse.red" , FarbeRot SetValue Wuerfelname & ".Material.Phong.diffuse.green" , FarbeGruen SetValue Wuerfelname & ".Material.Phong.diffuse.blue" , FarbeBlau SetValue "wuerfel0.Material.Phong.refract_inuse", True SetValue "wuerfel0.Material.Phong.index_of_refraction", 0.7 SetValue "wuerfel0.Material.Phong.reflect_inuse", True SetValue "wuerfel0.Material.Phong.reflect_samples", 0.2 oCube.Kinematics.Local.Parameters("posx").value = -15.0+SpalteZahl oCube.Kinematics.Local.Parameters("posy").value = -15.0+ZeileZahl oCube.Kinematics.Local.Parameters("posz").value = +15.0-LageZahl 'oCube.Kinematics.Local.Parameters("rotx").value = 0.0 'oCube.Kinematics.Local.Parameters("roty").value = 0.0 'oCube.Kinematics.Local.Parameters("rotz").value = 0.0 oCube.Kinematics.Local.Parameters("sclx").value = groesseblock oCube.Kinematics.Local.Parameters("scly").value = groesseblock oCube.Kinematics.Local.Parameters("sclz").value = groesseblock end function dim ZahlString dim Zahlwert function Zahl ZahlString = Cstr( Zahlwert) ZahlName = "Zahl" & ZahlString CreateMeshText "CurveListToSolidMeshForText",ZahlName SetValue "text.Name", ZahlName SelectObj ZahlName SetValue ZahlName & ".text.text", "_RTF_{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fprq8\fcharset0 Arial Black;}}"& vbCrLf & "\viewkind4\uc1\pard\qc\lang1031\b\f0\fs16 " & ZahlString &" \par" & vbCrLf & "}" & vbCrLf & "" SetValue Zahlname & ".kine.local.posx", -15.0+SpalteZahl+0.025 SetValue Zahlname & ".kine.local.posy", +15.0-ZeileZahl-0.0575 SetValue Zahlname & ".kine.local.posz", +15.0-LageZahl+0.3125 SetValue ZahlName & ".crvlist.TextToCurveList.fitsize", 0.10 PolyName = "polymsh" & ZahlString SelectObj "polymsh" SetValue "polymsh.Name", PolyName SelectObj PolyName SetValue PolyName & ".polymsh.CurveListToMesh.extrudelength", 0.0625 Farbwert = ZahlZaehler FarbeRot = Int((Farbwert+0)/3) Mod 2 FarbeGruen = Int((Farbwert+1)/3) Mod 2 FarbeBlau = Int((Farbwert+2)/3) Mod 2 ApplyShader SetValue PolyName & ".Material.Phong.diffuse.red", FarbeRot SetValue PolyName & ".Material.Phong.diffuse.green", FarbeGruen SetValue PolyName & ".Material.Phong.diffuse.blue", FarbeBlau SetValue PolyName & ".Material.Phong.index_of_refraction", 0.938 SetValue PolyName & ".Material.Phong.reflect_glossy", 0 SetValue PolyName & ".Material.Phong.reflect_samples", 0 end function 'SelectObj "Scene.Scenecolors" ' FotoApperat ' AussenWuerfel ' KugelMitte SelectObj "Project" ZahlZaehler=0 Lage=0 while Lage<8 NOffset Lage,LageZahl Zeile=0 while Zeile<8 NOffset Zeile,ZeileZahl Spalte=0 while Spalte<8 NOffset Spalte,SpalteZahl wuerfel ' Zahlwert=(SpalteZahl)+(Zeile*30)+(Lage*900) Zahl ZahlZaehler=ZahlZaehler+1 Spalte=Spalte+1 Wend Zeile=Zeile+1 Wend Lage=Lage+1 Wend