Results 1 to 19 of 19
  1. #1

    Concept for non existing (yet) Easy Units Addon

    Hi Folks,
    Here is my first post and i hope i choose correct category for this thread

    I am in Blender near 3 years I guess, and I get that it is one 3D love till the end of life))
    But one question is always bothering me alot! Units!!
    I hope you will agree with me that in blender it is realised in a bit weird way (For example in sketchup it is implemented much better and more logical)

    Sometimes i need to enter dimensions in millimeter (which is pretty common and necessary thing for architect or engineer) But unfortunately i didn’t find any addon which solve this issue good enough (Default unit system is not quite good as i mentioned)

    I am not programmer, just a common user so unfortunately i can’t evaluate how difficult is to create such addon, so forgive me if my ideas look stupid (but i very hope it has a bit of sense)

    I want to share you of my vision of non existing addon (yet)
    Easy Units Addon
    Here it is!:


    1)We don’t touch default Blender unit system (1 unit =1m, that’s fine)

    2017-06-09 16 51 11.jpg

    We will go by our own way! Custom cheated units (If it possible for sure)
    Here is how it might look:

    Menu.jpg


    1. Menu in T panel (quick access)
    2. Activate/Deactivate custom units
    3. Choose and create your own units (Will be helpful for non standard custom dimensions (π = 3.14159))
    4. Choose and create your own precision (signs after comma)


    So when we activate units and сhoose Millimeters happen this:
    All data we entered divided by 1000 and we get correct size
    For example we need to move one object (vertex) to 2550 mm (which is 2.55 m obviously)
    So we just press G and type 2500 and finally have correct dimension

    Also i hope that you agree with me that default information panel is not very informative, and it takes few seconds some time to find that you type correct data
    So it will be great to create something more simple and more visible (which also will represent our custom units)

    111.jpg
    I don't know if it possible or not to create such addon, but if my idea inspire someone desperate programmer to create this i'll be more than happy, and i am sure a lot of guys
    which have a deal with architecture or something precise will be happy too
    Sorry for my terrible English and thank you for attention.
    Best wishes!
    Last edited by Legofon; 09-Jun-17 at 12:04.



  2. #2
    would be nice if possible with addons
    but also talk with Mauge who is working on an SVN for CAD
    he might already have some idea for these Units things


    any time schedule for this new addons ?

    interesting anyway

    happy bl
    Nice 3D models = 25 % K.I.S.S + 25 % common sense + 25 % Inspiration + 25 % Knowledge
    Win 10 64 bits / Thanks and a Happy 2.77 with Cycles



  3. #3
    Originally Posted by RickyBlender View Post
    would be nice if possible with addons
    but also talk with Mauge who is working on an SVN for CAD
    he might already have some idea for these Units things


    any time schedule for this new addons ?

    interesting anyway

    happy bl
    Hey RickyBlender, Thank you for interest
    Well it might be good idea to contact with him maybe he could at least estimate how difficult/easy will be to create this addon

    No scheduling unfortunately. Just an idea. So now it would be nice to figure out what will be the next step on this way to create this addon



  4. #4
    https://blenderartists.org/forum/sho...71#post3187371

    see thread here and talk with him may be and see if you can help

    we need some other ways to show units for imperial and metric



    happy bl
    Nice 3D models = 25 % K.I.S.S + 25 % common sense + 25 % Inspiration + 25 % Knowledge
    Win 10 64 bits / Thanks and a Happy 2.77 with Cycles



  5. #5
    Member rombout's Avatar
    Join Date
    May 2011
    Location
    Curaçao
    Posts
    977
    I wonder why the current system simply scales the model when unit is changed. They should be able to implement to much better then it currently is.



  6. #6
    Member Okavango's Avatar
    Join Date
    Mar 2013
    Location
    Serbia
    Posts
    286
    This is a perfect topic for Blender and CG Discussions subforum.

    I hope you will agree with me that in blender it is realised in a bit weird way (For example in sketchup it is implemented much better and more logical)
    Couldn't agree with you more.


    I wonder why the current system simply scales the model when unit is changed. They should be able to implement to much better then it currently is.
    Exactly what i was wondering.


    Btw, this is one of the more imortant points i suggested here: https://blenderartists.org/forum/showthread.php?412344-Blender-101-Project-3D-for-Everyone&p=3130682&viewfull=1#post3130682S

    Maybe we could join topics and make them more visible?



  7. #7
    Member
    Join Date
    Jan 2014
    Location
    Catalunya
    Posts
    119
    Originally Posted by rombout View Post
    I wonder why the current system simply scales the model when unit is changed. They should be able to implement to much better then it currently is.
    The model is not scaled, nothing is changed, the numerical part for the unit is the same. So if you have 1 cm edge, and change to inch, you will see 1 inch, which is not a 2.54 cm edge. The Blender Units are the same, so it's something used only for display.

    This is in fact good because affects to precision, so if you fix a blender unit to a dimension, let's say a 1 Blender Unit = 1 m you could have problems if you want to work in large dimensions, or really small dimensions. Blender is limited in this way due to use of float precision for geometry.

    So the best thing here should be to define a unit or units for work, and performs calcs according to scene units, so the values are always stored in scene units, so if you enter 1" and scene units are set to mm, the value stored is 25.4 mm, and displayed as 1", if later changed to cm you will see 2.54



  8. #8
    would be nice to get 16 digits in bl

    did a test here add a cube in metric --> 2 meters
    if you change unit to imperial it will be like 6.2 ft = 2 m

    but did not change with different scale

    and can do the opposite


    happy bl
    Nice 3D models = 25 % K.I.S.S + 25 % common sense + 25 % Inspiration + 25 % Knowledge
    Win 10 64 bits / Thanks and a Happy 2.77 with Cycles



  9. #9
    Member
    Join Date
    Jan 2014
    Location
    Catalunya
    Posts
    119
    When changed the units, the Blender Units always (values of mesh) remain the same, this is good as i've already explained.

    What's happening is that pressets changes the scale of units. What i described works for default presets (mm, inches, and so on). Changing from metric to imperial is "fine" (translated) is the scale is 1, if not you don't get the expected results.



  10. #10
    Originally Posted by mauge View Post
    When changed the units, the Blender Units always (values of mesh) remain the same, this is good as i've already explained.

    What's happening is that pressets changes the scale of units. What i described works for default presets (mm, inches, and so on). Changing from metric to imperial is "fine" (translated) is the scale is 1, if not you don't get the expected results.
    Thank you for involving in this tread
    Ok maybe you're right (even for sure, because you deeply learned this topic than me )
    But please explain why this happen? If i have default cube in the scene 2x2 units and then i switch to Millimeters> Metric. This cube became 2mm x 2mm.

    2017-06-12 11 53 47.jpg

    Also if i import such cube (2x2 unints) mesh in this scene it is also will be 2mm x 2mm. Isn't it weird? Isn't it scaling? On my opinion if i have a cube 2x2 units and i switch to mm i want to achieve value 2000mm x 2000mm and all imported models should safe thair real world proportion. So if i am working in mm and use my achitecture library, imported chair woudn't be less than 1mm high (like now in blender). Isn't it logical?
    If you explain me how to achieve this kind of effect in blender i'll be happy

    111.jpg



  11. #11
    Originally Posted by Okavango View Post
    Maybe we could join topics and make them more visible?
    That would be great. I think if we have more involved people in this topic, more chances it would be implemented in blender, or maybe someone help us to write this addon



  12. #12
    Member
    Join Date
    Sep 2015
    Location
    Canada
    Posts
    93
    Blender is in much need of a better Unit system. I upvote this.

    And why did I upvote? Because I didn't read.

    No upvote after reading...
    Last edited by TeaCrab; 13-Jun-17 at 03:11.



  13. #13
    Member rombout's Avatar
    Join Date
    May 2011
    Location
    Curaçao
    Posts
    977
    Originally Posted by mauge View Post
    The model is not scaled, nothing is changed, the numerical part for the unit is the same. So if you have 1 cm edge, and change to inch, you will see 1 inch, which is not a 2.54 cm edge. The Blender Units are the same, so it's something used only for display.

    This is in fact good because affects to precision, so if you fix a blender unit to a dimension, let's say a 1 Blender Unit = 1 m you could have problems if you want to work in large dimensions, or really small dimensions. Blender is limited in this way due to use of float precision for geometry.

    So the best thing here should be to define a unit or units for work, and performs calcs according to scene units, so the values are always stored in scene units, so if you enter 1" and scene units are set to mm, the value stored is 25.4 mm, and displayed as 1", if later changed to cm you will see 2.54
    Well it does scale, add a standard cube 2x2x2m and then set the dimensions to millimeter. The cube will show 2x2x2mm then in the transform panel.

    It seems when you start from scratch all is fine when the units are changed. But if you got a excisting model and then change, its is scaled (im using 2.78a)
    Last edited by rombout; 12-Jun-17 at 09:34.



  14. #14
    Member
    Join Date
    Jan 2014
    Location
    Catalunya
    Posts
    119
    The logical of blender units is the answer to this question:

    How long is 1 unit in my scene ?

    As pointed rombout this is a setting to be set at the beginning. In this way blender can be used with precision for someone working with the Univers, and other modeling atoms. This is the reason for which if you change the settings the object is "scaled", because what was 1 X now is 1 Y.

    So, this is good, and another setting should be added about how to represent the values maybe as object setting.



  15. #15
    but how about having 16 digits instead of limited to 7
    that might help to keep precision between CAD and Blender !


    happy bl
    Nice 3D models = 25 % K.I.S.S + 25 % common sense + 25 % Inspiration + 25 % Knowledge
    Win 10 64 bits / Thanks and a Happy 2.77 with Cycles



  16. #16
    Member
    Join Date
    Sep 2015
    Location
    Canada
    Posts
    93
    I think the problem is not that Blender doesn't convert the actual length of the object when the scene's scale changes...


    The real problem is that depends on how any author writes a plugin that creates an object... The object created can have an absolute size, or the object can be created at a size relative to the user's work space.

    Even the 'Extra Object' addon, officially adopted by Blender into all blender releases, doesn't do it right.

    I prefer the ones with relative size. And only blender's API can make it consistent once and for all.

    For now I'm just injecting my own scaling/sizing code into all the plugins I use.. and when they update, I have to inject my code into them again if necessary.



  17. #17
    Current system seems quite logical to me. By setting units the precision is set, that's why it's not rescaling the existing objects to new units - in order not to lose data. That's very logical. You can type in whatever units you want if you do it in a property number field. You can type 1m, or 1000mm, or 100cm, or 39.3701in, or 39.3701" and it will automatically input the same! That is just awesome. Of course this could work with all the modal operators... That would be even nicer, but some of them have functionality that requires letters(for example if you press 's' while doing bevel, dragging starts to control number of segments instead of offset) so you cannot type letters while performing an operation with a modal operator like grab. It would be nice if one could type some letter and specify that the following is going to be units, but that would require changing a lot of operators... Even if I needed to use grab for some reason and enter units that I cannot calculate in my mind - say I work in meters and want to move a vertex in z direction of it's normal by 4 inches multiplied by pi, there is quite a convenient way to do so - I can grab it, move it randomly, then press F6, constrain Z axis, choose Normal orientation and enter 4in*pi. That's some functionality even most 'industry standard' software does not have. I'd say - quit complaining.
    Last edited by MartinZ; 13-Jun-17 at 02:37.



  18. #18
    Member
    Join Date
    Jan 2014
    Location
    Catalunya
    Posts
    119
    about number fields, the translation is done in the UI code.

    When entering data, it should be done in operator scope. It should not be so hard to detect extra caracters if a numeric input has been started. If i remeber correctly a is_numeric_input func is called in event loop, so just return true if the character is expected to be a spec, store it, and return the correct value on a get_numeric_input func call. Also a check if you are on 3D view should be done.

    this shoud work fine all places, if not going on paralel procedures doing same thing. At first, Not guaranted to work in addons.

    About introducing formulas, the best thing here should be done enable python eval, as done for eg in drivers. Maybe some key should be introduced first to let the code know that should be considered an eval. Again, could be detected by is_numeric_input func to ensure it works in all places

    the character to naturally specify a num input could be '+' or '-' do not know atm if there is collision with them with default shortcuts.

    ----

    The solution about units, i'm pretty sure the best solution it is to define a unit spec in (each) object, and apply the transform matrix to it according to scene units. by default, this should be set to scene units.

    PD: Functions names could not match the code, they are orientative.



  19. #19
    Member
    Join Date
    Jan 2014
    Location
    Catalunya
    Posts
    119
    I've implemented object units on mechanical blender. Setting the units in object (independent for each one) properties, it translates the scene units to this setting, and of course the input is also in the translated units.

    I've uploaded a video on https://blenderartists.org/forum/sho...=1#post3214395

    The force units option on scene units, was a previous addition to show always the defined unit.



Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •