Thank you masterxeon1001, proxe, Chipp and team!
Today we will adding this to the mix:
Did I tell you Blender is free and open source? This is not a beginner tutorial. This is just for me to keep my sanity.
Contains 7 inserts.
Q: “Why can’t I select individual objects from KitOps Inserts in Outliner?”
A: “You need to make sure Auto select is OFF in order to select part of an INSERT (in Outliner)”
Q: “How to specify bool order for KitOps Inserts?”
A: “Bool order is currently based on alphabetical object names. Just name your objects A-Z to match bool order. Best to do naming and parenting of object in the Factory.”
Q: “Parenting is lost as soon as you enter the FACTORY (in some cases.)”
A: “Best to do naming and parenting of object in the Factory.”
Don’t forget to [G] [Z] [-1] and set the origin of the main object (or all objects…) to [0,0,0].
If parenting an animated object, select Parent [Keep Transform].
Using default ‘Create Insert’ with focus on naming and parenting:
Fail safe way of creating an insert:
1. [G] [Z] [-1] early on.
2. Origin to (0,0,0) early on.
3. Hops / BC as normal.
Here’s the thing. Don’t mess with parenting, leave everything as-is. Don’t matter if it falls apart if you move something.
4. Apply scale / rotation on everything.
5. Unhide all (including cutters).
6. Hide what you don’t want in your KitOps insert (either in Outliner or by selecting and pressing [H])
7. Select All in viewport.
8. Hit ‘Create Insert’
Now all you need to do is:
– Select your main object in viewport and tick “main”
– Select each cutter in viewport and set to correct type.
– Select each object and name them A to Z to enforce boolean order.
– Select everything ensuring main object is selected last.
– [CTRL-P] Parent (Keep Transform)
This will parent everything to the main object. Main object has no drivers and no Transformation constraints with origin in (0,0,0). Is always safe to use as parent.
This works every time most of the time :slight_smile: No headaches. Just can’t have radial array empties.
Tip: Cycle the Bevel Profiles for the two Vertex Group Bevels used on the cylinder:
Untick KitOps “Auto Select”, select object, [Q], [B], [SHIFT+P]
Note: KitOps currently does not preserve Empty orientation, even if parented correctly to main object of the insert. Simply apply the Radial Array modifier and remove Empty.
Note: Driver variables with a data path / origin in “Scene” will end up with a value of “Scene.001” when placed as an insert due to how KitOps imports by attaching the .blend file as an additional Scene. Either manually update or run this:
1 2 3 4 5 6 7
for obj in bpy.data.objects: if hasattr(obj.animation_data, 'drivers'): for drv in obj.animation_data.drivers: for variable in drv.driver.variables: for target in variable.targets: if target.id.type == 'SCENE': target.id = bpy.context.scene
Transformation constraint. Use Local space. Translate [pick object] Z rotation min /max to this object’s Z movement min/max.