Jump to content

3D design application ?


cimo
 Share

Recommended Posts

..since i have all this spare time and i would like to spend some more time in front of the computer i decided i want to give a go to 3D designing

tell me tell me what program do you use? my preferences go for multiplatform applications for Mac and Linux and it s got to be free

thanks

simone

Link to comment
Share on other sites

There are a couple free programs I've used.  For just modeling, Wings3D is pretty handy...

http://www.wings3d.com

Blender is The Big One  ;) - lots of people have used Blender for both 3D stills and animation...

http://www.blender.org

I personally find Sketch-Up to be infuriating!  It's great for very simple stuff, but when you start to build complex shapes, you'll rapidly run into limitations...

While GUI-based apps are nice for a lot of things, I find them slow for doing mechanical design - things like control panels that have evenly spaced rows and columns.  For my MIDIbox designs, I've been typing in my own "scene" files and rendering them with POV.  You can see a couple of my POV renders at http://www.analognotes.com/mbmatrixseq and http://www.analognotes.com/mb9090 - those pictures were generated with relatively simple text files.  I created a file for the front panel, one for the case, and another for the meter bridge and then included them in a master file for rendering.  (If you compare the two different projects, you can see that the meter bridge is the same - it's the same file...)

http://www.povray.org

Doug

Link to comment
Share on other sites

Ive been using Blender for quite a few years now, and i love it. mind you some people have complained about its lack of CAD capabilities on the blender user forums, and some people say it has a step learning curve, but i had no problem picking it up,

Link to comment
Share on other sites

Nice! so much feedback tx

I am not so interested in having a nice design to show to anybody (not yet at least) i am interested in 3D designing just for the mechanical construction of the boxes.

I always did it rendering the 3 axis separately see http://www.midibox.org/forum/index.php/topic,9617.msg85079.html#msg85079

for example.

I would choose Sketchup then cause it seems to be an easy tool to start with.

On the other side Povray is completely multiplatform.

I quickly looked up for ray tracing and got this:

is a general technique from geometrical optics of modeling the path taken by light by following rays of light as they interact with optical surfaces. It is used in the design of optical systems, such as camera lenses, microscopes, telescopes and binoculars. The term is also applied to mean a specific rendering algorithmic approach in 3D computer graphics, where mathematically-modelled visualisations of programmed scenes are produced using a technique which follows rays from the eyepoint outward, rather than originating at the light sources. It produces results similar to ray casting and scanline rendering, but facilitates more advanced optical effects, such as accurate simulations of reflection and refraction, and is still efficient enough to frequently be of practical use when such high quality output is sought. Ray tracing may also be applied in other areas of science and engineering, such as in the calculation of radio signal paths.

so am i asking: is it worth climbing the steep learning curve of povray if i just need some basic designs ?

what is the main difference between the 2 programs ?

i ve also targeted http://www.blender.org/ and it s also multiplatform and open source.

simone

Link to comment
Share on other sites

Nice! so much feedback tx

Gotta do something to earn my bankstick boards...  ;)

so am i asking: is it worth climbing the steep learning curve of povray if i just need some basic designs ?

what is the main difference between the 2 programs ?

Wings, Blender and Sketchup are all GUI-based programs - you'll use the mouse and do a lot of clicking and dragging.  POV-ray is a rendering engine, meaning that you have to create an input (the "scene" file) and process it.  It's similar to writing a computer program.  I personally don't think there was very steep learning curve with povray, but I am a programmer...  ;D

Below, I have quoted an example of a POV scene file that describes a panel with two columns of knobs.  It was one of the first scene files I wrote.  As you can see, I have made some macros at the top, while "hard coding" some other things - knob color for example.  (My later scene files are more consistent, but I thought this file would give you a better idea of different ways to work.)  It is easy to make many layers of macros, and you can include other files with other programs in them.  Having macros makes it easy to change things - for example, with this file, if I want to change the horizontal location of the entire left column of buttons, all I have to do is change the one definition of "LeftCol" and render again.  You can also do quick renders at low resolution and then make a final render at high resolution while getting a beverage...  8)

I left in several camera definitions - to "take a picture" of your object from different locations, you specify the <x, y, z> location of the camera, and the <x, y, z> location that it points at.  There are also several light definitions - lights are considered to be points that shine in every direction.  You can add as many lights as you want, but each one adds a bit more rendering time...

One thing to remember about POV (and other 3D programs) is that measurements are relative and arbitrary - that is, a box with the size of "1" is not 1mm or 1 meter or 1 mile - it is merely "1" and is half the size of something with the size "2"...

Doug

////////////////////////////////////////////////////////////////////////
#include "colors.inc" 

// Customizations:
#declare PanelColor = Red;
#declare LEDColor = Red;
#declare CaseColor = White;
#declare MeterBridgeAngle = 10*x;

