Non-Destructive Primitives Add-on v0.2.4

There should be a new update out later today :slight_smile: Only some smaller stuff to fix now.

Sorry for taking a bit longer then expected, this update grow bigger than anticipated.

2 Likes

And its finally out! Thank you all for the very enthusiastic feedback so far! :slight_smile:

New in ND Primitives 0.2.3

New Primitivs:

Adaptive Resolution Option:
Adapt

New settings:

New operation parameters:

  • Align
  • Location
  • Rotation
    image

The Cone can now get a flat cap

The Spiral now has a option for capping the ends with either a ngon or triangulating it:

Now the latest version of the primitive get added if a older version already exists in the scene.

Many small fixes and bugfixes

10 Likes

firework

  1. There is an issue with the plane primitive dial gizmos for individual axis adjustment ā€” they are relative to the 3D view scale.
    Sometimes the issue appears, and other times everything works fine. Iā€™m not sure why.
  1. The circle primitive dial gizmo also has a similar issue with 3D view dependency. It might be better to have a constant size for the gizmo, especially when it is tangent to the edges of a circle built with 4 vertices. This would allow me to visually see the divisions happening. As more turns are made, the inner dial gizmo fills with white color more intensely until it becomes opaque.
  1. I have an idea: could custom default settings be added for each primitive in the settings? For example, when creating a spiral, the primitive on the left side of the 3D viewport represents the default settings, while the one on the right side is my modified version with approximately even quads and an n-gon cap. I would like the ability to save my modified version as the default settings for that specific primitive. This would eliminate the need to manually adjust settings every time I create a new primitive. The idea is similar to the persona feature available in the nSolve add-on.

  1. Even quad topology could be offered as an option for the main shape of primitive bodies, ensuring the quads remain even when scaling. This could also be extended to the caps, although Iā€™m not certain if itā€™s essential ā€” let it be optional. A single checkbox might suffice to toggle this feature, similar to the cube behavior. Additionally, a gizmo for manual body division is needed, as it is currently only accessible from the modifiers panel. Such a gizmo, as an example, is available on the cylinder primitive.
  1. The cylinder primitive, and also capsule primitives, could have an option to generate even quad topology along the Z-axis.
    P.S. At the end of the video, I noticed an issue with the cubeā€™s adaptive resolution ā€” it collapses into a single point. Tested in Blender version 4.3.2.
  1. After restarting Blender, the adaptive resolution seems to work fine.
    However, I noticed an issue when manually creating divisions and then enabling the checkbox for even divisions. It seems to subdivide the mesh as though a subdivision modifier is applied, possibly twice. It would be better to prevent this additional division.
    Additionally, when I turn off auto even divisions, scale the cube (e.g., on the Z axis), and then re-enable the checkbox for even divisions, the mesh does not recalculate properly. As a result, the polygons remain rectangles instead of becoming squares. The recalculations of the mesh should also account for the manual step divisions. Additionally, after unchecking the checkbox for adaptive resolution, the mesh should remain the same as it was when adaptive resolution was enabled.
  1. For the plane, add an additional arrow to scale it in both the X and Y directions.

  1. Additionally, there should be an option to create the primitive at the 0 value of the Z axis, so the origin of the primitive is set to the bottom of the mass for every primitive.

3 Likes

Fantastic updates! So many excellent QOL fixes! Thank you for the hard work you are putting into this!

A couple notes as I played with it this morning:

  1. I added a cube to test adaptive resolution. Clicking the adaptive resolution toggle causes the cube to disappear for me. *Also happens to grid. This is after a Blender restart after the addon update.


  1. I love that you can manually change the pivot/origin location. Snap origin to bottom doesnā€™t workā€¦ so it would be nice if there was something like ā€œorigin to bottomā€ toggle.

I note that the cone origin is at the bottom by default. This is great. However, it is inconsistent with other primitives ā€“ so it would be great to have consistency.

Additionally, after making manual changes to the objectā€™s origin, the object still scales from its default origin (and not the new one). This seems like it might be tricky to implement (I donā€™t know), but snapping an origin to the bottom of an object and having transforms originate from there would be a good option to have (although, ideally, itā€™d be great to be able to move the origin anywhere and have transforms work from there).

Windows 11
Blender 4.3.2

3 Likes

Weird, will look into both.

While technically duable, I can not think if any easy way to currently do it that would not require a lot of work, its easier to either set better deafults by the start, or just do it yourself, the add-on includes the .blend file with all the primitvs :slight_smile:

