POV-Ray : Newsgroups : povray.general : New arrival : Re: New arrival Server Time
19 Jan 2026 15:29:08 EST (-0500)
  Re: New arrival  
From: ingo
Date: 19 Jan 2026 10:35:00
Message: <web.696e4e69c46855ac17bac71e8ffb8ce3@news.povray.org>
"Bald Eagle" <cre### [at] netscapenet> wrote:

> And that has got me looking into OpenSCAD again.

Because of the resemblance with POV-Ray I looked into it. The resemblance is
only on the surface. The ned to define all transforms before one can finally add
the actual object annoyed me, as did the strange immutable vars. But, as I
understood they started last year with adding a python layer that changes all
that. There is also a "patched" version of openScad that does that. Have not
tried it.

I looked into 3D printing and listed what I would do with it. The result, ah,
that I can make from wood. So, no printer, with the happy side effect of no
plastics.

The nice thing with woodworking is that I can do my visualisations in POV-Ray
and fully parametric. I can even print the parts list.

But yes, interaction with openSCAD and FeeCAD are good things to do. I still see
POV-Ray as two things, SDL and the render engine. I still think a SDL can be
created that serves multiple back ends, POV-Ray, OpenGL, and all the new fancy
ray tracers like Embree. But also CAD like applications and proper output to CAM
equipment.

ingo


It's only in Dutch, sorry. Cabinet Corpus
---%<---%<---
#version 3.7;
global_settings{ assumed_gamma 1.0 }
#default{ finish{ ambient 0.1 diffuse 0.9 }}


#macro Korpus(Hoogte, Breedte, Diepte, WandDikte, AchterwandDikte)
  // vaste maten
  #local constGroefAfstand = 15; // afstand groef voor achterwand tot achterkant
  #local constGroefSpeling = 2;  // ruimte die de achterwand in de groef heeft

  // afgeleide maten
  #local BinnenBreedte = Breedte - (2 * WandDikte);
  #local GroefDiepte = WandDikte / 2;
  #local AchterwandBreedte = BinnenBreedte + WandDikte - (2 *
constGroefSpeling);

  #local Zijde = prism{ // extrusie object
    linear_spline
    linear_sweep
    0, Hoogte,
    9,
    <0,0>, <-WandDikte,0>,
    <-WandDikte, Diepte>, <0,Diepte>,
    <0, Diepte - constGroefAfstand>,
    <-GroefDiepte, Diepte - constGroefAfstand>, <-GroefDiepte, Diepte -
constGroefAfstand - AchterwandDikte>,
    <0, Diepte - constGroefAfstand - AchterwandDikte>, <0, 0>
    sturm
    pigment{rgb 1}
  }

  #local LinkerZijde = object{
   Zijde
   translate<-(BinnenBreedte / 2), 0, 0>
  }

  #local RechterZijde = object{
    Zijde
    scale<-1, 1, 1> // negatieve schaal x is spiegel in yz vlak
    translate<(BinnenBreedte/2), 0, 0>
  }

  #local Bodem = box{
    <-BinnenBreedte/2, 0, 0>, <BinnenBreedte/2, WandDikte, Diepte -
constGroefAfstand - AchterwandDikte>
    pigment{rgb 1}
  }

  #local Bovenkant = object{
    Bodem translate<0, Hoogte - WandDikte, 0>
  }

  #local Achterwand = box{
    <-AchterwandBreedte/2, 0, Diepte - constGroefAfstand - AchterwandDikte>,
<AchterwandBreedte/2, Hoogte, Diepte - constGroefAfstand>
    pigment{rgb 1}
  }

  // echo stuklijst na renderen
  #debug concat("Stuklijst Korpus: ", str(Hoogte,0,1), " x ", str(Breedte,0,1),
" x ", str(Diepte,0,1), " mm\n")
  #debug
"----------------------------------------------------------------------------------------\n"
  #debug concat("Zijkant      2x : ", str(Hoogte,0,1), " x ", str(Diepte,0,1), "
x ", str(WandDikte,0,1), "mm\n")
  #debug concat("Bodem/Top    2x : ", str(BinnenBreedte,0,1), " x ", str(Diepte
- (15 + AchterwandDikte),0,1), " x " ,str(WandDikte,0,1), "mm\n")
  #debug concat("Achterwand   1x : ", str(Hoogte,0,1), " x ",
str(AchterwandBreedte,0,1), " x ", str(AchterwandDikte,0,1), "mm\n")

  union{
    object{LinkerZijde}
    object{RechterZijde}
    object{Bodem}
    object{Bovenkant}
    object{Achterwand}
  }
#end


#declare Hoogte = 600;
#declare Breedte = 300;
#declare Diepte = 250;
#declare WandDikte = 19;
#declare AchterwandDikte = 9;

#declare K = Korpus(Hoogte, Breedte, Diepte, WandDikte, AchterwandDikte)
object{
  K
  rotate <0,-30,0>
}

camera{
  angle 60
  location <Breedte , Hoogte / 2, -Hoogte*2>
  look_at <0, Hoogte/2,0>
}

light_source{
  <3000,1000,-1000>
  rgb 1
  shadowless
}
---%<---%<---


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.