#declare Row1 = 11;
#declare Row2 = 10.25;
#declare Row3 = 9.5;
#declare Row4 = 8.75;
#declare Row5 = 8;
#declare Row6 = 7.25;
#declare Row7 = 6.5;
#declare Row8 = 5.75;
#declare Row9 = 5;
#declare Row10 = 4.25;
#declare Row11 = 3.5;
#declare Row12 = 2.75;

#declare GPButtons = 2.5;
#declare MenuButtons = 1.50;
#declare KnobHeight = .5;
#declare ButtonHeight = .2;
#declare WheelHeight = .25;
#declare LeftCol = 1;
#declare RightCol = 2;

#declare MainPanel = union {

  box {
    < 0, 0, 0 >,
    < 3, .1, 12.25>
    texture {
      pigment { color PanelColor }
    }
  }

  // knobs
  // left column
  cylinder { 
  <LeftCol, 0, Row1>, 
  <LeftCol, KnobHeight, Row1>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <LeftCol, 0, Row2>, 
  <LeftCol, KnobHeight, Row2>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <LeftCol, 0, Row3>, 
  <LeftCol, KnobHeight, Row3>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <LeftCol, 0, Row4>, 
  <LeftCol, KnobHeight, Row4>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <LeftCol, 0, Row5>, 
  <LeftCol, KnobHeight, Row5>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <LeftCol, 0, Row6>, 
  <LeftCol, KnobHeight, Row6>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <LeftCol, 0, Row7>, 
  <LeftCol, KnobHeight, Row7>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <LeftCol, 0, Row8>, 
  <LeftCol, KnobHeight, Row8>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <LeftCol, 0, Row9>, 
  <LeftCol, KnobHeight, Row9>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <LeftCol, 0, Row10>, 
  <LeftCol, KnobHeight, Row10>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <LeftCol, 0, Row11>, 
  <LeftCol, KnobHeight, Row11>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <LeftCol, 0, Row12>, 
  <LeftCol, KnobHeight, Row12>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 

  //right column
  cylinder { 
  <RightCol, 0, Row1>, 
  <RightCol, KnobHeight, Row1>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <RightCol, 0, Row3>, 
  <RightCol, KnobHeight, Row3>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <RightCol, 0, Row5>, 
  <RightCol, KnobHeight, Row5>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <RightCol, 0, Row7>, 
  <RightCol, KnobHeight, Row7>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <RightCol, 0, Row9>, 
  <RightCol, KnobHeight, Row9>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 
  cylinder { 
  <RightCol, 0, Row11>, 
  <RightCol, KnobHeight, Row11>, 
  .2
  texture { 
   pigment { color Black } 
  } 
  } 

}  

////////////////////////////////////////////////////////////////////////
camera { 
// left front
//location <0, 1, -5>
// middle front
location <8.5, 6, -20>
// right front
//location <17, 3, -5> 
// behind
//location <18, 6, 35>

// right side
//location <28, 4.75, 4>
//location <28, 4.75, 2> 
//location <28, 0, 0> 
//location <34, 6, 11.75> 
// Web view
//location <25, 15, -13> 

// left side
//look_at  <0, 1, 5> 
// front
//look_at <8.5, 0, 0>
// right side
//look_at  <17, 1, 5> 

// middle
look_at  <8.5, 5.75, 4> 

} 
////////////////////////////////////////////////////////////////////////
light_source { < 17,  4,   4> color White } 
light_source { < 27,  4,   0> color White } 
// left
light_source { < 0,  10,   2> color White } 
// right
light_source { < 20,  10,   2> color White } 
// center above
light_source { <  8.5, 10,  5> color White } 
// low in front
light_source { <  8.5,  1, -20> color White } 
// back light
light_source { <  20,  20, 40> color White } 

////////////////////////////////////////////////////////////////////////
// "sky"
background { color Cyan } 
// "ground"
plane { <0, 1, 0>, -1 
  pigment { 
    checker color Black, color Green
  } 
}

//////////////////////////////////////////////////////////////////////// 


object { MainPanel
  rotate < -90, 0, 0 >
//  translate <0, 0, -1.5>

 }

Link to comment
Share on other sites

One thing to remember about POV (and other 3D programs) is that measurements are relative and arbitrary - that is, a box with the size of "1" is not 1mm or 1 meter or 1 mile - it is merely "1" and is half the size of something with the size "2"...

what then when i need to get a 2D render of a panel to be sent to the cnc guy ?

Link to comment
Share on other sites

Blender's the biggest and (probably) most popular free 3D app, but the user interface sits somewhere between the cockpit of a 747 and a space shuttle, complexity-wise.

My preferred 3D app is 3D Studio Max, but that's about as far from free as it's posible to be - I'm lucky in that I got an educational licence from when I was at university and "forgot" to uninstall it when I left there. Hmmm, must get around to that one day.

Link to comment
Share on other sites

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...