Query- Grid Spacing Snap & Accuracy

I’m a CAD user and blenders lack of unit understanding outside of blender + it’s poor snap tools frustrates the F–K out of me. I’ve got over the fact, Blenders grid say 1m = 1 Blend Unit means nothing outside of Blender and that such things as DXF imports from various CAD packages don’t import 1:1 with Blender. I’ve got over the limited snapping. But I can’t get my head round snapping to the grid. Here’s an example:

I’ve set my grid at 1.00 unit, I’ve got snap to grid when grabbing, rotating and scaling. So if I create a plane 1unit by 1unit and I grab two nodes and stretch 1 unit to the right WTF does the xyz units thing in the bottom left corner of the screen tell me it’s stretched the plane 1.0010 and not 1.0000.

Why if I make my grid .0001 does the snaps still snap to a grid of 1 unit and not .0001. What’s the point in having a grid that can go down to .0001 say 1mm accuracy but you can’t snap to it?

It’s all very well saying the need for accuracy is not so important with 3D modelling, that if it looks right it’s right but when your trained to be accurate (I’m a CAD user full time), when you need to work model parts up outside of Blender and import them in because Blenders snap / transform tools are weak then it just becomes a F–Kn unproductive nightmare.

This “question” is asked frequently and just as frequently develops into long threads (here and at the development forums at blender.org) that end up going nowhere. I’ll try to sumarize the way I see it:
The target userbase of Blender is low-budget, high-output production quality CG. That immediately excludes big-budget movies and scientific applications. It doesn’t exclude them from using Blender, it just excludes (and maybe exclude is even a little harsh) them from the target as they are free to use the code for their own ends. A group of Italians did just that and began a CAD fork (though they only got as far as a Python script and never a fork):

http://projects.blender.org/projects/blendercad/

The problem with including CAD functions are twofold, 1) if they are added most users would never use them but would be subjected to their rigid workflow and 2) even if there were a switch to turn them on or off all of the existing code would be affected and would possibly need to be rewritten.

I think the present attitude is ‘not in the near future and not in the BF version, but a CAD fork would be welcome.’

%<

I am also primarily an autocad user (civil and structural technologist). I have also noted that cursor to grid snapping doesn’t seem to respect the drawn grid size but snaps to the nearest whole number.

How I have found it easiest to work in blender:

For most of my work my base unit in AutoCad is the mm. (a dist command between two points gives the distance in mm) . I scale my model space by 0.001 before creating my dxf and everything imports perfectly. (1m = 1 blender unit)
Remember that blender has a scene size -1000 to +1000 and if you have larger values things get screwd up.

I set my grid spacing to 0.1 but don’t have snap to grid on. If I wish to move something accurately I use the ctrl and shift-ctrl modifiers allowing easy movement in 0.1 and 0.01 increments (this lets me quickly move the cursor to the approx location and only starts snapping when I press the modifier). If I have to set the exact millimetre I do it with the n-key. I always have the n-key panel open and often have the view properties panel open. This at least lets me quickly manually enter absolute coordinates for transforms or the 3d cursor. Relative transforms I do by ie. “gx 2.367” For places that I wish to snap to often I use an empty to snap to.

I have gotten reasonably efficient with this setup, the main thing that slows me down now is the lack of an offset and trim/extend. It will take a little patience to change your thinking around.

So if I create a plane 1unit by 1unit and I grab two nodes and stretch 1 unit to the right WTF does the xyz units thing in the bottom left corner of the screen tell me it’s stretched the plane 1.0010 and not 1.0000.

I have never experienced this and I have used blender for several years. You realise that the grid zooms as well I hope (the dark grey lines change value as you zoom). If you could send a simple blend file that exhibits this I would be interested in looking at it.

Working straight from plans (not a dxf) you should be able to get to the point that you can accurately model a 4 bedroom 3d house with all exterior and interior walls, stairs, windows and doors etc. in about 8 hours. If you have some pre-made textures and furniture and let it render overnight you should have a nice walkthrough by the next morning.

Hope this helps,
GreyBeard

Greybeard, thanks for your understanding response to my rantish post. I’m going to invest some more time in trying to crack it.

The grid weirdness is on my machine at work, I’ll post it tomorrow.

I’m also pleased there’s a way of working to get more accuracy.

Fligh %, thanks for your response. I guess you more seasoned blender users get tired of seeing posts relating to CAD. Just to put my mention of CAD into perspective. I’m not looking for a BlenderCAD or even want to see CAD functionality in Blender, if I want CAD I’ll use QCAD, AutoCAD etc, it’s the fundemental tools to give accuracy, snapping and importing of CAD geometry that I’d like to see enhanced. Like the way 3D Studio V4 developed snapping and transformation tools that are now seen in 3D Studio Max & Viz.

Anyways thanks both.

The grid weirdness is on my machine at work, I’ll post it tomorrow.

I have a feeling you probably accidentally hit s thinking stretch instead of scale which blender shows as a multiplier.

The most common mistake users make when trying to work to a proper scale with coordinates is the difference in Blender between object and edit mode.

  1. Add a cube
  2. go into object mode
  3. rotate it by say 23 degrees
  4. press the n key and note the rotation values
  5. enter edit mode and select a vertex
  6. press the n key
  7. the coordinates displayed are the unrotated coordinates. This is as though you had an autocad block and the coordinates displayed were the original block coordinates.
  8. go into object mode again and press ctrl-a
  9. press n and note the rotational values are set back to zero.
  10. if you go into edit mode now the vertex coordinates display the correct global values.

The moral is if you are rotating, scaling, moving make sure you do it in edit mode. If you do it in object mode make sure you hit ctrl-a afterwards to apply your transformations. If you follow this your coordinates will always read out correctly in the n-key panel and it will save you a lot of confusion.

GreyBeard

Hi Greybeard

I tried your suggestions. One thing bugged me though and that was all the coords had a trailing .001 on them. Is that usual?

The plane I had in my original post was transformed in edit mode. I hit ‘G’ and grabbed two vertex’s rather than stretching or scaling and moved my mouse right with the result that the plane stretched and snapped to grid but by 1.001 of a unit.

My setup can’t be right.

Thanks

Snapping in blender is with relative coordinates. So if you original vertex is at location 2.367, Holding down the ctrl key will snap to 2.467, 2.567 etc. and holding down the shift and ctrl key will snap to 2.377, 2.387 etc. In other words the length you are changing the edge by snaps at 0.1 and 0.01 increments. Keep the n-key panel open so you can see the true coordinates change interactively.

In the next version you will be able to display the edge lengths interactively but unfortunately that isn’t here yet unless you want to use the bf-blender version which can be unstable.

GreyBeard

GreyBeard

many thanks, once again.

I guess you more seasoned blender users get tired of seeing posts relating to CAD.

Sorry it took so long but, no, I think users from all flavours of GUI’s and their backend are welcome and can give differing perspectives that would help the development of Blender. Unlike Greybeard my first foray into 3D CG was Blender so I have had to look at other programs to figure out the jargon on proposals.

It’s interesting that a year ago and before new users were almost exclusivly new to 3d and occasionally new to CG. Their main problem was getting their head around the UI. Slowly, in the last year, new users have drifted in from other apps and they know exactly what the feature is, how it should work and what they’re going to do with it.

Unfortunately, a lot of these CG savvy newbies don’t hang around long enough to find out why things work the way they do in Blender. As a(n artistic) modeller it really is fast.

%<