Feat. Req: Automatically measure all walls

This topic has been viewed 5514 times and has 2 replies
Thread status: Active
Features you would like to see [img]http://www.sweethome3d.com/images/flags/en_small.gif[/img]
Post Reply New Topic
Olaf_Noehring
Posts: 6
Joined: Fri May 15, 2009 8:57 pm

Feat. Req: Automatically measure all walls

Post by Olaf_Noehring »

Hi

I have used Roomarranger in the past. A great feature there is to automatically measure all walls - saves a lot of work.

Olaf




[Note: this thread was started on sourceforge.net forums]
c_sanz
Posts: 2
Joined: Mon Apr 13, 2009 10:52 am

Re: Feat. Req: Automatically measure all wall

Post by c_sanz »

Hi,

The tool "Create dimensions" has no dependence on an object, dimensions are totally free, so therefore the magnetism of these does not work on the walls.

This function is not provided in the near future.

Greeting,


Christian.
mark
Posts: 1
Joined: Sun May 17, 2009 9:54 am

Re: Feat. Req: Automatically measure all walls

Post by mark »

Hi,

If "measure" means something like total length of all walls or area wouldn't it be pretty easy to make a plugin and then just run from the menu ? i.e. like volumeplugin.

Something like ....

VolumnePlugin.java

Code: Select all

public void execute() { 
  float volumeInCm3 = 0; 
  double  wallLength = 0; 
  double totalWallLength = 0; 
  StringBuffer wallDimensionsMsg = new StringBuffer(); 
 
  for (Wall wall : getHome().getWalls()){ 
    if (wall.getXStart() == wall.getXEnd()) { 
      wallLength = wall.getYStart() - wall.getYEnd(); 
    } else if (wall.getYStart() == wall.getYEnd()){ 
      wallLength = wall.getXStart() - wall.getXEnd(); 
    } else { 
      wallLength = Math.sqrt(Math.pow((wall.getXEnd()-wall.getXStart()),2) 
          + (Math.pow((wall.getYEnd() - wall.getYStart()),2))); 
  } 
       
  // get rid of negative values 
  wallLength = ((wallLength < 0 ? -wallLength : wallLength)); 
  totalWallLength+=wallLength; 
  wallDimensionsMsg.append("Wall: length " + wallLength + "\n"); 

  wallDimensionsMsg.append(String.format("  Total wall length = %.2f cm", totalWallLength)); 
  JOptionPane.showMessageDialog(null, wallDimensionsMsg); 
}
......

Output would be " Total wall length = 1455.00 cm"

Excuse me if I got the wrong end of the stick :)

ta
mark



Post Reply New Topic

Who is online

Users browsing this forum: No registered users and 1 guest