2
$\begingroup$

I found that post intressting: Is there any way to replace an object? But I wonder if if it is possible to keep the size? (not scale) of exchanged objects? Or maybe change dimmensions to scale (reset dimmensions to 1x1x1 value and keep sizing by changing scale with simple math - moving value to scale field). Than my problem will be solved, but I have no idea how to do it. Anyone could help?

What I really need: Exemple: I imported 1000 objects (as cylinders) that represents trees - height of a cylinder is a height of a tree, and XY is the crown diameter. I'd like to exchange these cylinders to a LowPoly tree model keeping XY-Z sizes. I know it may strech my input tree a little but I can accept it...

Is there a way to do that? Will be glad for suggestion.

$\endgroup$
3
$\begingroup$

My best try is 3 steps.
Replacing a cube with Suzanne, keeping exact dimensions.

  1. Link Object Data (Ctrl + L > Object Data)
  2. Copy dimensions of the Cube to one Suzanne (it gets slightly distorted)
  3. Select all other monkeys, and copy object scale to them (RMB > Copy all to selected)

Linking Object Data, nothing new here. enter image description here

Copy exact dimensions from Cube to Suzanne. And then copy the scale to the rest.
enter image description here

$\endgroup$
7
  • $\begingroup$ Hi, your solution looks well for a small amount of objects. For me - the main problem is that we are talking about ca. 5000 individuals. $\endgroup$ – JakubPelka_HK Jul 29 '20 at 7:48
  • $\begingroup$ Well, it should work the same no matter the object count. Are you running into any issues? :) $\endgroup$ – Jachym Michal Jul 29 '20 at 8:17
  • $\begingroup$ I am now having custom properties with Z - height value for every object, and R- radius value for every object. I am thinking about creating custom script for transform.resize, but have no idea how to access data from custop properties tab. bpy.ops.transform.scale(value=(R,R,Z), orient type='GLOBAL' etc .... I attach my blend file to show the project (part of it) drive.google.com/file/d/14YYIZERVTDGy6ghfRVYXh6gvjtctI7or/… $\endgroup$ – JakubPelka_HK Jul 29 '20 at 8:32
  • $\begingroup$ Right :). Please post this as a new question (you can link this one to provide context). There are many experts on scripting on this site, and they'll surely help :). $\endgroup$ – Jachym Michal Jul 29 '20 at 8:38
  • 1
    $\begingroup$ new branch over here: blender.stackexchange.com/questions/188193/… $\endgroup$ – JakubPelka_HK Jul 29 '20 at 9:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.