Are there any deafults that should be changde besides the Spiral?

[quote="Bliaender, post:

Yes, should for sure be added! :slight_smile:

Would be a nice option, did not add due to lack of time for now.

While idealy it should alwayse be perfect squares, I do not know how to do that yet in geomtry nodes, will look into it when I get time.

Makes sense! :slight_smile:

Yes, would be cool!

Thanks for the feedback! :slight_smile:

2 Likes

Thank you! :slight_smile:

The cube it too small, thats why it disappears, try setting it to 1m. I will look into a fix :slight_smile:

Yes! 100% Will look into it :slight_smile:

Oh! agree!

Weird, do you have a .blend file I could test with? Scaling with a new custom origin works fine for me, but there are perhaps edge cases.

Setting custom pivots in Geomtry nodes for primitvs is not supported at all by deafult. So I needed to do some hacks to make it work, location and scaling should be supported, but rotation is not, since it got too complicated for my brain :grin:

1 Like

New smaller update v0.2.35

New Feature:

  • Pivot at Bottom option
    Pivot at Bottom

And many minor fixes

Edit - I guess it should say ā€œOrigin at Bottomā€ instead to be more correct, to late now :laughing:

3 Likes

I might miss somethin. Is there a way to get flat shading as default?
thanks.

1 Like

If possible, it would be great to add a checkbox in the add-on settings to automatically create all primitives with the pivot point set to the bottom.

Yeah, Iā€™m definitely of the opinion that the User Preferences should have a section for allowing the user to change each modifierā€™s default values. Adding preferences selectively and on a case-by-case basis is probably more work and or tech debt in the long run.

@Dangry could properties like Pivot at Bottom be appended to the return menu? It is unlikely for me to have the modifier panel open at all times.

1 Like

can you also add a pivot at the corners? useful for cubes though

Exactly. The pivot point checkbox could also be duplicated in the popup settings that appear in the bottom-left corner.

I donā€™t understand why the relative scale in the popup settings differs from the values in the modifier section for Size XYZ. I have an idea: all adjustable values from the geometry modifier should also be exposed in the popup settings. Instead of relative scale, it should display Size XYZ.
Additionally, there could be a single slider to adjust all XYZ axes simultaneously for more convenient scaling.

Additionally, division values for XYZ, Pivot at Bottom, and Adaptive Resolution should be included. Align, Location XYZ, and Rotation XYZ can remain as they are. Iā€™m not entirely sure if the Manage section could also be added to the popup settings, but it might be worth considering.

There is currently no way withoute either a autosmooth modifier, go into the node tree for the primitve, or applying the modifier.

It would however make sense to have the option, where would you expect to see it? And should it only be flat and smooth, or also auto smooth? Should the auto smooth be a modifier or just in the primitve tree?

What primitivs needs the option the most?

I can look into it :slight_smile: Not sure if it doable, but I give it a try.

1 Like

I will look into this, but I am currently not 100% sure how it would be implemnted on a techinical level.

I will look into it, otherwise the modifier panel is switched to automaticly by the add-on every time a primitive is added.

Are there other primitvs other than cube that woulde benifit from it?

Do you have any idea of how it would work ui wise? For example, a Enum for all 8 corners would not have a good preview at what corner the user is picking. Any other add-ons that does this well? :slight_smile:

Edit - or is it just one of the corners of the cube? With no other options like in this add-on? https://extensions.blender.org/add-ons/add-positive-cube/

1 Like

yeah exactly simply like that addonā€¦

1 Like

Auto-Scaled Objects Options : Objects are automatically scaled relative to the current view in the 3D viewport, ensuring they are neither too big nor too small by default.
Auto Scale 4

If you whant more exact control, uncheck the auto scale option:
image
There is also a prefrence to make it not deafult.

I would also like that, but it hard to add on a techical level, since all the diffrent primitvs handle scale completly diffrently.

Uncheck auto scale for this.

I tried many times to add it, but it seems impossible, without painfully hardcoding everthing, making it very prone to errors. I might add Pivot at Bottom if possiable, but adding more props increases risk of erros and problems

Blender operations do not support dynamicly adding new properties after registration, so since all the primitivs have so diffrent values, you can now know them before the operation has been registed.

So the only way to get them is after the oepration has been invoked and the node gruope exists in the scene, but then blender just crashes if you add any of the modifier properties to the operation draw.

2 Likes