Author Topic: move object into free area  (Read 1461 times)

0 Members and 1 Guest are viewing this topic.

Amsterdammed

  • Guest
move object into free area
« on: April 25, 2013, 11:36:36 AM »
Hello there,

we have a lot of drawings to convert from 1/50 to 1/100 is plot scale. that is not the problem, but it results in texts end text containing blocks are ending up within other objects and can't be read anymore. i would like to find a way to calculate the movement it takes to clear the space.
when you look at a drawing it is clear to see where to move the text o, but for a program it seems to be more difficult.

Anybody done this before or any ideas?

dgorsman

  • Water Moccasin
  • Posts: 2437
Re: move object into free area
« Reply #1 on: April 25, 2013, 12:08:47 PM »
ISOGEN, which generates piping isometric drawings from models, does something similar when creating drawings.  The results are less than spectacular, since its difficult for a computer to determine "what looks good".

In most cases it involves creating boundary boxes (physical or mathematical) around no-go areas and similar boundaries around objects to be moved or placed.  Then its a matter of getting the latter so they don't overlap the former.  Its not uncommon to see basic AI being used in the form of rules-based expert systems and/or genetic algorithms to reduce the processing involved.
If you are going to fly by the seat of your pants, expect friction burns.

try {GreatPower;}
   catch (notResponsible)
      {NextTime(PlanAhead);}
   finally
      {MasterBasics;}

Amsterdammed

  • Guest
Re: move object into free area
« Reply #2 on: April 25, 2013, 12:12:41 PM »
yes, bounding boxes, but they don't work to good if the object is rotated under 45 deg or so, but that is the smallest problem of it. i look into bounding boxes i just hoped somebody here did this already.....



dgorsman

  • Water Moccasin
  • Posts: 2437
Re: move object into free area
« Reply #3 on: April 25, 2013, 12:19:56 PM »
Maybe have a look for nesting programs for fabrication as well.  Not precisely the task at hand, but the process is the same.
If you are going to fly by the seat of your pants, expect friction burns.

try {GreatPower;}
   catch (notResponsible)
      {NextTime(PlanAhead);}
   finally
      {MasterBasics;}